[
https://jira.jboss.org/jira/browse/JBSEAM-4332?page=com.atlassian.jira.pl...
]
Denis Forveille updated JBSEAM-4332:
------------------------------------
Description:
In WebSphere when the HTTP user session expires, the Seam session listener intercepts the
event and try to clean all the pending components
A call to the method annotated "@Destroy" is called on EntityManager (ie method
destroy())
This methods checks if there is an active Transaction to throw an exception in case there
is one. For this it performs a JNDI lookup on java:comp/env/UserTransaction
In this context, the lookup fails with a javax.naming.ConfigurationException in WebSphere
because it is illegal to do such operation in such a thread (The one spawned by WebSphere
to timeout the session) and the EntityManager is never closed and the whole clean process
fails..
This can be corrected by intercepting the exception in the
ManagedPersistenceContext.close() method and continue with the close operation on the
EntityManager
was:
In WebSphere when the HTTP user session expires, the Seam session listener intercepts the
event and try to clean all the pending components
A call to the method annotated "@Destroy" is called on EntityManager (ie method
close())
This methods checks if there is an active Transaction to throw an exception in case there
is an active transaction. For this it performs a JNDI lookup on
java:comp/env/UserTransaction
In this context, the lookup fails with a javax.naming.ConfigurationException in WebSphere
because it is illegal to do such operation in such a thread (The one spawned by WebSphere
to timeout the session) and the EntityManager is never closed and the whole clean process
fails..
This can be corrected by intercepting the exception in the
ManagedPersistenceContext.close() method and continue with the close operation on the
EntityManager
HTTP sessions expiration cause a
"javax.naming.ConfigurationException" while trying to "Destroy" the
EntityManager components in WebSphere
------------------------------------------------------------------------------------------------------------------------------------------
Key: JBSEAM-4332
URL:
https://jira.jboss.org/jira/browse/JBSEAM-4332
Project: Seam
Issue Type: Bug
Affects Versions: 2.2.0.GA
Environment: Seam 2.2.0 GA, WebSphere 7.0.0.5
Reporter: Denis Forveille
Assignee: Denis Forveille
Fix For: 2.2.1.CR1
Attachments: traceback.txt
In WebSphere when the HTTP user session expires, the Seam session listener intercepts the
event and try to clean all the pending components
A call to the method annotated "@Destroy" is called on EntityManager (ie method
destroy())
This methods checks if there is an active Transaction to throw an exception in case there
is one. For this it performs a JNDI lookup on java:comp/env/UserTransaction
In this context, the lookup fails with a javax.naming.ConfigurationException in WebSphere
because it is illegal to do such operation in such a thread (The one spawned by WebSphere
to timeout the session) and the EntityManager is never closed and the whole clean process
fails..
This can be corrected by intercepting the exception in the
ManagedPersistenceContext.close() method and continue with the close operation on the
EntityManager
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
https://jira.jboss.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira