Ho un'applicazione che utilizza JPA/Hibernate e Google Guice. Guice viene avviato in uno ServletContextListener
e imposta lo stesso EntityManagerFactory
.JBoss AS7 Caricamento automatico JPA
L'applicazione funziona correttamente su Tomcat 7, ma quando si esegue la distribuzione su JBoss AS7 non riesce perché JBoss decide di configurare automaticamente JPA prima di richiamare il mio ServletContextListener
.
Come posso evitare che JBoss inizializzi JPA automaticamente e invece attenda il mio ServletContextListener
per farlo?
Aggiorna
Secondo il legame che James disponibile sotto:
Durante la distribuzione dell'applicazione, viene rilevata uso JPA (es persistence.xml o @PersistenceContext/annotazioni Unit) e inietta dipendenze Hibernate nella distribuzione dell'applicazione.
https://docs.jboss.org/author/display/AS71/JPA+Reference+Guide#JPAReferenceGuide-Introduction
Ho bisogno di capire come disattivare questa funzionalità "auto-detect".
Aggiornamento # 2
gestione Contenitore di JPA può essere disabilitata aggiungendo la seguente struttura al persistence.xml:
<property name="jboss.as.jpa.managed" value="false" />
Secondo this topic, come di febbraio 2012 questa funzionalità è solo disponibile in una build notturna.
Questo è abbastanza vecchio, ma ho incontrato lo stesso problema. Il mio ulteriore problema è che non sto usando persistence.xml ma piuttosto dichiarando il factory manager di entità con il codice java e sembra che l'aggiunta della proprietà venga ignorata e non faccia alcuna differenza. Qualche idea se può essere risolto con questo approccio? – andreadi
@andreadi Nessuna idea. Stavo solo testando un'applicazione su AS7, ma non l'ho mai utilizzata per quel progetto. La soluzione migliore è probabilmente quella di fare una nuova domanda con le tue specifiche. –