robbin
2003-09-11 11:45
你看看我那个在Weblogic上配置Hibernate帖子最下面的分析好吧。

tuskrabbit
2003-09-11 14:35
感谢robbin详尽的分析。

我参考Weblogic下的代码:

private static void doBind( ) throws Exception

{

Properties environment = null;

InitialContext context = null;

try

{

//Properties for storing JNDI configuration information

environment = new Properties( );

//Add initial context factory

environment.put( Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");

environment.put( Context.PROVIDER_URL, URL );

log( "Constructing an Initial Directory Context object" );

context = new InitialContext( environment );

Configuration conf = new Configuration().addClass(Cat.class);

SessionFactory factory = conf.buildSessionFactory();

if (factory == null)

throw new Exception("SessionFactory cannot be built?!");

try

{

if( context.lookup(SESSION_FACTORY_JNDI ) != null )

context.rebind(SESSION_FACTORY_JNDI, factory );

else

context.bind(SESSION_FACTORY_JNDI, factory );

}

catch ( NamingException nameEx )

{

context.bind(SESSION_FACTORY_JNDI, factory );

}

}

可是我跟踪发现,程序执行到SessionFactory factory = ds.buildSessionFactory(); 就已经抛出上述的异常。即找不到数据源quickstart。在Hibernate的站点上Govin提供的例子里

Datastore ds = Hibernate.createDatastore();

的Datastore是否是老版本的实现?2.01版本里没有该类。

tuskrabbit
2003-09-11 15:57
这个问题比较土。我自己搞定吧。

robbin是正确的,找不到datasource是因为我在配置文件里的datasource的JNDI后面搞了一个空格!!

robbin
2003-09-11 16:55
其实这个问题也不能算土,因为我也碰到过,因为配置文件后面的空格导致找不到错误原因。这算是一个很好的troubleshooting的例子。

不过我在UltraEdit的时候就可以避免该问题的发生,因为UltraEdit有一项功能会在你保存文件的时候自动截掉行尾的空格。

猜你喜欢
2Go 上一页 1 2