找不到JBoss 6 DataSource JNDI

时间:2011-10-14 09:23:38

标签: jboss datasource jndi

我正在尝试在JBoss 6上部署.war文件,并且我已经创建了我想要使用JNDI访问的MySql数据源。

我的配置看起来像这样:

myDB-mysql-ds.xml

中的

jndi-name : MyDataSource
in jboss-web.xml
res-ref-name : jdbc/MyDataSource
res-type : javax.sql.DataSource
jndi-name : java:/MyDataSource
applicationContext.xml

中的

property name="jndiName"
& its value : java:comp/env/jdbc/MyDataSource

当我部署这个war文件时,它会绑定到MyDatasource,如

INFO  [ConnectionFactoryBindingService] Bound ConnectionManager 'jboss.jca:service=DataSourceBinding,name=MyDataSource' to JNDI name 'java:MyDataSource'

但我仍然收到错误:

ERROR [[/AppName]] Exception sending context initialized event to listener instance of class org.springframework.web.context.ContextLoaderListener: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in ServletContext resource [/WEB-INF/applicationContext.xml]: Invocation of init method failed; nested exception is javax.naming.NameNotFoundException: JNDI object with [java:comp/env/jdbc/MyDataSource] not found: JNDI implementation returned null

1 个答案:

答案 0 :(得分:1)

这是因为你以错误的方式访问它。您应该执行以下操作,

<use-java-context>false</use-java-context>

然后通过其JNDI name访问它。