[jboss-jira] [JBoss JIRA] (JBAS-7218) ENC EM injection erroneously happens only once for web modules

henk de boer (JIRA) jira-events at lists.jboss.org
Sun Dec 30 20:49:10 EST 2012


    [ https://issues.jboss.org/browse/JBAS-7218?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12743076#comment-12743076 ] 

henk de boer commented on JBAS-7218:
------------------------------------

I tested this again with JBoss AS 7.1.2.Final-redhat-1, and now it works :)

E.g. executing the following code from within a Servlet, given the setup as described in the forum reference now returns 2 distinct instances:

{code}
EntityManager entityManagerx = (EntityManager) new InitialContext().lookup("java:comp/env/persistence/test");
EntityManager entityManagery = (EntityManager) new InitialContext().lookup("java:comp/env/persistence/test");
{code}
                
> ENC EM injection erroneously happens only once for web modules
> --------------------------------------------------------------
>
>                 Key: JBAS-7218
>                 URL: https://issues.jboss.org/browse/JBAS-7218
>             Project: Application Server 3  4  5 and 6
>          Issue Type: Bug
>      Security Level: Public(Everyone can see) 
>    Affects Versions: JBossAS-5.1.0.GA
>         Environment: Observed problem on Mac OS X 10.5.7 and Debian Lenny 64 bits using JDK 6 
>            Reporter: henk de boer
>            Assignee: Scott Marlow
>
> Using a persistence-context-ref element in the web.xml of a web module, it appears that this causes an EntityManager instance to be injected only once into the ENC of this component.
> However, the EJB 3.0 spec states in section 16.2.1:
> "In general, lookups of objects in the JNDI java: namespace are required to return a new instance of the requested object every time."
> So the observed behavior seems to violate the spec. In addition, this is particularly troublesome since an EntityManager is explicitly not thread-safe. Using the same EM instance for simultaneous requests therefor doesn't work. 
> Of course there are several other methods to obtain an EM reference, for instance binding an EM factory directly to JNDI and using that to obtain the reference.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira


More information about the jboss-jira mailing list