TransactionRolledbackLocalException in JMS Embedded Messaging...

We"re using two Message Driven Beans (say MDB1 and MDB2) and two EJBs (say EJB1 and EJB2) in a module in our project to implement JMS Embedded messaging on WAS5.1 (using WSAD5.1.2 environment)
The MDB2"s onMessage() listens to a queue written by EJB1 and MDB1"s onMessage() also listens to a queue written by EJB1.
Flow:-
EJB1 starts first and writes a queue to the MDB2, which asynchronously invokes the EJB2 and this EJB2, after calls to a few utility classes invokes EJB1. Then, EJB1, with the Vector input from EJB2 writes a queue to be captured by MDB1.
The first flow of EJB1 --> MDB2 works fine, but the second part (EJB1 --> MDB1) is failing and the MDB2 is also getting shut down because of this. The cause of this is a <b>javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException</b>
Can someone who"s already faced such a challege kindly help?
This is the stack trace:- (for sake of clarity, MSSPriceChangeAlertMDB in the below trace is the MDB2)
[8/9/05 19:55:11:951 EDT] 234d1b6e RegisteredRes E WTRN0063E: An illegal attempt to commit a one phase capable resource with existing two phase capable resources has occurred.
[8/9/05 19:55:14:467 EDT] 2a50db6e JMSExceptionL E WMSG0018E: Error on JMSConnection for MDB MSSPriceChangeAlertMDB , JMSDestination jms/MarketDataQueue : javax.jms.JMSException: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: {0}
at com.ibm.mq.jms.services.ConfigEnvironment.newException(ConfigEnvironment.java:540)
at com.ibm.mq.jms.MQQueueAgentThread.run(MQQueueAgentThread.java:1583)
at java.lang.Thread.run(Thread.java:568)
---- Begin backtrace for Nested Throwables
java.lang.NullPointerException
at com.ibm.mq.jms.MQQueueAgentThread.processMessage(MQQueueAgentThread.java:368)
at com.ibm.mq.jms.MQQueueAgentThread.run(MQQueueAgentThread.java:1557)
at java.lang.Thread.run(Thread.java:568)
[8/9/05 19:55:14:576 EDT] 2a50db6e JMSExceptionL E WMSG0057E: Error on JMSConnection for MDB MSSPriceChangeAlertMDB , JMSDestination jms/MarketDataQueue , JMS Linked Exception : java.lang.NullPointerException
at com.ibm.mq.jms.MQQueueAgentThread.processMessage(MQQueueAgentThread.java:368)
at com.ibm.mq.jms.MQQueueAgentThread.run(MQQueueAgentThread.java:1557)
at java.lang.Thread.run(Thread.java:568)
[8/9/05 19:55:14:654 EDT] 2a50db6e MDBListenerIm I WMSG0043I: MDB Listener MarketDataAlertListener stopped for JMSDestination jms/MarketDataQueue
[8/9/05 19:55:14:982 EDT] 234d1b6e ServerSession W WMSG0031E: Exception processing JMS Message for MDB MSSPriceChangeAlertMDB, JMSDestination jms/MarketDataQueue : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
com.ibm.ws.exception.WsEJBException
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:159)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3128)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java:96)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:165)
at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3128)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:372)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
Thanks a ton in advance!

hi
I am using two MDb nad about 5 Ejb's..thw transaction attribute for the MDB are set to Required..and for the EjB it is set to Not Supported.Moreover i am using a CLi datasource...but i am getting this error:::::
ServerSession W WMSG0031E: Exception processing JMS Message for MDB AggregatedMT598PosnSwiftReader, JMSDestination jms/accounting/ACCT.MT598_535.CORR.OUT.QUEUE : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
com.ibm.ws.exception.WsEJBException
     at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:159)
     at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
     at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3159)
     at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
     at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
     at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
     at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java:96)
     at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java:165)
     at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrategy.java:293)
     at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java:3159)
     at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:102)
     at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java:127)
     at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java:375)
     at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:936)
PLz help..its kind of urgent

Similar Messages

  • Exception in websphere starting (embedded messaging)

    When I am starting the websphere server with Embedded messaging enabled. I am gettig the following error. Please give me some pointers to resolve this.
    ====================
    [12/9/05 19:43:52:609 IST] 3da283eb QueueManagerM E MSGS0101E: Start Queue Manager command failed with exit code: 2
    [12/9/05 19:43:52:625 IST] 3da283eb JMSService E MSGS0001E: Starting the
    JMS Server failed with exception: java.lang.Exception: MSGS0101E: Start Queue Manager command failed with exit code: 2
    at
    com.ibm.ws.messaging.QueueManagerManager.startQueueManager(QueueManagerManager.java:393)
    at
    com.ibm.ws.messaging.JMSEmbeddedProviderImpl.start(JMSEmbeddedProviderImpl.java:182)
    at com.ibm.ws.messaging.JMSService.start(JMSService.java:288)
    at
    com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
    at
    com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
    at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
    at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
    at java.lang.reflect.Method.invoke(Method.java:386)
    at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
    at
    com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:97)
    [12/9/05 19:43:52:688 IST] 3da283eb ContainerImpl E WSVR0501E: Error creating component null [class com.ibm.ws.messaging.JMSService]
    com.ibm.ws.exception.RuntimeWarning: MSGS0001E: Starting the JMS Server failed with exception: java.lang.Exception: MSGS0101E: Start Queue Manager command failed with exit code: 2
    at com.ibm.ws.messaging.JMSService.start(JMSService.java:295)
    at
    com.ibm.ws.runtime.component.ContainerImpl.startComponents(ContainerImpl.java:536)
    at
    com.ibm.ws.runtime.component.ContainerImpl.start(ContainerImpl.java:413)
    at com.ibm.ws.runtime.component.ServerImpl.start(ServerImpl.java:183)
    at com.ibm.ws.runtime.WsServer.start(WsServer.java:128)
    at com.ibm.ws.runtime.WsServer.main(WsServer.java:225)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at
    sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79)
    at
    sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:41)
    at java.lang.reflect.Method.invoke(Method.java:386)
    at com.ibm.ws.bootstrap.WSLauncher.main(WSLauncher.java:94)
    at
    com.ibm.etools.websphere.tools.runner.api.ServerRunnerV5$1.run(ServerRunnerV5.java:97)
    ====================

    Did you check other logs when start? Such as if any component not installed, or disabled...

  • Error :- while accessing JMS topic messages in Design Studio

    Hi,
    Am getting this error while clicking update button in Design Studio to populate a dataobject using JMS Topic messages sent by oracle Bpel manager.
    IMessageSourceReceiver->messageReceive: javax.naming.NoInitialContextException: Cannot instantiate class: oracle.j2ee.rmi.RMIInitialContextFactory. Root exception is java.lang.ClassNotFoundException: oracle.j2ee.rmi.RMIInitialContextFactory
    Can you tell me where to find the class and how to use it to resolve the problem?
    P.S:-
    If you can provide any document how oracle BPEL process manager use JMS topic to send message to Oracle BAM and display in reports.
    Thanks in advance
    Cheers,
    Praveen G
    iSOFT R& D Pvt Ltd.
    [email protected]

    Hi,
    We are using BAM 10.1.3 against BPEL 10.1.2 and we cannot get it to work.
    We are also getting the error "javax.naming.NoInitialContextException: Cannot instantiate class: oracle.j2ee.rmi.RMIInitialContextFactory...." .
    Our startup paramters for Enterprise Source “Oracle (AS JMS and OJMS) looks like this:
    JMS*".;C:\OracleBAM\OC4J\j2ee\home\lib\jms.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jndi.jar;C:\OracleBAM\OC4J\j2ee\home\oc4j.jar;C:\OracleBAM\OC4J\j2ee\home\oc4jclient.jar;C:\OracleBAM\OC4J\j2ee\home\lib\oc4j-internal.jar;C:\OracleBAM\OC4J\j2ee\home\lib\ejb.jar;C:\OracleBAM\OC4J\j2ee\home\lib\servlet.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jta.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jms.jar;C:\OracleBAM\OC4J\j2ee\home\lib\javax88.jar;C:\OracleBAM\OC4J\j2ee\home\lib\javax77.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jmxri.jar;C:\OracleBAM\OC4J\j2ee\home\lib\jmx_remote_api.jar;C:\OracleBAM\OC4J\j2ee\home\lib\adminclient.jar;C:\OracleBAM\OC4J\j2ee\home\ojspc.jar;C:\OracleBAM\OC4J\j2ee\home\jazn.jar;C:\OracleBAM\OC4J\opmn\lib\optic.jar;C:\OracleBAM\OC4J\rdbms\jlib\aqapi.jar;"".;c:\TIBCO\JMS\clients\java\tibjms.jar;c:\TIBCO\JMS\clients\java\jms.jar;c:\TIBCO\JMS\clients\java\jndi.jar;c:\TIBCO\JMS\clients\java\jta-spec1_0_1.jar;c:\TIBCO\JMS\clients\java\jcert.jar;c:\TIBCO\JMS\clients\java\jnet.jar;c:\TIBCO\JMS\clients\java\jsse.jar;c:\TIBCO\JMS\clients\java\tibcrypt.jar;"".;C:\Program Files\IBM\WebSphere MQ\Java\lib\com.ibm.mq.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\com.ibm.mqjms.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\connector.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jms.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jndi.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\jta.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\providerutil.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\fscontext.jar;C:\Program Files\IBM\WebSphere MQ\Java\lib\ldap.jar;"".;C:\Program Files\SonicSoftware\SonicMQ\lib\sonic_Client.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\gnu-regexp-1.0.6.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\jaxp.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\xerces.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\tools.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\providerutil.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\fscontext.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\sslj.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\jsafe.jar;C:\Program Files\SonicSoftware\SonicMQ\lib\certj.jar;"".;C:\bea\weblogic700\server\lib\weblogic.jar;"".;C:\eGate\client\classes\stcjms.jar;C:\eGate\client\JRE\1.3\lib\ext\fscontext.jar;C:\eGate\client\JRE\1.3\lib\ext\providerutil.jar;C:\eGate\client\ThirdParty\sun\jms.jar;C:\eGate\client\ThirdParty\sun\jndi.jar;C:\eGate\client\ThirdParty\sun\jta.jar;"".;C:\JNDI-Directory_WebMethods\fscontext.jar;C:\JNDI-Directory_WebMethods\providerutil.jar;C:\JNDI-Directory_WebMethods\javax.jms.jar;C:\Program Files\webMethods6\Broker\lib\BrokerJMS60.jar;C:\Program Files\webMethods6\common\lib\client60.jar;C:\Program Files\webMethods6\Broker\lib\xerces.jar;"
    We are trying to get to our oc4j container on our BPEL server. We have the following settings on our created message sourcein BAM architect:
    Initial Context Factory: oracle.j2ee.rmi.RMIInitialContextFactory
    JNDI Service Provider URL: opmn:ormi://hostname:6003:OC4J_BPEL
    TopicConnectionFactory Name: java:comp/resource/ojms_ipl/TopicConnectionFactories/iplerror
    Topic Name: java:comp/resource/ojms_ipl/Topics/iplerror
    ojms_ipl refers to the datasource on our BPEL server that is defined in application.xml.
    Where is the class located?
    Best regards

  • PI 7.0 SP15 alerts JMS Duplicate message error

    Hi all,
    We have a scenario where in we  receive BAPI calls to R/3 from web through MQ and XI.
    WEB -> MQ->XI->R/3 (Request / Response send back similarly)
    We have modular configuration in the channel.
    All these BAPI messages are queries needed to build an order for example product information / customer information etc.
    We have PI 7.0 SP15
    Sometimes we receive the error ' Duplicate JMS message with JMS ID##### detected.Duplicate will be ignored' in the sender JMS channel.Because of this error XI is not able to process subsequent messages and the channel keeps on throwing the same error.We need to clear the queue and then restart the channel to make it work.
    Can any one please tell me what is the reason for occurence of this error..?
    Is this ID generated in JMS or in XI?If so how this could be handled without clearing the queue's..?
    When we analyzed the messages in the queue we found out same xml messages been send twice which i would imagine the query been send twice(which is a possiblity from the web) would that have caused this JMS duplcate message error??!!
    Also because of this error XI is throwing multiple alert messages at the rate of 3 per second which is causing the huge performance hit as the alert inbox gets filled up..We did put the suppress multiple alert check..but before somebody reacts to these alerts there are numerous of them created..any suggestions on this is much appreciated..
    Thanks for your help in advance
    Larry

    Larry,
    Is that alert rule is generic or interface specific? If it is generic then please make it interface specific.
    Thanks,
    Sunil

  • Get parent of Embedded message

    Hello all.
    I have a message with the following structure:
    Message
    multipart-1
    gif1
    embedded message (Content-Type: message/rfc822)
    multipart-2
    text
    gif2
    I have the gif2 body part in my hand, and I want to get the message-id header of the outer message.
    I can get the parent of the gif body part (the multipart-2), and the parent of that multipart-2 (the embedded message).
    How can I get on from here? How can I get the first multipart (multipart-1), and from there the outer message, and from
    it, the message-id header?
    thanks in advance,
    Alon

    The structure is:
    Message
    ---multipart-1
    -------gif1
    -------embedded message (Content-Type: message/rfc822)
    ----------multipart-2
    -------------text
    -------------gif2

  • Change Directory/Folder of JMS xml messages

    Hi
    I have a requirement to change the directory where JMS queue messages (xml files) are located.
    Is this a simple configuration change or something more major?
    Can anyone give me any tips on how to proceed
    Thanks

    Thanks for your reply.
    I realise I didn't state my version earlier which is Weblogic 8.1.
    I'm not sure if it is the JMS module folder as my experience with Weblogic is very minimal.
    The folder I wish to change is where the JMS queues store the messages that have been posted to the queues.
    I believe this is known as the file store.
    Is it the config.xml file I need to change for this?
    Is there a web interface for version 8 to change this configuration?
    Thanks again

  • Oracle AQ JMS Map messages Permissions

    Hello,
    I am trying to use a JMS Map message in a trigger but cannot get it to work. I have created i_aquser and given the following
    privileges (after looking at the forums) however when I tried to compile my trigger, I get the following error
    message := sys.aq$_jms_map_message.construct;
    ERROR at line 4:
    ORA-06550: line 4, column 40:
    PLS-00302: component 'CONSTRUCT' must be declared
    ORA-06550: line 4, column 5:
    PL/SQL: Statement ignored
    -- PLSQL
    GRANT CONNECT TO i_aquser;
    GRANT DBA TO i_aquser;
    GRANT AQ_ADMINISTRATOR_ROLE TO i_aquser;
    GRANT EXECUTE ON SYS.DBMS_AQADM TO i_aquser;
    GRANT EXECUTE ON SYS.DBMS_AQ TO i_aquser;
    GRANT EXECUTE ON SYS.DBMS_AQIN TO i_aquser;
    GRANT EXECUTE ON SYS.DBMS_AQJMS TO i_aquser;
    GRANT EXECUTE ON SYS.DBMS_AQJMS_INTERNAL TO i_aquser;
    GRANT EXECUTE ON SYS.AQ$_JMS_HEADER TO i_aquser;
    GRANT EXECUTE ON SYS.SYS.AQ$_JMS_MAP_MESSAGE TO i_aquser;
    --Connect i_aquser/i_aquser
    -- Trigger code Removed
    DECLARE
    message sys.aq$_jms_map_message;
    BEGIN
    message := sys.aq$_jms_map_message.construct;
    -- Remaining stuff
    COMMIT;
    END;
    What other permissions are required? Any help / suggestion is welcome.
    Thanks and Regards
    Amit
    PS: Apologies for duplicate posting of this thread in two discussion forums

    Is this against a 9i database or 10g database?

  • Any example for ENQUEUE_ARRAY for JMS compatible messages?

    Is there any examples of using ENQUEUE_ARRAY with messages that are compatible with JMS? either a VARRAY or NESTED TABLE of JMS content?
    I have an after insert trigger that propagates to JMS and in the for each row loop I'd much rather enqueue as a batch than for each individual message.
    It's hard enough getting JMS compatible content working where you are enqueuing just a single message but just what's involved to get this working with batches of JMS compatible messages?

    Hi prajithparan,
    Thanks for the response. I already looked at the link and a few other links in this forum that are related to array inserts/updates. However, I could not find answers to my specific questions. I am specifically concerned with the setup of parameters to the API calls (OCIBindByName and OCIBindArrayOfStruct) that fully reflects the two-dimensional nature of the array of structs that I am trying to insert.
    Moreover, I need to set the data type of the columns to be inserted as SQLT_STR. I think this data type requires the programmer to supply the length of the null terminated C strings as well. If we are inserting just one column, we can provide the length of each of the strings to be inserted into a VARCHAR2 column as part of a OCIBind call, for each of those columns.
    Since in an array insert, we are supplying multiple rows at the same time, how do we supply the lengths of strings to be inserted ? Should it be some form of two-dimensional array ?
    I could not get clear answers to these questions from either the Oracle documentation or the links on this forum. May be the answers are there and I am just missing them ?

  • JMS based message service and Service account in OSB

    Hi forum,
    I have query regarding JMS base messaging service and Service account.
    My OSB service:
    I have created one OSB service which of type JMS
    configuration :
    General :Messaging
    Messaging: Request type :XML response type :none
    Transport:JMS
    JMS Transport: Destination Type queue., JMS Service account :.........(browse)
    My requirement is to provide security to JMS proxy.
    I have seen one option available in JMS transport is JMS Service Account.
    I dont have a idea about using service accounts in JMS.
    can any one pls give idea about JMS service account in JmS.How to provide security to jms proxy...
    If u have any documents pls share me
    Thanks & regards,
    Krishna.

    In your weblogic console go to your JMS Modules > ***JMSModule >****Queue >Roles >Policies. Add a user to the queue.This user should be there in the security realm of the weblogic console.
    Create a service account with the same user name password and use it in your OSB to read or write to the queue.

  • Does Websphere Embedded Messaging support standalone creator/consumer?

    Hi Guys,
    From internet I see some articles talking about limitation of Websphere Embedded Messaging, that it only supports communications between applications hosted on two or more WAS server in same cell. My question is, can I write a standalone message creator/consumer, looking for embedded messaging service from JNDI, and use it?
    Very thx!
    Qin

    Could you give us some more detail, such as jndi properties, waht jar files we need?
    Great appreciated!!!

  • WLS7 JMS Max Message Size

              I have done a search and found many questions on Max Message size, but I didnt
              find any relating specifically to WLS7.
              Q1: Is there a JMS Message Size limit the same as the T3 Max Message size?
              Q2: Does the WLS JMS implementation "chunk" large JMS messages into multiple T3
              messages?
              Cheers,
              Nick
              

    Hi Nick,
              The performance is hard to predict. It is highly dependent on message
              type, application overhead, persistence, store type, CPU and network
              speed, etc., so you will need to measure it yourself. I think you will
              find that once message size exceeds 100K, perhaps less, perhaps more,
              JMS throughput is directly proportional to message size. (eg. it takes
              the same amount of time to send 10 100K messages as it does to send 1
              1MB message.)
              I understand what your "chunking" question were about now. You may
              find it useful to know that since its earliest releases, WebLogic
              outbound requests from one JVM to another are "single threaded" from a
              layered application's point of view: outbound traffic from one
              application must wait until previous requests posted by other apps are sent.
              Tom, BEA
              Nick Minutello wrote:
              > Thanks Tom, for the answers.
              >
              > My questions, I guess, are getting to the bottom of whether I can send huge messages
              > over WLS JMS - in the region of 10's of megabytes.
              >
              > Naturally, I can always send smaller messages - but there are occasions where
              > I have very large messages (files, in fact) and I prefer to have all processing
              > on the server side rather than the JMS client side.
              >
              > What are your thoughts?
              >
              > -Nick
              >
              >
              > Tom Barnes <[email protected]> wrote:
              >
              >>Hi Nick,
              >>
              >>Nick Minutello wrote:
              >>
              >>>I have done a search and found many questions on Max Message size,
              >>
              >>but I didnt
              >>
              >>>find any relating specifically to WLS7.
              >>>
              >>>Q1: Is there a JMS Message Size limit the same as the T3 Max Message
              >>
              >>size?
              >>
              >>Up to 7.0 there is no configurable for JMS max message size. In 8.1
              >>
              >>(public beta soon) it can be configured on the JMS server and/or on the
              >>
              >>JMS destination. In either case, the T3 max message size is a limiting
              >>
              >>factor.
              >>
              >>One thing to be aware of is that WL JMS aggregates asynchronous messages
              >>
              >>when pushing from server to asynchronous consumers - producing larger
              >>T3
              >>messages which can hit the T3 max limit. The number of messages that
              >>
              >>get aggregated is configurable on the WL connection factory
              >>(MessagesMaximum).
              >>
              >>
              >>>Q2: Does the WLS JMS implementation "chunk" large JMS messages into
              >>
              >>multiple T3
              >>
              >>>messages?
              >>
              >>Yes and No. (WebLogic "chunks" internally at the T3 layer, not the JMS
              >>
              >>layer.)
              >>
              >>
              >>>Cheers,
              >>>Nick
              >>
              >>Tom, BEA
              >>
              >
              >
              

  • JMS Server Message Buffer Size & Thresholds and Quotas settings

    On WLS10MP1,
    For persistent messages:
    1.Does "JMS Server Message Buffer" setting serve the same purpose as "Bytes Threshold High" under Threshold ?
    2.If no, can someone explain the difference pls.
    Many thanx,

    Message Buffer Size relates to the number of message the JMS server keeps in the memory. The value of this determines when the server should start paging the message out of memory to a persistence store. So this is directly related with the memory/storage issue and the size of messages.
    Bytes Threshold High relates to the performance of the JMS server. When this limit is reached JMS server starts logging the message and may even instruct he producer to slow down the message input.
    So the if you get Bytes Threshold High messages that means you should check on your consumer (MDB who is picking up messages from the que), and try to increase its performance.
    However if your Message Buffer Size is crossing limits then you should think of increasing the momory so that more messages can be kept in memory and disck IO can be reduce.
    Anyone wants to add something more to it?

  • Read JMS Map message in BPEL

    Hi all,
    I am trying to read JMS Map message in BPEL. Below is the message which is consumed from the JMS queue by JMS adapter.
    <Receive1_Consume_Message_InputVariable>
    <part  name="body">
    <MapMessage> <entry  name="createUser"  dt="String">jcooper</entry>  
    <entry  name="Operation"  dt="String">INSERT</entry>
    <entry  name="CorrelationId"  dt="Long">2345</entry>
    </MapMessage>
    </part>
    </Receive1_Consume_Message_InputVariable>
    How to traverse all the key and name value pairs? Is there any function in XSLT to achieve this? Please let me know.
    Thanks

    I publish a JMS message to a topic in one BPEL process and have another BPEL process read from the topic and start the flow. The problem I have is that the first process is writing fine to the topic, but the second process seems to be reading twice. I am seeing two instances of the second process in em.
    Can anyone help? I am using JDev 11.1.1.1.0
    Thanks

  • TransactionRolledbackLocalException in JMS messaging application

    Hi, I have a message driven bean (MDB) that gives the following error and I'm unable to resolve it. Any help would be appreciated. Thanks.
    [1/18/06 15:17:44:977 PST] 7d9913e7 SystemOut O Exception occurred inside AppLogMDBean: java.lang.NullPointerException
    [1/18/06 15:17:44:986 PST] 7d9913e7 ServerSession W WMSG0031E: Exception processing JMS Message for MDB AppLogReceiverMDB, JMS
    Destination jms/appLogQueue : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJ
    BException
    com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java(Compiled Cod
    e))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    this is the code for the onMessage function of the bean
    public void onMessage(javax.jms.Message msg)
              int executeStatus          = -1;
              Connection con               = null;
              DataSource ds               = null;
              String dataSourceName     = null;
              PreparedStatement stmt     = null;
              MapMessage mapMessage     = null;
              String sqlStatement          = null;
              Properties properties;
              CommonPropertiesHelper propertyHelper;
              try{
                   mapMessage = (MapMessage)msg;
                   propertyHelper = CommonPropertiesHelper.getInstance("EGOVJournal.properties");
                   properties = propertyHelper.getProperties();
                   sqlStatement = properties.getProperty("INSERT_VIRR052U_APP_LOG");
                   dataSourceName = properties.getProperty("DATA_SOURCE");
                   if ( (sqlStatement != null) && (dataSourceName != null)){
                        UserTransaction transaction = fMessageDrivenCtx.getUserTransaction();
                        transaction.begin();
                        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
                        ds = (javax.sql.DataSource) ctx.lookup(dataSourceName);
                        con = ds.getConnection();
                        if (con != null){
                             int x = 1;
                             stmt = con.prepareStatement(sqlStatement);
                             String logId     = mapMessage.getString("LOG_ID");
                             if (logId.length() > 40)
                                  logId = logId.substring(0,39);
                             String jnlId     = mapMessage.getString("JOURNAL_ID");
                             if (jnlId.length() > 40)
                                  jnlId = jnlId.substring(0,39);
                             String appName     = mapMessage.getString("APPLICATION_NAME");
                             if (appName.length() > 30)
                                  appName = appName.substring(0,29);
                             String logLevel     = mapMessage.getString("LOGGING_LEVEL");
                             if (logLevel.length() > 2)
                                  logLevel = logLevel.substring(0,1);
                             String msgName     = mapMessage.getString("MESSAGE_NAME");
                             if(msgName.length() > 100)
                                  msgName = msgName.substring(0,99);
                             String msgDesc     = mapMessage.getString("MESSAGE_DESCRIPTION");
                             if (msgDesc.length() > 1800)
                                  msgDesc = msgDesc.substring(0,1799);
                             stmt.setObject(x,logId);
                             x++;
                             stmt.setObject(x,jnlId);
                             x++;
                             stmt.setObject(x,appName);
                             x++;
                             stmt.setObject(x,logLevel);
                             x++;
                             stmt.setObject(x,msgName);
                             x++;
                             stmt.setObject(x,msgDesc);
                             x++;
                             // Execute the Prepared Statement
                             executeStatus = stmt.executeUpdate();
                             stmt.close();
                             con.close();
                             transaction.commit();
                        else{
                             System.out.println("Connection is null inside AppLogMDBean");
                   else{
                        System.out.println("Either sql or dataSource is null inside AppLogMDBean. Can't continue.");
              catch(NamingException e){
                   System.out.println("NamingException occurred inside AppLogMDBean: " + e);
              catch(JMSException e){
                   System.out.println("JMSException occurred inside AppLogMDBean: " + e);
              catch(Exception e){
                   System.out.println("Exception occurred inside AppLogMDBean: " + e);
              finally{
                   try{
                        if(stmt!=null){
                             stmt.close();
                             stmt = null;
                        if(con != null){
                             con.close();
                             con = null;
                   catch(Exception e){
                        System.out.println("Exception occurred inside AppLogMDBean in finally block : " + e);
         }

    Hi, I have a message driven bean (MDB) that gives the following error and I'm unable to resolve it. Any help would be appreciated. Thanks.
    [1/18/06 15:17:44:977 PST] 7d9913e7 SystemOut O Exception occurred inside AppLogMDBean: java.lang.NullPointerException
    [1/18/06 15:17:44:986 PST] 7d9913e7 ServerSession W WMSG0031E: Exception processing JMS Message for MDB AppLogReceiverMDB, JMS
    Destination jms/appLogQueue : javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJ
    BException
    com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    javax.ejb.TransactionRolledbackLocalException: ; nested exception is: com.ibm.ws.exception.WsEJBException
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSIException(LocalExceptionMappingStrategy.java(Compiled Cod
    e))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapException(LocalExceptionMappingStrategy.java(Compiled Code))
    at com.ibm.ejs.container.LocalExceptionMappingStrategy.mapCSITransactionRolledBackException(LocalExceptionMappingStrat
    egy.java(Compiled Code))
    at com.ibm.ejs.container.EJSContainer.postInvoke(EJSContainer.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.container.MDBWrapper.onMessage(MDBWrapper.java(Compiled Code))
    at com.ibm.ejs.jms.listener.ServerSession.run(ServerSession.java(Compiled Code))
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
    this is the code for the onMessage function of the bean
    public void onMessage(javax.jms.Message msg)
              int executeStatus          = -1;
              Connection con               = null;
              DataSource ds               = null;
              String dataSourceName     = null;
              PreparedStatement stmt     = null;
              MapMessage mapMessage     = null;
              String sqlStatement          = null;
              Properties properties;
              CommonPropertiesHelper propertyHelper;
              try{
                   mapMessage = (MapMessage)msg;
                   propertyHelper = CommonPropertiesHelper.getInstance("EGOVJournal.properties");
                   properties = propertyHelper.getProperties();
                   sqlStatement = properties.getProperty("INSERT_VIRR052U_APP_LOG");
                   dataSourceName = properties.getProperty("DATA_SOURCE");
                   if ( (sqlStatement != null) && (dataSourceName != null)){
                        UserTransaction transaction = fMessageDrivenCtx.getUserTransaction();
                        transaction.begin();
                        javax.naming.InitialContext ctx = new javax.naming.InitialContext();
                        ds = (javax.sql.DataSource) ctx.lookup(dataSourceName);
                        con = ds.getConnection();
                        if (con != null){
                             int x = 1;
                             stmt = con.prepareStatement(sqlStatement);
                             String logId     = mapMessage.getString("LOG_ID");
                             if (logId.length() > 40)
                                  logId = logId.substring(0,39);
                             String jnlId     = mapMessage.getString("JOURNAL_ID");
                             if (jnlId.length() > 40)
                                  jnlId = jnlId.substring(0,39);
                             String appName     = mapMessage.getString("APPLICATION_NAME");
                             if (appName.length() > 30)
                                  appName = appName.substring(0,29);
                             String logLevel     = mapMessage.getString("LOGGING_LEVEL");
                             if (logLevel.length() > 2)
                                  logLevel = logLevel.substring(0,1);
                             String msgName     = mapMessage.getString("MESSAGE_NAME");
                             if(msgName.length() > 100)
                                  msgName = msgName.substring(0,99);
                             String msgDesc     = mapMessage.getString("MESSAGE_DESCRIPTION");
                             if (msgDesc.length() > 1800)
                                  msgDesc = msgDesc.substring(0,1799);
                             stmt.setObject(x,logId);
                             x++;
                             stmt.setObject(x,jnlId);
                             x++;
                             stmt.setObject(x,appName);
                             x++;
                             stmt.setObject(x,logLevel);
                             x++;
                             stmt.setObject(x,msgName);
                             x++;
                             stmt.setObject(x,msgDesc);
                             x++;
                             // Execute the Prepared Statement
                             executeStatus = stmt.executeUpdate();
                             stmt.close();
                             con.close();
                             transaction.commit();
                        else{
                             System.out.println("Connection is null inside AppLogMDBean");
                   else{
                        System.out.println("Either sql or dataSource is null inside AppLogMDBean. Can't continue.");
              catch(NamingException e){
                   System.out.println("NamingException occurred inside AppLogMDBean: " + e);
              catch(JMSException e){
                   System.out.println("JMSException occurred inside AppLogMDBean: " + e);
              catch(Exception e){
                   System.out.println("Exception occurred inside AppLogMDBean: " + e);
              finally{
                   try{
                        if(stmt!=null){
                             stmt.close();
                             stmt = null;
                        if(con != null){
                             con.close();
                             con = null;
                   catch(Exception e){
                        System.out.println("Exception occurred inside AppLogMDBean in finally block : " + e);
         }

  • JMS Adapter Message Selector Problem...

    Hi
    I have set the following in the invoke before producing the message and dropping on the queue
    <invoke name="Invoke_1" partnerLink="adapt"
    portType="ns1:Produce_Message_ptt"
    operation="Produce_Message"
    inputVariable="Invoke_1_Produce_Message_InputVariable"
    bpelx:inputHeaderVariable="Sender"/>
    On the receive side I have the message selector configured for the adapter as follows:
    <jca:operation
    ActivationSpec="oracle.tip.adapter.jms.inbound.JmsConsumeActivationSpec"
    DestinationName="dattjndi"
    UseMessageListener="false"
    MessageSelector="Sender=AdaptationRequest"PayloadType="TextMessage"
    OpaqueSchema="false" >
    </jca:operation>
    Where AdaptationRequest is the value for the Sender variable which will be used to filter the message. But this does not work. the messages are still not consumed. What could be the problem?
    Thanks,
    Anil

    did you check the message selector section on
    http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/jms/Message.html
    explains all the operators you can use and the correct syntax. Make a note of the case sensitivity.

Maybe you are looking for

  • What is the best way for a family to set up apple ID's and icloud?

    My partner and I have separate apple id's and own a mac book, ipad, 2 iphones and apple tv.  What's the best way to set it all up so we can access everything on each device?  Can we merge our ID's into one and transfer all our payments?  We just regi

  • Need help in framing an SQL query

    Hi , Requirement is that Let's say I have a table say X I am passing two input params from UI and in DAO i am querying these input prams against the table X(has c1,c2 as columns ) (as it has two columns mapping the input params A,B from UI). if eithe

  • LDAP Security Integration to JSF

    I would like to integrate a security system that we use to the JSF project I'm developing. The setting is as follows: We have a centralized single signon authentication system (OBLIX) that present the user with a login screen. Once the user logs in s

  • Loaded FlyTunes Radio Application - Works Great !!!!

    Just loaded this app on my ipt - cool radio feature almost an abbreviated "satellite" radio reasonable genre selection plus BBC and NPR

  • Installing PS 7.0

    My DVD for PhotoShop 7.0 which was never registered, comes up when trying to install it on a brand new Maverick iMac with the message that it cannot installed because the computer is a power Macintosh. It certainly is not a power Macintosh! Is there