Hi,

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.

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.

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

Can anyone advice on the best approach here? And also will axis2 become
compliant with the J2EE 1.4 spec in the future?

Thanks,
Cathal
-- 
View this message in context: 
http://www.nabble.com/setMessageListener-not-permitted-in-Websphere-tp15306747p15306747.html
Sent from the Axis - Dev mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to