JBoss as7 kommt mit einer eigenen Unterstützung für JPA, diese durchsucht das Projekt nach dem File "persistence.xml". Dieses File sollte umbenannt werden, damit hier kein Konflikt entstehen kann. In der JBoss Konfiguration kann auch das JPA-Modul entfernt werden.
Im Beispielcode habe ich den Namen "jpa-persistence.xml" vergeben.
[sourcecode language="xml"]
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation"
value="classpath*:META-INF/jpa-persistence.xml"/>
</bean>
[/sourcecode]
Hibernate
In meinem Projekt setze ich JPA in Verbindung mit Hibernate ein. Hibernate wird auch von JBoss selber zur Verfügung gestellt.
Ich wollte die eigene Version verwenden, damit zur Tomcatumgebung kein Unterschied entsteht. Die von JBoss geladenen Libs können mit der Datei "WEB-INF/jboss-deployment-structure.xml" gesteuert werden. Die Datei kann im WEB-INF oder META-INF Verzeichnis abgelegt werden.
[sourcecode language="xml"]
<jboss-deployment-structure
xmlns="urn:jboss:deployment-structure:1.0">
<deployment>
<exclusions>
<module name="org.hibernate">
</exclusions>
</deployment>
</jboss-deployment-structure>
[/sourcecode]
Apache CXF
Eine weitere Befürchtung war, dass die WebServices die über das
Apache CXF Framework bereitgestellt werden, unter JBoss ein eigenes Verhalten zeigen. Zum Glück kam es zu keinen Problemen, obwohl beim Starten eine Fehlermeldung ausgegeben wurde.