axis-java-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Asankha C. Perera (JIRA)" <>
Subject [jira] Commented: (AXIS2-3662) Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
Date Tue, 01 Apr 2008 08:42:25 GMT


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


> Can't use JMS transport from axis2.war on WebSphere Application Server 6.1
> --------------------------------------------------------------------------
>                 Key: AXIS2-3662
>                 URL:
>             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

> > 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 
> > for details. 
> [See, 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:
For additional commands, e-mail:

View raw message