我试图在我的JBoss上运行的应用程序中使用JNDI绑定到数据库的连接 . 我做了以下事情:
我创建了数据源文件 oracle-ds.xml 用相关的xml元素填充它:
bilby JNDI名称>
...
本地-TX-数据源>
数据源>
并将其放在文件夹\ server \ default \ deploy中
添加了相关的oracle jar文件
比我执行的应用程序:
JndiObjectFactoryBean factory = new JndiObjectFactoryBean(); factory.setJndiName( “bilby”);
尝试{
factory.afterPropertiesSet();
dataSource = factory.getObject();
}
catch(NamingException ne){
ne.printStackTrace();
}
这会导致错误:
javax.naming.NameNotFoundException:bilby没有绑定
然后在输出 after this error occured 我看到了这条线:
18:37:56,560 INFO [ConnectionFactoryBindingService]绑定ConnectionManager'jb oss.jca:service = DataSourceBinding,name = bilby'到JNDI名称'java:bilby'
那么我的配置问题是什么?我认为可能是JBoss首先加载并运行我的应用程序的.war文件,然后才加载包含我的数据源定义的oracle-ds.xml . 问题是它们都位于同一个文件夹中 . 有没有办法定义加载它们的优先级,或者这可能根本不是问题 .
任何的想法?