2010-12-16 8 views
0

Ich habe eine J2EE-Anwendung, die Spring 3.0 + neueste Version von Hibernate (3.6) verwendet, und ich möchte es auf JBoss 6 CR1 bereitstellen.jndi datasource bei der Bereitstellung von Spring3 + Hibernate J2EE-Anwendung zu JBoss 6

Aber ich stieß auf eine Ausnahme, die besagt, dass die Datenquelle nicht gefunden wird, wenn ich die Anwendung bereitgestellt habe.

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 

ich die JMX-Konsole von JBoss Application Server überprüft haben und die Datenquelle ich im Frühjahr erklärt ist unter Java-Namespace.

delcared ich die Datenquelle in meiner Anwendung-context.xml als

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

In persistence.xml Datei, die ich erklärte:

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

Eine Datenquelle mit einem Namen ThisIsMyDataSource im deploy Ordner mit dem Namen von/jboss/server/default/deploy

Es sieht so aus, als ob meine Anwendung versucht, nach der Bean für javax.sql.datasource zu suchen, um in einige andere Klassen const Rektoren und fehlgeschlagen.

Weiß jemand, wie man das löst?

Antwort

0

Es scheint wie ein Tippfehler. Können Sie mit

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

versuchen statt

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