[jira] [Updated] (DELTASPIKE-816) document usage of multiple entity-managers

2015-05-16 Thread Gerhard Petracek (JIRA)

 [ 
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

2015-05-12 Thread Gerhard Petracek (JIRA)

 [ 
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

2015-03-01 Thread Gerhard Petracek (JIRA)

 [ 
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

2015-01-02 Thread Gerhard Petracek (JIRA)

 [ 
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

2015-01-02 Thread Gerhard Petracek (JIRA)

 [ 
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)