Sto usando JBoss AS 7.1.1 e in grado di configurare una nuova origine dati JTA e filo al mio EJB utilizzandonon può iniettare contenitore RESOURCE_LOCAL gestito EntityManager utilizzando @PersistenceContext
@PersistenceContext(unitName="TestPU")
private EntityManager entityManager;
Quando ho provato ad usare RESOURCE_LOCAL PersistenceUnit I sto ricevendo l'errore dicendo che non posso iniettare RESOURCE_LOCAL PU usando @PersistenceContext.
Ho configurato il mio persistence.xml come segue:
<persistence-unit name="TestPU" transaction-type="RESOURCE_LOCAL">
<provider>org.hibernate.ejb.HibernatePersistence</provider>
<properties>
<property name="javax.persistence.jdbc.driver" value="com.mysql.jdbc.Driver"/>
<property name="javax.persistence.jdbc.url" value="jdbc:mysql://localhost:3306/xy"/>
<property name="javax.persistence.jdbc.user" value="root"/>
<property name="javax.persistence.jdbc.password" value="blah"/>
<property name="hibernate.hbm2ddl.auto" value="update" />
</properties>
</persistence-unit>
E nella mia DAO,
@Stateless
public class UserDAO {
@PersistenceContext(unitName="TestPU")
private EntityManager entityManager;
}
Quando ho schierato la mia applicazione su AS 7.1.1 sto ottenendo il seguente errore.
JBAS011428: Cannot inject RESOURCE_LOCAL container managed EntityManagers using @PersistenceContext
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor$1.handle(ModuleJndiBindingProcessor.java:169)
at org.jboss.as.ee.component.ClassDescriptionTraversal.run(ClassDescriptionTraversal.java:54)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.processClassConfigurations(ModuleJndiBindingProcessor.java:162)
at org.jboss.as.ee.component.deployers.ModuleJndiBindingProcessor.deploy(ModuleJndiBindingProcessor.java:155)
at org.jboss.as.server.deployment.DeploymentUnitPhaseService.start(DeploymentUnitPhaseService.java:113) [jboss-as-server-7.1.1.Final.jar:7.1.1.Final]
... 5 more
Qualsiasi soluzione per utilizzare RESOURCE_LOCAL PU con @PersistenceContext?
Grazie per la spiegazione. Quindi non c'è modo di configurare l'origine dati JTA come parte di WAR/EAR? Possiamo farlo con Annotations, ma sto cercando la configurazione basata su XML. –
@ sivaprasadreddy.k Prego. Se hai già configurato data-source, puoi menzionarlo in persistence.xml con ''. –
@NayanWadekar puoi condividere un esempio con RESOURCE_LOCAL (persistence.xml) e EntityManagerFactory (codice java). – Sabarish