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 "Ziborov Egor (JIRA)" <ji...@apache.org> on 2016/12/05 13:10:58 UTC

[jira] [Updated] (AXIS2-5825) [Axis2][Tibco] Correct usage of JMS API to create MessageConsumer

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

Ziborov Egor updated AXIS2-5825:
--------------------------------
    Summary: [Axis2][Tibco] Correct usage of JMS API to create MessageConsumer  (was: [Axis2][Tibco] Corre)

> [Axis2][Tibco] Correct usage of JMS API to create MessageConsumer
> -----------------------------------------------------------------
>
>                 Key: AXIS2-5825
>                 URL: https://issues.apache.org/jira/browse/AXIS2-5825
>             Project: Axis2
>          Issue Type: Bug
>          Components: JMS transport
>    Affects Versions: 1.7.4
>            Reporter: Ziborov Egor
>            Priority: Minor
>
> When we tried to work with Tibco ESB we handle ClassCastException:
> {noformat}
> java.lang.ClassCastException: com.tibco.tibjms.TibjmsxSessionImp cannot be cast to javax.jms.QueueSession
> at org.apache.axis2.transport.jms.JMSUtils.createConsumer(JMSUtils.java:434)
> {noformat}
> Currently Axis2 logic based on correlation Queue (as destination) <-> QueueSession (as a session) and the same for the topics. But it's not correct. Offer rewrite method createConsumer(Session, Destination, String) to:
> {code:java}
>  public static MessageConsumer createConsumer(Session session, Destination dest, String messageSelector) throws JMSException {
>         return (dest instanceof Queue ?
>                 createQueueConsumer(session, (Queue)dest, messageSelector) :
>                 createTopicConsumer(session, (Topic) dest, messageSelector));
>     }
>     public static MessageConsumer createQueueConsumer(Session session, Queue queue, String messageSelector) throws JMSException {
>         return (session instanceof QueueSession) ?
>                 ((QueueSession)session).createReceiver(queue, messageSelector) :
>                 session.createConsumer(queue, messageSelector);
>     }
>     public static MessageConsumer createTopicConsumer(Session session, Topic topic, String messageSelector) throws JMSException {
>         return (session instanceof TopicSession) ?
>                 ((TopicSession)session).createSubscriber(topic, messageSelector, false) :
>                 session.createConsumer(topic, messageSelector);
>     }
> {code}



--
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