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 "George Marrows (JIRA)" <ji...@apache.org> on 2008/03/26 15:37:24 UTC
[jira] Created: (AXIS2-3662) Can't use JMS transport from axis2.war
on WebSphere Application Server 6.1
Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
--------------------------------------------------------------------------
Key: AXIS2-3662
URL: https://issues.apache.org/jira/browse/AXIS2-3662
Project: Axis 2.0 (Axis2)
Issue Type: Bug
Components: kernel
Affects Versions: 1.3
Environment: WebSphere Application Server 6.1, Axis2 war deployment
Reporter: George Marrows
>From http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-td15306747.html:
> We are currently deploying axis2 in Websphere 6.1. We wish to
> use the jms transport. However axis2 fails to start because
> it uses forbidden api's.
>
> On startup axis2's JMSConnectionFactory class calls the
> listenOnDestination(String destinationJndi) method. Here it
> creates a MessageConsumer and calls the
> MessageConsumer.setMessageListener(MessageListener listener)
> method. This causes failure and the exception thrown is as follows:
> javax.jms.IllegalStateException: Method setMessageListener
> not permitted
>
> On looking through docs online it is clear that IBM have
> stuck to the J2EE
> 1.4 specification. This states that the
> MessageConsumer.setMessageListener(MessageListener listener)
> method can not be called in a Web or EJB container. See
> http://www.ibm.com/developerworks/library/j-getmess/ for details.
[See http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf, section 6.6 for the actual spec reference.]
This means that the only way of deploying Axis2 with JMS transport on WAS is to use the standalone axis server. This works, but a deployment within the application server would be greatly preferable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-3662) Can't use JMS transport from
axis2.war on WebSphere Application Server 6.1
Posted by "Asankha C. Perera (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12584054#action_12584054 ]
Asankha C. Perera commented on AXIS2-3662:
------------------------------------------
The original post above stated that:
>My question is that why is axis2 not compliant with this specification? Also what options do i have for using the jms transport with axis2 in WAS
Axis2 is targeted for the Web container of a J2EE server, and the typical restrictions that applies for the EJB containers were not applicable to the Web container earlier
>Initial research shows the following possibilities:
>1) Use MDB's (not ideal)
>2) Change the axis2 code itself and make a synchronous MessageConsumer.receive call and poll for messages
Axis2 needs to start/stop listening on JMS destinations as new services are deployed/un-deployed, and thus I do not think the use of MDB's is going to be a proper solution. I am not in favour of using a polling mechanism either - as JMS needs to be a high performance and time-critical transport - unlike the File/Mail transports etc, where polling is acceptable and/or relevant
>Can anyone advice on the best approach here? And also will axis2 become compliant with the J2EE 1.4 spec in the future?
I am looking at this, and at the same time thinking about how we should support transactions with JMS.. so any comments from the community is welcome
asankha
> Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
> --------------------------------------------------------------------------
>
> Key: AXIS2-3662
> URL: https://issues.apache.org/jira/browse/AXIS2-3662
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: WebSphere Application Server 6.1, Axis2 war deployment
> Reporter: George Marrows
>
> From http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-td15306747.html:
> > We are currently deploying axis2 in Websphere 6.1. We wish to
> > use the jms transport. However axis2 fails to start because
> > it uses forbidden api's.
> >
> > On startup axis2's JMSConnectionFactory class calls the
> > listenOnDestination(String destinationJndi) method. Here it
> > creates a MessageConsumer and calls the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method. This causes failure and the exception thrown is as follows:
> > javax.jms.IllegalStateException: Method setMessageListener
> > not permitted
> >
> > On looking through docs online it is clear that IBM have
> > stuck to the J2EE
> > 1.4 specification. This states that the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method can not be called in a Web or EJB container. See
> > http://www.ibm.com/developerworks/library/j-getmess/ for details.
> [See http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf, section 6.6 for the actual spec reference.]
> This means that the only way of deploying Axis2 with JMS transport on WAS is to use the standalone axis server. This works, but a deployment within the application server would be greatly preferable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Assigned: (AXIS2-3662) Can't use JMS transport from
axis2.war on WebSphere Application Server 6.1
Posted by "Asankha C. Perera (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Asankha C. Perera reassigned AXIS2-3662:
----------------------------------------
Assignee: Asankha C. Perera
> Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
> --------------------------------------------------------------------------
>
> Key: AXIS2-3662
> URL: https://issues.apache.org/jira/browse/AXIS2-3662
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: WebSphere Application Server 6.1, Axis2 war deployment
> Reporter: George Marrows
> Assignee: Asankha C. Perera
>
> From http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-td15306747.html:
> > We are currently deploying axis2 in Websphere 6.1. We wish to
> > use the jms transport. However axis2 fails to start because
> > it uses forbidden api's.
> >
> > On startup axis2's JMSConnectionFactory class calls the
> > listenOnDestination(String destinationJndi) method. Here it
> > creates a MessageConsumer and calls the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method. This causes failure and the exception thrown is as follows:
> > javax.jms.IllegalStateException: Method setMessageListener
> > not permitted
> >
> > On looking through docs online it is clear that IBM have
> > stuck to the J2EE
> > 1.4 specification. This states that the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method can not be called in a Web or EJB container. See
> > http://www.ibm.com/developerworks/library/j-getmess/ for details.
> [See http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf, section 6.6 for the actual spec reference.]
> This means that the only way of deploying Axis2 with JMS transport on WAS is to use the standalone axis server. This works, but a deployment within the application server would be greatly preferable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-3662) Can't use JMS transport from
axis2.war on WebSphere Application Server 6.1
Posted by "George Marrows (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585636#action_12585636 ]
George Marrows commented on AXIS2-3662:
---------------------------------------
Hi Asankha - thanks for looking at this.
I agree that the polling option does not seem sensible. Like Cathal (originator of the mail used in the bug report), I'm developing a custom MDB-based approach. You're right this will lose hot deployment of new services that need to listen on a new queue/topic (because a new MDB will also need to be declared to listen on that destination), but I hope to be able to maintain hot update of changed services. Perhaps that's an acceptable compromise for running on a wider range of app servers in a J2EE-compliant way?
Another option of course is to see how other ws stacks have handled this issue, if any have.
-- George
> Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
> --------------------------------------------------------------------------
>
> Key: AXIS2-3662
> URL: https://issues.apache.org/jira/browse/AXIS2-3662
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: WebSphere Application Server 6.1, Axis2 war deployment
> Reporter: George Marrows
>
> From http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-td15306747.html:
> > We are currently deploying axis2 in Websphere 6.1. We wish to
> > use the jms transport. However axis2 fails to start because
> > it uses forbidden api's.
> >
> > On startup axis2's JMSConnectionFactory class calls the
> > listenOnDestination(String destinationJndi) method. Here it
> > creates a MessageConsumer and calls the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method. This causes failure and the exception thrown is as follows:
> > javax.jms.IllegalStateException: Method setMessageListener
> > not permitted
> >
> > On looking through docs online it is clear that IBM have
> > stuck to the J2EE
> > 1.4 specification. This states that the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method can not be called in a Web or EJB container. See
> > http://www.ibm.com/developerworks/library/j-getmess/ for details.
> [See http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf, section 6.6 for the actual spec reference.]
> This means that the only way of deploying Axis2 with JMS transport on WAS is to use the standalone axis server. This works, but a deployment within the application server would be greatly preferable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Resolved: (AXIS2-3662) Can't use JMS transport from
axis2.war on WebSphere Application Server 6.1
Posted by "Asankha C. Perera (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Asankha C. Perera resolved AXIS2-3662.
--------------------------------------
Resolution: Fixed
Fixed with WS-Commons transport revision 724432
The JMS transport does not use JEE prohibited APIs anymore.
> Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
> --------------------------------------------------------------------------
>
> Key: AXIS2-3662
> URL: https://issues.apache.org/jira/browse/AXIS2-3662
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: WebSphere Application Server 6.1, Axis2 war deployment
> Reporter: George Marrows
>
> From http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-td15306747.html:
> > We are currently deploying axis2 in Websphere 6.1. We wish to
> > use the jms transport. However axis2 fails to start because
> > it uses forbidden api's.
> >
> > On startup axis2's JMSConnectionFactory class calls the
> > listenOnDestination(String destinationJndi) method. Here it
> > creates a MessageConsumer and calls the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method. This causes failure and the exception thrown is as follows:
> > javax.jms.IllegalStateException: Method setMessageListener
> > not permitted
> >
> > On looking through docs online it is clear that IBM have
> > stuck to the J2EE
> > 1.4 specification. This states that the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method can not be called in a Web or EJB container. See
> > http://www.ibm.com/developerworks/library/j-getmess/ for details.
> [See http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf, section 6.6 for the actual spec reference.]
> This means that the only way of deploying Axis2 with JMS transport on WAS is to use the standalone axis server. This works, but a deployment within the application server would be greatly preferable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org
[jira] Commented: (AXIS2-3662) Can't use JMS transport from
axis2.war on WebSphere Application Server 6.1
Posted by "Asankha C. Perera (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/AXIS2-3662?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585893#action_12585893 ]
Asankha C. Perera commented on AXIS2-3662:
------------------------------------------
Hi George
Actually I looked into two other implementations and it seems they both use the 'polling' approach. I do not think the MDB approach can work at all - for Apache Synapse, which uses the JMS transport a lot, thus to keep the core code executable within and outside of a JEE app server, I thought of using polling within and async outside and to decide on this at runtime. I also need to keep backward compatibility with JMS 1.0.x and also add support for transactional JMS. So I will be doing some enhancements pretty soon - initially into the version within Synapse, and then contribute this to Axis2 as well
asankha
> Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
> --------------------------------------------------------------------------
>
> Key: AXIS2-3662
> URL: https://issues.apache.org/jira/browse/AXIS2-3662
> Project: Axis 2.0 (Axis2)
> Issue Type: Bug
> Components: kernel
> Affects Versions: 1.3
> Environment: WebSphere Application Server 6.1, Axis2 war deployment
> Reporter: George Marrows
>
> From http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-td15306747.html:
> > We are currently deploying axis2 in Websphere 6.1. We wish to
> > use the jms transport. However axis2 fails to start because
> > it uses forbidden api's.
> >
> > On startup axis2's JMSConnectionFactory class calls the
> > listenOnDestination(String destinationJndi) method. Here it
> > creates a MessageConsumer and calls the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method. This causes failure and the exception thrown is as follows:
> > javax.jms.IllegalStateException: Method setMessageListener
> > not permitted
> >
> > On looking through docs online it is clear that IBM have
> > stuck to the J2EE
> > 1.4 specification. This states that the
> > MessageConsumer.setMessageListener(MessageListener listener)
> > method can not be called in a Web or EJB container. See
> > http://www.ibm.com/developerworks/library/j-getmess/ for details.
> [See http://java.sun.com/j2ee/j2ee-1_4-fr-spec.pdf, section 6.6 for the actual spec reference.]
> This means that the only way of deploying Axis2 with JMS transport on WAS is to use the standalone axis server. This works, but a deployment within the application server would be greatly preferable.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-dev-help@ws.apache.org