Der Wechsel eines Java-Web-Servers sollte eigentlich keine große Angelegenheit sein. In meinem Portierungsprojekt musste zum Glück keine Codeänderung und keine Lib ausgetauscht werden. Ein paar Einstellungen waren doch vorzunehmen. Besonders hilfreich war dabei die JBoss AS 7 migrations guide. Den JBoss as 7 habe ich bei diesem Test im Standalonemodus ausgeführt, die Konfiguration im standalone.xml habe ich nicht verändert.

JPA Properties

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.