You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tapestry.apache.org by "Kalle Korhonen (JIRA)" <ji...@apache.org> on 2016/03/14 23:28:33 UTC

[jira] [Commented] (TAP5-2027) EntityManagerObjectProvider always provides the initial EntityManger proxy created

    [ https://issues.apache.org/jira/browse/TAP5-2027?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15194294#comment-15194294 ] 

Kalle Korhonen commented on TAP5-2027:
--------------------------------------

Issue affects 5.4 as well. We can still use a cached proxy member but it should be a map keyed by the entityName instead of a single EntityManager instance.

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