Ich habe eine Anwendung, die JPA/Hibernate und Google Guice verwendet. Guice wird in einem ServletContextListener
bootstrapped und richtet das EntityManagerFactory
selbst ein.JBoss AS7 automatisches Laden JPA
Die Anwendung funktioniert auf Tomcat 7 einwandfrei, aber bei der Bereitstellung auf JBoss AS7 schlägt das fehl, da JBoss vor dem Aufruf von ServletContextListener
die automatische Einrichtung von JPA vornimmt.
Wie kann ich JBoss dazu bringen, JPA nicht automatisch zu initialisieren und stattdessen auf meine ServletContextListener
zu warten?
aktualisieren
Nach dem Link, der James unten angegeben:
Während der Anwendungsbereitstellung wird JPA Verwendung nachgewiesen (zB persistence.xml oder @ PersistenceContext/Einheit Anmerkungen) und injiziert Hibernate Abhängigkeiten in die Anwendungsbereitstellung.
https://docs.jboss.org/author/display/AS71/JPA+Reference+Guide#JPAReferenceGuide-Introduction
ich brauche, herauszufinden, wie diese "Auto-detect" Funktion zu deaktivieren.
Update # 2
Container Management von PPV kann durch Hinzufügen der folgenden Eigenschaft auf die persistence.xml deaktiviert werden:
<property name="jboss.as.jpa.managed" value="false" />
Nach this topic, ab Februar 2012 nur diese Funktionalität verfügbar in einem nächtlichen Build.
Das ist ziemlich alt, aber ich stieß auf das gleiche Problem. Mein zusätzliches Problem ist, dass ich nicht persistence.xml verwende, sondern den Entity Manager Factory mit Java-Code deklariert und es scheint, dass das Hinzufügen der Eigenschaft dort ignoriert wird und keinen Unterschied macht. Irgendeine Idee, wenn es mit diesem Ansatz gelöst werden kann? – andreadi
@andreadi Keine Ahnung. Ich habe nur eine Anwendung auf AS7 getestet, aber ich habe sie nie für dieses Projekt verwendet. Sie werden wahrscheinlich am besten eine neue Frage mit Ihren Besonderheiten stellen. –