Hi!
Benutze folgende relevante Technologien: Jboss 7.1.1 (Applikation läuft dann in einem Cluster), Hibernate 3.6.9, Spring 3.0.1.
Aktuell verhält es sich so dass ich eine Datasource am JBoss definiert habe und selbige mittels JNDI in der applicationContext.xml anspreche sowie einen TransactionManager definiere
applicationContext.xml:
persistence.xml:
Soweit so gut bzw. funktioniert das Ganze. Jetzt würde ich aber noch gerne den TransactionsManager vom JBoss benutzen und das bekomme ich einfach nicht hin. Was muss ich hierbei alles berücksichtigen?
Meine Gedanken dazu:
-) Die Bean 'entityManagerFactory' aus der applicationContext.xml entfernen/löschen.
-) In der applicationContext.xml folgendes hinzufügen: <tx:jta-transaction-manager/>.
-) In der persistence.xml von 'RESOURCE_LOCAL' auf 'JTA' (ist default) umstellen. (Es ist ja wohl unerläßlich auf JTA umzustellen oder?).
-) Muss ich dann auch im JBoss die Datasource als XA Datasource definieren (aktuell nicht der Fall obwohl der Driver es könnte)?
-) In der persistence.xml das property jboss.as.jpa.managed" auf true (ist default) setzen?
-) Muss ich dann nicht auf noch den TransactionManager am JBoss definieren und/oder in der applicationContext.xml irgendwie (JNDI?) setzen?
Bitte um Unterstützung komme hier nicht weiter
Benutze folgende relevante Technologien: Jboss 7.1.1 (Applikation läuft dann in einem Cluster), Hibernate 3.6.9, Spring 3.0.1.
Aktuell verhält es sich so dass ich eine Datasource am JBoss definiert habe und selbige mittels JNDI in der applicationContext.xml anspreche sowie einen TransactionManager definiere
applicationContext.xml:
Java:
<bean id="dataSource" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiName" value="${database.jndi.path}" />
</bean>
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceUnitName" value="myDb" />
<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>
persistence.xml:
Java:
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<persistence xmlns="http://java.sun.com/xml/ns/persistence"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
version="2.0"
xsi:schemaLocation="http://java.sun.com/xml/ns/persistence
http://java.sun.com/xml/ns/persistence/persistence_2_0.xsd">
<persistence-unit name="xxx" transaction-type="RESOURCE_LOCAL">
<!-- a lot of <class>com.MyClass</class> -->
<properties>
<property name="jboss.as.jpa.managed" value="false"/>
<property name="hibernate.dialect"
value="org.hibernate.spatial.dialect.sqlserver.SqlServer2008SpatialDialect"/>
</properties>
</persistence-unit>
Soweit so gut bzw. funktioniert das Ganze. Jetzt würde ich aber noch gerne den TransactionsManager vom JBoss benutzen und das bekomme ich einfach nicht hin. Was muss ich hierbei alles berücksichtigen?
Meine Gedanken dazu:
-) Die Bean 'entityManagerFactory' aus der applicationContext.xml entfernen/löschen.
-) In der applicationContext.xml folgendes hinzufügen: <tx:jta-transaction-manager/>.
-) In der persistence.xml von 'RESOURCE_LOCAL' auf 'JTA' (ist default) umstellen. (Es ist ja wohl unerläßlich auf JTA umzustellen oder?).
-) Muss ich dann auch im JBoss die Datasource als XA Datasource definieren (aktuell nicht der Fall obwohl der Driver es könnte)?
-) In der persistence.xml das property jboss.as.jpa.managed" auf true (ist default) setzen?
-) Muss ich dann nicht auf noch den TransactionManager am JBoss definieren und/oder in der applicationContext.xml irgendwie (JNDI?) setzen?
Bitte um Unterstützung komme hier nicht weiter
Zuletzt bearbeitet: