[
https://issues.apache.org/jira/browse/TAP5-2027?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Kalle Korhonen resolved TAP5-2027.
----------------------------------
Resolution: Fixed
The fix should address the issue. Let the committers know if this is still
desired for T5.3. As ugly as the original implementation was, I'd still see
this as a marginal case and therefore not critical for T5.3.
> EntityManagerObjectProvider always provides the initial EntityManger proxy
> created
> ----------------------------------------------------------------------------------
>
> Key: TAP5-2027
> URL: https://issues.apache.org/jira/browse/TAP5-2027
> Project: Tapestry 5
> Issue Type: Bug
> Components: tapestry-jpa
> Affects Versions: 5.3.5, 5.3.6, 5.4
> Reporter: John Coleman
> Assignee: Kalle Korhonen
> Fix For: 5.4.1
>
> Attachments: TapestryJPATest.zip
>
>
> When persistence.xml defines multiple persistence units, classes injecting
> EntityManager with @PersistenceContext(unitName=value crash because the
> entities associated with the PU in configuration are not recognised at
> runtime.
> By placing trace in the code I established that the first EntityManager
> injected gets injected to all my other service classes even though I use
> different unitName= annotations.
> The EntityManagerObjectProvider class contains a class variable proxy and
> works like a singleton always injecting the first EntityManager proxy class
> created for any later EntityManager injections.
> The following code fixes the issue and is provided as-is, free and without
> copyright or warranty. This is more like a refactor because I have also
> replaced some depricated code. As a patch it also works just to remove the
> proxy class member variable and the if (proxy == null) condition.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)