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 "Asankha C. Perera (JIRA)" <ji...@apache.org> on 2008/04/01 10:42:25 UTC

[jira] Commented: (AXIS2-3662) Can't use JMS transport from axis2.war on WebSphere Application Server 6.1

    [ 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