Hi,
aktuell wird bei uns im Projekt die dataSource wie folgt in der 'applicationContext.xml' definiert:
Die Platzhalter bekommen die Werte von folgendem .properties File:
Weitere, eventuell relevante, Stellen in der 'applicationContext.xml':
[XML]<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="xxxx" />
<property name="dataSource" ref="dataSource" />
<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml"/>
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="databasePlatform"
value="org.hibernate.dialect.SQLServerDialect" />
<property name="showSql" value="false" />
<property name="generateDdl" value="false" />
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
<property name="dataSource" ref="dataSource" />
</bean>[/XML]
So nun hätte ich versucht die obige dataSource Definition durch folgende zu ersetzen (2 Varianten welche mir den gleichen Fehler liefern):
[XML]<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/myDataSource"
expected-type="javax.sql.DataSource" resource-ref="false">
</jee:jndi-lookup>[/XML]
[XML] <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:jboss/datasources/wtb" />
</bean> [/XML]
Und so sieht die Exception im server.log aus:
Also simmt eine meiner beiden dataSource Definitionen? Wo muss ich die Driverclass definieren (bei der zu ersetzenden dataSource gibts ja hierfür extra ein Property 'driverClass')? Muss ich eventuell das Driver .jar irgendwo (am besten in ein /lib) am Server legen?
aktuell wird bei uns im Projekt die dataSource wie folgt in der 'applicationContext.xml' definiert:
Java:
<bean id="dataSource" class="com.mchange.v2.c3p0.ComboPooledDataSource"
destroy-method="close">
<property name="driverClass" value="${database.driverClassName}" />
<property name="jdbcUrl" value="${database.url}" />
<property name="user" value="${database.username}" />
<property name="password" value="${database.password}" />
<property name="minPoolSize" value="5" />
<property name="maxPoolSize" value="50" />
<property name="initialPoolSize" value="10" />
<property name="checkoutTimeout" value="0" />
<property name="maxStatements" value="50" />
<property name="maxIdleTime" value="300" />
</bean>
Die Platzhalter bekommen die Werte von folgendem .properties File:
Code:
database.driverClassName=net.sourceforge.jtds.jdbc.Driver
database.url=jdbc:jtds:sqlserver://xxx:xxx/
database.username=username
database.password=pwd
Weitere, eventuell relevante, Stellen in der 'applicationContext.xml':
[XML]<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="xxxx" />
<property name="dataSource" ref="dataSource" />
<property name="persistenceXmlLocation" value="classpath*:META-INF/persistence.xml"/>
<property name="jpaVendorAdapter">
<bean
class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="databasePlatform"
value="org.hibernate.dialect.SQLServerDialect" />
<property name="showSql" value="false" />
<property name="generateDdl" value="false" />
</bean>
</property>
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
<property name="dataSource" ref="dataSource" />
</bean>[/XML]
So nun hätte ich versucht die obige dataSource Definition durch folgende zu ersetzen (2 Varianten welche mir den gleichen Fehler liefern):
[XML]<jee:jndi-lookup id="dataSource" jndi-name="java:jboss/datasources/myDataSource"
expected-type="javax.sql.DataSource" resource-ref="false">
</jee:jndi-lookup>[/XML]
[XML] <bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="java:jboss/datasources/wtb" />
</bean> [/XML]
Und so sieht die Exception im server.log aus:
Code:
Caused by: javax.resource.ResourceException: Wrong driver class [class org.h2.Driver] for
this connection URL [jdbc:jtds:sqlserver://xxx:xxx]
at
org.jboss.jca.adapters.jdbc.local.LocalManagedConnectionFactory.getLocalManagedConnection(
LocalManagedConnectionFactory.java:251)
... 68 more
Also simmt eine meiner beiden dataSource Definitionen? Wo muss ich die Driverclass definieren (bei der zu ersetzenden dataSource gibts ja hierfür extra ein Property 'driverClass')? Muss ich eventuell das Driver .jar irgendwo (am besten in ein /lib) am Server legen?