[ https://issues.apache.org/jira/browse/DELTASPIKE-940?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16012187#comment-16012187 ]
Mark Struberg commented on DELTASPIKE-940: ------------------------------------------ +1 for moving this cleanup to 2.0 if any. As Gerhard already explained: the Qualifier in @Transactional is to support multiple different Databases where we then do a 'cheap man XA'. Means we will first iterate over all open EntityManagers and invoke #flush() on them and only if that works for all connections we do a em.commit() on all. This is not really XA, but in practice you blow up during the flush() in 98%of all cases. > @Transactional and @EntityManagerConfig each use a different method to > resolve EntityManagers > --------------------------------------------------------------------------------------------- > > Key: DELTASPIKE-940 > URL: https://issues.apache.org/jira/browse/DELTASPIKE-940 > Project: DeltaSpike > Issue Type: Improvement > Components: Data-Module, JPA-Module > Reporter: Xavier Dury > Assignee: John D. Ament > Priority: Minor > Fix For: 2.0 > > > When an application uses multiple {{EntityManager}}'s, there must be a way to > specify which one(s) should be used. Currently, {{@Transactional}} and > {{@EntityManagerConfig}} use different approaches: > - {{@Transactional}} can take one or more qualifiers directly in its > {{qualifier()}} member ({{@Transactional(qualifier = MyDB.class)}}) > - While {{@EntityManagerConfig}} must define an {{EntityManagerResolver}} > ({{@EntityManagerConfig(entityManagerResolver = > MyDBEntityManagerResolver.class}}) > I think both should be unified and use a single way to specify which > {{EntityManager}} to use. IMHO, the {{@Transactional}} way of doing looks > better and should be applied to {{@EntityManagerConfig}}. -- This message was sent by Atlassian JIRA (v6.3.15#6346)