You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "William Tam (JIRA)" <ji...@apache.org> on 2009/07/24 16:11:14 UTC

[jira] Created: (CXF-2357) The equals() method of JCA connection handle always return false.

The equals() method of JCA connection handle always return false.  
-------------------------------------------------------------------

                 Key: CXF-2357
                 URL: https://issues.apache.org/jira/browse/CXF-2357
             Project: CXF
          Issue Type: Bug
          Components: Integration
         Environment: Websphere 6.1.0.23.  
            Reporter: William Tam


The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.

[7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
	at demo.servlet.DemoServletBase.doGet(Unknown Source)
	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)

[7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
[7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
	javax.resource.ResourceException: Reassociate call Failed
	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
	at demo.servlet.DemoServletBase.doGet(Unknown Source)
	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
Caused by: javax.resource.ResourceException: Reassociate call Failed
	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
	... 28 more



-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-2357) The equals() method of JCA connection handle always return false.

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam updated CXF-2357:
-----------------------------

    Attachment: CXF-2357.patch

> The equals() method of JCA connection handle always return false.  
> -------------------------------------------------------------------
>
>                 Key: CXF-2357
>                 URL: https://issues.apache.org/jira/browse/CXF-2357
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>         Environment: Websphere 6.1.0.23.  
>            Reporter: William Tam
>         Attachments: CXF-2357.patch
>
>
> The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.
> [7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
> 	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
> 	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
> 	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> [7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
> [7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
> 	javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> Caused by: javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	... 28 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-2357) The equals() method of JCA connection handle always return false.

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam updated CXF-2357:
-----------------------------

    Attachment: CXF-2357.patch

The attached patch fixes the issue and includes a unit test.   It also fixes another issue that ConnectionEvent.CONNECTION_CLOSED was not fired every time a handle is closed.

> The equals() method of JCA connection handle always return false.  
> -------------------------------------------------------------------
>
>                 Key: CXF-2357
>                 URL: https://issues.apache.org/jira/browse/CXF-2357
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>         Environment: Websphere 6.1.0.23.  
>            Reporter: William Tam
>         Attachments: CXF-2357.patch
>
>
> The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.
> [7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
> 	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
> 	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
> 	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> [7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
> [7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
> 	javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> Caused by: javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	... 28 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Resolved: (CXF-2357) The equals() method of JCA connection handle always return false.

Posted by "Daniel Kulp (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Daniel Kulp resolved CXF-2357.
------------------------------

       Resolution: Fixed
    Fix Version/s: 2.2.3
                   2.1.6
                   2.0.12

> The equals() method of JCA connection handle always return false.  
> -------------------------------------------------------------------
>
>                 Key: CXF-2357
>                 URL: https://issues.apache.org/jira/browse/CXF-2357
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>         Environment: Websphere 6.1.0.23.  
>            Reporter: William Tam
>             Fix For: 2.0.12, 2.1.6, 2.2.3
>
>         Attachments: CXF-2357.patch
>
>
> The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.
> [7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
> 	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
> 	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
> 	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> [7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
> [7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
> 	javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> Caused by: javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	... 28 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Issue Comment Edited: (CXF-2357) The equals() method of JCA connection handle always return false.

Posted by "William Tam (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735063#action_12735063 ] 

William Tam edited comment on CXF-2357 at 7/24/09 7:27 AM:
-----------------------------------------------------------

The issue has to do with closing the connection handle.  When the JCA connector fires a ConnectionEvent.CONNECTION_CLOSED event, Websphere connection pool tries to match a handle from connection pool to perform close().  As a result, the equals() method on the handle will get called.  There is a bug in the connection handle's proxy invocation handler that causes the close() to always return false.

      was (Author: wtam):
    The issue has to do with closing the connection handle.  When the JCA connector fires a ConnectionEvent.CONNECTION_CLOSED event, Websphere connection pool tried to match a handle to perform close from the connection pool.  As a result, the equals() method on the handle will be called.  There is a bug in the handle's proxy invocation handler that causes it to always return false.
  
> The equals() method of JCA connection handle always return false.  
> -------------------------------------------------------------------
>
>                 Key: CXF-2357
>                 URL: https://issues.apache.org/jira/browse/CXF-2357
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>         Environment: Websphere 6.1.0.23.  
>            Reporter: William Tam
>         Attachments: CXF-2357.patch
>
>
> The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.
> [7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
> 	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
> 	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
> 	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> [7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
> [7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
> 	javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> Caused by: javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	... 28 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (CXF-2357) The equals() method of JCA connection handle always return false.

Posted by "William Tam (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/CXF-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

William Tam updated CXF-2357:
-----------------------------

    Attachment:     (was: CXF-2357.patch)

> The equals() method of JCA connection handle always return false.  
> -------------------------------------------------------------------
>
>                 Key: CXF-2357
>                 URL: https://issues.apache.org/jira/browse/CXF-2357
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>         Environment: Websphere 6.1.0.23.  
>            Reporter: William Tam
>
> The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.
> [7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
> 	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
> 	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
> 	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> [7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
> [7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
> 	javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> Caused by: javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	... 28 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Commented: (CXF-2357) The equals() method of JCA connection handle always return false.

Posted by "William Tam (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/CXF-2357?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12735063#action_12735063 ] 

William Tam commented on CXF-2357:
----------------------------------

The issue has to do with closing the connection handle.  When the JCA connector fires a ConnectionEvent.CONNECTION_CLOSED event, Websphere connection pool tried to match a handle to perform close from the connection pool.  As a result, the equals() method on the handle will be called.  There is a bug in the handle's proxy invocation handler that causes it to always return false.

> The equals() method of JCA connection handle always return false.  
> -------------------------------------------------------------------
>
>                 Key: CXF-2357
>                 URL: https://issues.apache.org/jira/browse/CXF-2357
>             Project: CXF
>          Issue Type: Bug
>          Components: Integration
>         Environment: Websphere 6.1.0.23.  
>            Reporter: William Tam
>
> The symptom of this problem is that JCA outbound requests fail on every other call when the JCA connection is invoked inside an EJB running in WebSphere 6.1.0.23.   But, invoking JCA connection inside a serlvet is not a problem.  The error reported by WebSphere is as follow.
> [7/16/09 18:01:26:852 EDT] 00000024 MCWrapper     E   J2CA0079E: Method getNoTransactionWrapper has detected an internal illegal state and is throwing an IllegalStateException. The exception is: java.lang.IllegalStateException: getNoTransactionWrapper: illegal state exception. State = STATE_ACTIVE_FREE
> 	at com.ibm.ejs.j2c.MCWrapper.getNoTransactionWrapper(MCWrapper.java:1060)
> 	at com.ibm.ejs.j2c.ConnectionManager.initializeForUOW(ConnectionManager.java:1146)
> 	at com.ibm.ejs.j2c.ConnectionManager.reAssociate(ConnectionManager.java:1421)
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:361)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> [7/16/09 18:01:26:953 EDT] 00000024 HandleList    W   PARK_OR_REASSOCIATE_FAILED_W_J2CA0083
> [7/16/09 18:01:27:005 EDT] 00000024 ExceptionUtil E   CNTR0020E: EJB threw an unexpected (non-declared) exception during invocation of method "getResponseFromWebService" on bean "BeanId(HelloWorldEAR#helloworld-ejb.jar#TestEJB, null)". Exception data: java.rmi.RemoteException: ; nested exception is: 
> 	javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:385)
> 	at com.ibm.ejs.container.EJSContainer.preInvokeActivate(EJSContainer.java:3465)
> 	at com.ibm.ejs.container.EJSContainer.preInvoke(EJSContainer.java:2839)
> 	at demo.ejb.EJSRemoteStatelessTestEJB_b3bd2fe8.getResponseFromWebService(Unknown Source)
> 	at demo.ejb._TestEJB_Stub.getResponseFromWebService(_TestEJB_Stub.java:307)
> 	at demo.servlet.HelloWorldServlet.callEJB(HelloWorldServlet.java:82)
> 	at demo.servlet.HelloWorldServlet.writeMainBody(HelloWorldServlet.java:95)
> 	at demo.servlet.DemoServletBase.writeBody(Unknown Source)
> 	at demo.servlet.DemoServletBase.doGet(Unknown Source)
> 	at demo.servlet.HelloWorldServlet.doGet(HelloWorldServlet.java:52)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:743)
> 	at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:966)
> 	at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:478)
> 	at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:463)
> 	at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:92)
> 	at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:744)
> 	at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1425)
> 	at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:92)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:465)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:394)
> 	at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:274)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminators(NewConnectionInitialReadCallback.java:214)
> 	at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:113)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java:556)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java:606)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java:979)
> 	at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java:1064)
> 	at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1498)
> Caused by: javax.resource.ResourceException: Reassociate call Failed
> 	at com.ibm.ejs.j2c.HandleList.reAssociate(HandleList.java:395)
> 	at com.ibm.ejs.j2c.HandleCollaborator.preInvoke(HandleCollaborator.java:76)
> 	at com.ibm.ejs.container.StatelessBeanO.preInvoke(StatelessBeanO.java:382)
> 	... 28 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.