You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@cxf.apache.org by "Rainer Müller (JIRA)" <ji...@apache.org> on 2017/05/02 13:40:04 UTC

[jira] [Commented] (CXF-7023) SOAP over JMS transport does not use XA transactions with Websphere MQ resource adapter

    [ https://issues.apache.org/jira/browse/CXF-7023?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15992910#comment-15992910 ] 

Rainer Müller commented on CXF-7023:
------------------------------------

See class {{com.ibm.mq.connector.jar!/com/ibm/mq/connector/outbound/ConnectionWrapper.class}} from WebSphere MQ resource adapter {{wmq.jmsra.rar}} version {{7.5.0.5}}

{code:java}
  public Session createSession(boolean arg0, int arg1)
    throws JMSException
  {
    JCATraceAdapter.traceEntry(this, "ConnectionWrapper", "createSession(boolean, int)", new Object[] { new Boolean(arg0), new Integer(arg1) });
    try
    {
      assertOpen();
      if (this.theSessionWrapper == null) {
        this.theSessionWrapper = new SessionWrapper(this, this.theManagedConnection.getPhysicalSession());
      } else {
        throw ((JMSException)JCAExceptionBuilder.buildException(3, "MQJCA1018"));
      }
      JCATraceAdapter.traceData(this, "ConnectionWrapper", "createSession(boolean, int)", "Session", this.theSessionWrapper);
      
      return this.theSessionWrapper;
    }
    finally
    {
      JCATraceAdapter.traceExit(this, "ConnectionWrapper", "createSession(boolean, int)");
    }
  }
{code}

Resource {{com.ibm.mq.connector.jar!/com/ibm/mq/connector/services/resources/MQJCA_MessageResourceBundle.properties}}

{noformat}
# Cannot create more than one Session per Connection
MQJCA1018 = Only one session per connection is allowed.
MQJCA1018.explanation = The application attempted to create more than one JMS session on the same JMS connection. This exception occurs only if the application is running in a managed environment.
MQJCA1018.useraction = Modify the application so that it creates only one JMS session on a JMS connection.
{noformat}



> SOAP over JMS transport does not use XA transactions with Websphere MQ resource adapter
> ---------------------------------------------------------------------------------------
>
>                 Key: CXF-7023
>                 URL: https://issues.apache.org/jira/browse/CXF-7023
>             Project: CXF
>          Issue Type: Bug
>          Components: JMS
>    Affects Versions: 3.1.7
>            Reporter: Nikolay Boklaschuk
>            Assignee: Christian Schneider
>
> When using Websphere MQ resource adapter
> Inbound one-way service does not uses XA transactions.
> This is because WMQ adapter decides to use XA transaction when creates jms connection, but connection opened in JMSDestination, and transaction started in PollingMessageListnerContainer after connection created.
> Futhermore WMQ adapter holds only one session per connection.
> I have patched XAPoller to hold connection for each thread, it works, but may be there are better way to provide support for WMQ adapter? 



--
This message was sent by Atlassian JIRA
(v6.3.15#6346)