2010-12-16 2 views
0

У меня есть приложение J2EE, которое использует Spring 3.0 + последнюю версию Hibernate (3.6), и я хочу развернуть его на JBoss 6 CR1.Невозможно найти источник данных jndi при развертывании приложения Spring2 + hibernate J2EE для JBoss 6

Но я натолкнулся на исключение, заявив, что источник данных не найден, когда я развернул приложение.

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 

Я проверил консоль JMX на JBoss Application Server, и я объявил источник данных в Spring под 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

Похоже, что мое приложение пыталось найти компонент для javax.sql.datasource для autowire в некоторые другие классы 'const ructors и не удалось.

Кто-нибудь знает, как это решить?

ответ

0

Кажется, опечатка. Вы можете попробовать с

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

вместо

<jee:jndi-lookup id="dataSource" jndi-name="java:ThisIsMyDataSource"/> 
Смежные вопросы