2010-12-16 71 views
0

我有一个使用Spring 3.0 +最新版本的Hibernate(3.6)的J2EE应用程序,我想将它部署到JBoss 6 CR1上。在将spring3 + hibernate J2EE应用程序部署到JBoss 6时找不到jndi datasource

但我遇到了一个异常,说明在部署应用程序时未找到数据源。

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No matching bean of type [javax.sql.DataSource] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {} 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.raiseNoSuchBeanDefinitionException(DefaultListableBeanFactory.java:920) [:3.0.5.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:789) [:3.0.5.RELEASE] 
at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:703) [:3.0.5.RELEASE] 
at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.java:795) [:3.0.5.RELEASE] 
at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:723) [:3.0.5.RELEASE] 
... 159 more 

我已经检查了JBoss应用服务器和我在春天宣布的数据源的JMX控制台下java的命名空间。

我delcared在我的应用程序的context.xml数据源作为

<jee:jndi-lookup id="dataSource" jndi-name="java:ThisIsMyDataSource"/> 

在我宣布persistence.xml文件:

<persistence-unit name="persistenceUnit" transaction-type="JTA"> 
     <provider>org.hibernate.ejb.HibernatePersistence</provider> 
     <jta-data-source>java:/ThisIsMyDataSource</jta-data-source> 
</persistence-unit> 

一个叫ThisIsMyDataSource名称的数据源是在部署文件夹of/jboss/server/default/deploy

它看起来像我的应用程序试图寻找bean的javax.sql.datasource自动装入其他类的const结构和失败。

有谁知道如何解决这个问题?

回答

0

这似乎是一个错字。你可以尝试用

<jee:jndi-lookup id="dataSource" jndi-name="java:/ThisIsMyDataSource"/> 

,而不是

<jee:jndi-lookup id="dataSource" jndi-name="java:ThisIsMyDataSource"/> 
相关问题