You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by "Andreas Veithen (JIRA)" <ji...@apache.org> on 2016/01/24 16:34:40 UTC

[jira] [Updated] (AXIS2-5528) JMS ServiceTaskManager isn't J2EE compliant (setExceptionListener not permitted) and fails on WebSphere AS 6.1

     [ https://issues.apache.org/jira/browse/AXIS2-5528?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andreas Veithen updated AXIS2-5528:
-----------------------------------
    Fix Version/s:     (was: 1.7.0)
                   1.7.1

> JMS ServiceTaskManager isn't J2EE compliant (setExceptionListener not permitted) and fails on WebSphere AS 6.1
> --------------------------------------------------------------------------------------------------------------
>
>                 Key: AXIS2-5528
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5528
>             Project: Axis2
>          Issue Type: Bug
>          Components: JMS transport
>    Affects Versions: Transports 1.0.0
>         Environment: J2RE 1.5.0 IBM J9 2.3 - Maven 2.2.1 - WebSphere Application Server 6.1 - Axis2 1.5
>            Reporter: Florian Minjat
>             Fix For: 1.7.1
>
>
> Hi,
> I'm trying to make a sample web application providing an Axis2 WebService over JMS using the last version of Axis2 (1.5).
> After some (long) searches for the transport-jms package which was removed from the kernel jar, I ended on the axis2-transport-jms trunk code from this SVN repo: http://svn.apache.org/repos/asf/webservices/commons/trunk/modules/transport/modules/jms .
> But this code fails to run on IBM WebSphere AS 6.1 with the following error during the method createConnection() of ServiceTaskManager (revision 808426): 
> [8/27/09 11:59:16:619 CEST] 0000002f SystemOut     O ERROR ServiceTaskManager - Error acquiring a JMS connection to : mq/Z81REFAPP_QCF using JNDI properties : {transport.jms.ConnectionFactory=refappQueueConnectionFactory, transport.jms.ConnectionFactoryType=queue, ServiceClass=com.volvo.ras.ws.p.RefAppService}
> javax.jms.IllegalStateException: Method setExceptionListener not permitted
> 	at com.ibm.ejs.jms.JMSCMUtils.methodNotPermittedException(JMSCMUtils.java:253)
> 	at com.ibm.ejs.jms.JMSConnectionHandle.checkRestrictedMethod(JMSConnectionHandle.java:805)
> 	at com.ibm.ejs.jms.JMSConnectionHandle.setExceptionListener(JMSConnectionHandle.java:323)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConnection(ServiceTaskManager.java:794)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getConnection(ServiceTaskManager.java:673)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:472)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:405)
> 	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> 	at java.lang.Thread.run(Thread.java:810)
> [8/27/09 11:59:16:619 CEST] 0000002f SystemOut     O ERROR NativeWorkerPool - Uncaught exception
> org.apache.axis2.transport.jms.AxisJMSException: Error acquiring a JMS connection to : mq/Z81REFAPP_QCF using JNDI properties : {transport.jms.ConnectionFactory=refappQueueConnectionFactory, transport.jms.ConnectionFactoryType=queue, ServiceClass=com.volvo.ras.ws.p.RefAppService}
> 	at org.apache.axis2.transport.jms.ServiceTaskManager.handleException(ServiceTaskManager.java:959)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager.access$700(ServiceTaskManager.java:48)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConnection(ServiceTaskManager.java:799)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.getConnection(ServiceTaskManager.java:673)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.receiveMessage(ServiceTaskManager.java:472)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.run(ServiceTaskManager.java:405)
> 	at org.apache.axis2.transport.base.threads.NativeWorkerPool$1.run(NativeWorkerPool.java:58)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:665)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:690)
> 	at java.lang.Thread.run(Thread.java:810)
> Caused by: javax.jms.IllegalStateException: Method setExceptionListener not permitted
> 	at com.ibm.ejs.jms.JMSCMUtils.methodNotPermittedException(JMSCMUtils.java:253)
> 	at com.ibm.ejs.jms.JMSConnectionHandle.checkRestrictedMethod(JMSConnectionHandle.java:805)
> 	at com.ibm.ejs.jms.JMSConnectionHandle.setExceptionListener(JMSConnectionHandle.java:323)
> 	at org.apache.axis2.transport.jms.ServiceTaskManager$MessageListenerTask.createConnection(ServiceTaskManager.java:794)
> 	... 7 more
> This is due to the call to setExceptionListener. As documented in the links below, this is not J2EE compliant, and WebSphere does not allow this code.
> http://www-01.ibm.com/support/docview.wss?uid=swg21114239
> I have no idea how to change the code to reinitialize connections on failure. But at least the exception should be catched to prevent complete failure.
> BTW I first tried with the code from the axis2-kernel-1.4.1.jar and ended with almost the same problem but with setMessageListener. I found this mail with the correction which lead me to the current SVN code: http://mail-archives.apache.org/mod_mbox/ws-axis-user/200812.mbox/%3C493D6D06.3060301@apache.org%3E
> Regards,
> Florian



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

---------------------------------------------------------------------
To unsubscribe, e-mail: java-dev-unsubscribe@axis.apache.org
For additional commands, e-mail: java-dev-help@axis.apache.org