IBM Support

PI54621: IF THE JMS RESOURCE ADAPTER IS USED FOR JBOSS FOR SUBSCRIBTION TO A TOPIC IN WSAS, THE MESSAGES ARE NOT CONSUMED IN JBOSS

Subscribe

You can track all active APARs for this component.

APAR status

  • Closed as program error.

Error description

  • Product: WAS 7.0.0.33. A topic on a SIBus in WAS configured.
    sibc.jmsra.rar adapter is deployed on JBoss AS 7. A MDB is
    deployed with activation specification to subscribe to this
    topic and consume messages.
    According to JCA 1.5 specification both the
    run and release methods in the Work implementation may contain
    synchronization blocks but they must not be declared as
    synchronized methods. The class that implements the
    "javax.resource.spi.work.Work"
    interface in WAS 7.0 has methods that are having the modifier
    "synchronized".
    The result in JBoss traces is:
    ##################################################
    [18/12/2015 12:24:44:963 CET] 0000001f
    s.sib.ra.inbound.impl.SibRaSingleProcessListener Event:
    (com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener)
    [:/a42a751]
    Tracing exception:
    javax.resource.spi.work.WorkException: IJ000257:
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaW
    ork: Run method is synchronized
     at
    org.jboss.jca.core.workmanager.WorkManagerImpl.verifyWork(WorkMa
    nagerImpl.java:686)
     at
    org.jboss.jca.core.workmanager.WorkManagerImpl.checkAndVerifyWor
    k(WorkManagerImpl.java:656)
     at
    org.jboss.jca.core.workmanager.WorkManagerImpl.scheduleWork(Work
    ManagerImpl.java:485)
     at
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaW
    ork.schedule(SibRaSingleProcessListener.java:513)
     at
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener.intern
    alConsumeMessages(SibRaSingleProcessListener.java:329)
    ...
    and the messages in JBoss MDBs are not consumed.
    

Local fix

  • N/A
    

Problem summary

  • ****************************************************************
    * USERS AFFECTED:  All users of IBM WebSphere Application      *
    *                  Server                                      *
    ****************************************************************
    * PROBLEM DESCRIPTION: If the resource adapter                 *
    *                      "sibc.jmsra.rar" is deployed on JBoss   *
    *                      EAP, exceptions are observed when       *
    *                      MDBs running on JBoss attempt to        *
    *                      consume messages from a topic on        *
    *                      Service Integration Bus.                *
    ****************************************************************
    * RECOMMENDATION:                                              *
    ****************************************************************
    While using Service Integration Bus of WebSphere Application
    Server and having the resource adapter "sibc.jmsra.rar"
    deployed on JBoss EAP with an MDB running on JBoss trying to
    consume a message from a topic on the Service Integration Bus
    of WebSphere Application Server, the following exceptions were
    observed:
    1) (com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener)
    [:/a42a751] Tracing exception:
    javax.resource.spi.work.WorkException: IJ000257:
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaW
    ork: Run method is synchronized
    at
    org.jboss.jca.core.workmanager.WorkManagerImpl.verifyWork(WorkMa
    nagerImpl.java:686)
    at
    org.jboss.jca.core.workmanager.WorkManagerImpl.checkAndVerifyWor
    k(WorkManagerImpl.java:656)
    at
    org.jboss.jca.core.workmanager.WorkManagerImpl.scheduleWork(Work
    ManagerImpl.java:485)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaW
    ork.schedule(SibRaSingleProcessListener.java:513)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener.intern
    alConsumeMessages(SibRaSingleProcessListener.java:329)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaListener.consumeMessages(Sib
    RaListener.java:975)
    at
    com.ibm.ws.sib.comms.client.proxyqueue.queue.AsynchConsumerQueue
    .deliverBatch(AsynchConsumerQueue.java:438)
    at
    com.ibm.ws.sib.comms.client.proxyqueue.impl.AsynchConsumerProxyQ
    ueueImpl.deliverMessages(AsynchConsumerProxyQueueImpl.java:936)
    at
    com.ibm.ws.sib.comms.client.proxyqueue.asynch.AsynchConsumerThre
    adPool$ScheduleQueue.run(AsynchConsumerThreadPool.java:218)
    at
    java.util.concurrent.Executors$RunnableAdapter.call(Unknown
    Source)
    at java.util.concurrent.FutureTask$Sync.innerRun(Unknown
    Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at
    java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown
    Source)
    at
    java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown
    Source)
    at java.lang.Thread.run(Unknown Source)
    JBoss validates if the run and release methods of a class that
    implements the javax.resource.spi.work.Work interface are
    synchronized and if so throws an exception. The run and release
    methods of "javax.resource.spi.work.Work" shouldn't be
    synchronized as per the spec.
    2) The following exception was observed when SIB traces were
    enabled in JBoss during the time the MDB was trying to consume
    message :
    (com.ibm.ws.sib.ra.inbound.impl.SibRaMessagingEngineConnection$S
    ibRaConnectionListener) [:/23ab8f3f] Entry
    com.ibm.ws.sib.comms.client.ConsumerSessionProxy@35a3ae73
    java.lang.StackOverflowError
    00000035 > com.ibm.ws.sib.api.jms.impl.JmsDestinationImpl
    fullEncode (com.ibm.ws.sib.api.jms.impl.JmsDestinationImpl)
    [:/70d5fcfe]
    Entry
    ....
    ....
    at
    org.jboss.jca.core.workmanager.WorkManagerImpl.toString(WorkMana
    gerImpl.java:1147)
    at java.lang.String.valueOf(String.java:1663)
    at java.lang.StringBuffer.append(StringBuffer.java:190)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaStringGenerator.addField(Sib
    RaStringGenerator.java:95)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaEndpointActivation.getString
    Generator(SibRaEndpointActivation.java:722)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaEndpointActivation.toString(
    SibRaEndpointActivation.java:705)
    at java.lang.String.valueOf(String.java:1663)
    ....
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaStringGenerator.addField(Sib
    RaStringGenerator.java:95)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaResourceAdapterImpl.toString
    (SibRaResourceAdapterImpl.java:539)
    at java.lang.String.valueOf(String.java:1663)
    at java.lang.StringBuilder.append(StringBuilder.java:194)
    at
    org.jboss.jca.core.workmanager.WorkManagerImpl.toString(WorkMana
    gerImpl.java:1147)
    ...
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaStringGenerator.addField(Sib
    RaStringGenerator.java:95)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener.getStr
    ingGenerator(SibRaSingleProcessListener.java:453)
    at
    com.ibm.ws.sib.ra.inbound.impl.SibRaListener.toString(SibRaListe
    ner.java:1061)
    at com.ibm.ejs.ras.Tr.formatObj(Tr.java:871)
    at com.ibm.ejs.ras.Tr.exit(Tr.java:686)
    at com.ibm.ws.sib.utils.ras.SibTr.exit(SibTr.java:976)
    ..
    at
    com.ibm.ws.sib.comms.client.proxyqueue.impl.AsynchConsumerProxyQ
    ueueImpl.deliverMessages(AsynchConsumerProxyQueueImpl.java:936)
    at
    com.ibm.ws.sib.comms.client.proxyqueue.asynch.AsynchConsumerThre
    adPool$ScheduleQueue.run(AsynchConsumerThreadPool.java:218)
    ...
    at java.lang.Thread.run(Thread.java:798)
    "java.lang.StackOverflowError" exception was observed due to
    recursive calls in SIB code.
    3) "java.lang.NoClassDefFoundError:
    com/ibm/ws/Transaction/TxSIBRAHelper"
    The class "TxSIBRAHelper" was newly created in 7.0.0.31 and was
    not included as part of the resource adapter "sibc.jmsra.rar"
    

Problem conclusion

  • The code has been fixed to ensure that we adhere to the spec
    and avoid the StackOverflowError. We have added the class
    "TxSIBRAHelper" to the resource adapter "sibc.jmsra.rar" to
    address the NoClassDefFoundError.
    
    The fix for this APAR is currently targeted for inclusion in
    fix packs 7.0.0.43, 8.0.0.13, and 8.5.5.10.  Please refer to
    the Recommended Updates page for delivery information:
    http://www.ibm.com/support/docview.wss?rs=180&uid=swg27004980
    

Temporary fix

Comments

APAR Information

  • APAR number

    PI54621

  • Reported component name

    WEBS APP SERV N

  • Reported component ID

    5724H8800

  • Reported release

    700

  • Status

    CLOSED PER

  • PE

    NoPE

  • HIPER

    NoHIPER

  • Special Attention

    NoSpecatt / Xsystem

  • Submitted date

    2015-12-30

  • Closed date

    2016-02-26

  • Last modified date

    2016-11-18

  • APAR is sysrouted FROM one or more of the following:

  • APAR is sysrouted TO one or more of the following:

Fix information

  • Fixed component name

    WEBS APP SERV N

  • Fixed component ID

    5724H8800

Applicable component levels

  • R700 PSY

       UP

  • R800 PSY

       UP

  • R850 PSY

       UP



Document information

More support for: WebSphere Application Server
General

Software version: 7.0

Reference #: PI54621

Modified date: 18 November 2016