[jira] [Updated] (DELTASPIKE-816) document usage of multiple entity-managers
[ https://issues.apache.org/jira/browse/DELTASPIKE-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gerhard Petracek updated DELTASPIKE-816: Fix Version/s: (was: 1.4.0) 1.4.1 document usage of multiple entity-managers -- Key: DELTASPIKE-816 URL: https://issues.apache.org/jira/browse/DELTASPIKE-816 Project: DeltaSpike Issue Type: Task Components: Documentation Affects Versions: 1.2.1 Reporter: Gerhard Petracek Assignee: Ron Smeral Fix For: 1.4.1 #1) application-managed via @PersistenceUnitName: {code} @ApplicationScoped public class MultiEntityManagerProducer { @Inject @PersistenceUnitName(puA) private EntityManagerFactory emfA; @Inject @PersistenceUnitName(puB) private EntityManagerFactory emfB; @Produces //e.g.: @RequestScoped @DbA //custom qualifier annotation public EntityManager createEntityManagerA() { return emfA.createEntityManager(); } public void closeEmA(@Disposes @DbA EntityManager em) { em.close(); } @Produces //e.g.: @RequestScoped @DbB //custom qualifier annotation public EntityManager createEntityManagerB() { return emfB.createEntityManager(); } public void closeEmB(@Disposes @DbB EntityManager em) { em.close(); } } {code} or #2) select from multiple container-managed em-managers based on the InjectionPoint: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Produces protected EntityManager createEntityManager(InjectionPoint injectionPoint) { CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class); return selectEntityManager(customQualifier); //selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier } //... } {code} or #3) select from multiple container-managed em-managers based on a custom context: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Inject private CustomDatabaseContext customDatabaseContext; @Produces protected EntityManager createEntityManager() { if (customDatabaseContext.usePrimaryDb()) { return firstEntityManager; } return secondEntityManager; } //... } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (DELTASPIKE-816) document usage of multiple entity-managers
[ https://issues.apache.org/jira/browse/DELTASPIKE-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gerhard Petracek updated DELTASPIKE-816: Assignee: Ron Smeral (was: Gerhard Petracek) document usage of multiple entity-managers -- Key: DELTASPIKE-816 URL: https://issues.apache.org/jira/browse/DELTASPIKE-816 Project: DeltaSpike Issue Type: Task Components: Documentation Affects Versions: 1.2.1 Reporter: Gerhard Petracek Assignee: Ron Smeral Fix For: 1.4.0 #1) application-managed via @PersistenceUnitName: {code} @ApplicationScoped public class MultiEntityManagerProducer { @Inject @PersistenceUnitName(puA) private EntityManagerFactory emfA; @Inject @PersistenceUnitName(puB) private EntityManagerFactory emfB; @Produces //e.g.: @RequestScoped @DbA //custom qualifier annotation public EntityManager createEntityManagerA() { return emfA.createEntityManager(); } public void closeEmA(@Disposes @DbA EntityManager em) { em.close(); } @Produces //e.g.: @RequestScoped @DbB //custom qualifier annotation public EntityManager createEntityManagerB() { return emfB.createEntityManager(); } public void closeEmB(@Disposes @DbB EntityManager em) { em.close(); } } {code} or #2) select from multiple container-managed em-managers based on the InjectionPoint: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Produces protected EntityManager createEntityManager(InjectionPoint injectionPoint) { CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class); return selectEntityManager(customQualifier); //selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier } //... } {code} or #3) select from multiple container-managed em-managers based on a custom context: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Inject private CustomDatabaseContext customDatabaseContext; @Produces protected EntityManager createEntityManager() { if (customDatabaseContext.usePrimaryDb()) { return firstEntityManager; } return secondEntityManager; } //... } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (DELTASPIKE-816) document usage of multiple entity-managers
[ https://issues.apache.org/jira/browse/DELTASPIKE-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gerhard Petracek updated DELTASPIKE-816: Fix Version/s: (was: 1.2.2) 1.3.0 document usage of multiple entity-managers -- Key: DELTASPIKE-816 URL: https://issues.apache.org/jira/browse/DELTASPIKE-816 Project: DeltaSpike Issue Type: Task Components: Documentation Affects Versions: 1.2.1 Reporter: Gerhard Petracek Assignee: Gerhard Petracek Fix For: 1.3.0 #1) application-managed via @PersistenceUnitName: {code} @ApplicationScoped public class MultiEntityManagerProducer { @Inject @PersistenceUnitName(puA) private EntityManagerFactory emfA; @Inject @PersistenceUnitName(puB) private EntityManagerFactory emfB; @Produces //e.g.: @RequestScoped @DbA //custom qualifier annotation public EntityManager createEntityManagerA() { return emfA.createEntityManager(); } public void closeEmA(@Disposes @DbA EntityManager em) { em.close(); } @Produces //e.g.: @RequestScoped @DbB //custom qualifier annotation public EntityManager createEntityManagerB() { return emfB.createEntityManager(); } public void closeEmB(@Disposes @DbB EntityManager em) { em.close(); } } {code} or #2) select from multiple container-managed em-managers based on the InjectionPoint: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Produces protected EntityManager createEntityManager(InjectionPoint injectionPoint) { CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class); return selectEntityManager(customQualifier); //selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier } //... } {code} or #3) select from multiple container-managed em-managers based on a custom context: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Inject private CustomDatabaseContext customDatabaseContext; @Produces protected EntityManager createEntityManager() { if (customDatabaseContext.usePrimaryDb()) { return firstEntityManager; } return secondEntityManager; } //... } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (DELTASPIKE-816) document usage of multiple entity-managers
[ https://issues.apache.org/jira/browse/DELTASPIKE-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gerhard Petracek updated DELTASPIKE-816: Summary: document usage of multiple entity-managers (was: document @PersistenceUnitName) document usage of multiple entity-managers -- Key: DELTASPIKE-816 URL: https://issues.apache.org/jira/browse/DELTASPIKE-816 Project: DeltaSpike Issue Type: Task Components: Documentation Affects Versions: 1.2.1 Reporter: Gerhard Petracek Assignee: Gerhard Petracek Fix For: 1.2.2 #1) application-managed: {code} @ApplicationScoped public class MultiEntityManagerProducer { @Inject @PersistenceUnitName(puA) private EntityManagerFactory emfA; @Inject @PersistenceUnitName(puB) private EntityManagerFactory emfB; @Produces //e.g.: @RequestScoped @DbA //custom qualifier annotation public EntityManager createEntityManagerA() { return emfA.createEntityManager(); } public void closeEmA(@Disposes @DbA EntityManager em) { em.close(); } @Produces //e.g.: @RequestScoped @DbB //custom qualifier annotation public EntityManager createEntityManagerB() { return emfB.createEntityManager(); } public void closeEmB(@Disposes @DbB EntityManager em) { em.close(); } } {code} or #2) select from multiple container-managed em-managers based on the InjectionPoint: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Produces protected EntityManager createEntityManager(InjectionPoint injectionPoint) { CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class); return selectEntityManager(customQualifier); //selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier } //... } {code} or #3) select from multiple container-managed em-managers based on a custom context: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Inject private CustomDatabaseContext customDatabaseContext; @Produces protected EntityManager createEntityManager() { if (customDatabaseContext.usePrimaryDb()) { return firstEntityManager; } return secondEntityManager; } //... } {code} -- This message was sent by Atlassian JIRA (v6.3.4#6332)
[jira] [Updated] (DELTASPIKE-816) document usage of multiple entity-managers
[ https://issues.apache.org/jira/browse/DELTASPIKE-816?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Gerhard Petracek updated DELTASPIKE-816: Description: #1) application-managed via @PersistenceUnitName: {code} @ApplicationScoped public class MultiEntityManagerProducer { @Inject @PersistenceUnitName(puA) private EntityManagerFactory emfA; @Inject @PersistenceUnitName(puB) private EntityManagerFactory emfB; @Produces //e.g.: @RequestScoped @DbA //custom qualifier annotation public EntityManager createEntityManagerA() { return emfA.createEntityManager(); } public void closeEmA(@Disposes @DbA EntityManager em) { em.close(); } @Produces //e.g.: @RequestScoped @DbB //custom qualifier annotation public EntityManager createEntityManagerB() { return emfB.createEntityManager(); } public void closeEmB(@Disposes @DbB EntityManager em) { em.close(); } } {code} or #2) select from multiple container-managed em-managers based on the InjectionPoint: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Produces protected EntityManager createEntityManager(InjectionPoint injectionPoint) { CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class); return selectEntityManager(customQualifier); //selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier } //... } {code} or #3) select from multiple container-managed em-managers based on a custom context: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Inject private CustomDatabaseContext customDatabaseContext; @Produces protected EntityManager createEntityManager() { if (customDatabaseContext.usePrimaryDb()) { return firstEntityManager; } return secondEntityManager; } //... } {code} was: #1) application-managed: {code} @ApplicationScoped public class MultiEntityManagerProducer { @Inject @PersistenceUnitName(puA) private EntityManagerFactory emfA; @Inject @PersistenceUnitName(puB) private EntityManagerFactory emfB; @Produces //e.g.: @RequestScoped @DbA //custom qualifier annotation public EntityManager createEntityManagerA() { return emfA.createEntityManager(); } public void closeEmA(@Disposes @DbA EntityManager em) { em.close(); } @Produces //e.g.: @RequestScoped @DbB //custom qualifier annotation public EntityManager createEntityManagerB() { return emfB.createEntityManager(); } public void closeEmB(@Disposes @DbB EntityManager em) { em.close(); } } {code} or #2) select from multiple container-managed em-managers based on the InjectionPoint: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Produces protected EntityManager createEntityManager(InjectionPoint injectionPoint) { CustomQualifier customQualifier = injectionPoint.getAnnotated().getAnnotation(CustomQualifier.class); return selectEntityManager(customQualifier); //selects firstEntityManager or secondEntityManager based on the details provided by CustomQualifier } //... } {code} or #3) select from multiple container-managed em-managers based on a custom context: {code} public class EntityManagerSelector { @PersistenceContext(unitName = firstDB) private EntityManager firstEntityManager; @PersistenceContext(unitName = secondDB) private EntityManager secondEntityManager; @Inject private CustomDatabaseContext customDatabaseContext; @Produces protected EntityManager createEntityManager() { if (customDatabaseContext.usePrimaryDb()) { return firstEntityManager; } return secondEntityManager; } //... } {code} document usage of multiple entity-managers -- Key: DELTASPIKE-816 URL: https://issues.apache.org/jira/browse/DELTASPIKE-816 Project: DeltaSpike Issue Type: Task Components: Documentation Affects Versions: 1.2.1 Reporter: Gerhard Petracek Assignee: Gerhard Petracek Fix For: 1.2.2 #1)