私はSpring 3.0 +最新バージョンのHibernate(3.6)を使用するJ2EEアプリケーションを持っており、JBoss 6 CR1にデプロイします。spring3 + hibernate J2EEアプリケーションをJBoss 6にデプロイするときにjndiデータソースを見つけることができません
しかし、アプリケーションをデプロイしたときにデータソースが見つからないという例外が出てきました。
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 Application ServerのJMXコンソールをチェックしました。私がSpringで宣言したデータソースはjava名前空間の下にあります。
私は宣言のpersistence.xmlファイルで
<jee:jndi-lookup id="dataSource" jndi-name="java:ThisIsMyDataSource"/>
としての私のアプリケーションのcontext.xmlでデータソースをdelcared:
<persistence-unit name="persistenceUnit" transaction-type="JTA">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<jta-data-source>java:/ThisIsMyDataSource</jta-data-source>
</persistence-unit>
ThisIsMyDataSourceと呼ばれる名前のデータソースがデプロイフォルダにあります/ jboss/server/default/deploy
私のアプリケーションがjavax.sql.datasource用のBeanを探していたようですが、他のクラスのconstにautowireするようですructorsと失敗しました。
誰でもこれを解決する方法を知っていますか?