WLI/JMS Message problem

I have written a WLI client program that has JMS listeners for assigned, update,
and remove WLI Notify messages. The basic format for each selector is simple:
orgId = 'ORG1' and action = 'assigned'
I've noticed an inconsistency when it comes to the JMS messages sent to my application.
Say Task A is configured to be assigned to Joe when it's activated. When the
task is actually activated, my client program receives an update message followed
by an assign message (both for that task).
Okay, here's where it gets tricky. Say the workflow returns to Task A later on
in the same instance of the workflow. This time my client only gets an update
JMS message. I have to account for this inconsistency in my code, which is not
good.
Is this a bug, or is there a reason that this is behaving like this?

David
Please open a case or provide your demo code to me, I will take a look
when I get some free time
Tony
"David Mrozek" <[email protected]> wrote in message
news:3b852200$[email protected]..
>
I have written a WLI client program that has JMS listeners for assigned,update,
and remove WLI Notify messages. The basic format for each selector issimple:
>
orgId = 'ORG1' and action = 'assigned'
I've noticed an inconsistency when it comes to the JMS messages sent to myapplication.
>
Say Task A is configured to be assigned to Joe when it's activated. Whenthe
task is actually activated, my client program receives an update messagefollowed
by an assign message (both for that task).
Okay, here's where it gets tricky. Say the workflow returns to Task Alater on
in the same instance of the workflow. This time my client only gets anupdate
JMS message. I have to account for this inconsistency in my code, whichis not
good.
Is this a bug, or is there a reason that this is behaving like this?

Similar Messages

  • JMS Message reading problem

    Hi all
    I have a problem with MQJMS...I am successful in putting the message to the queue and also reading it...but the problem is that i was trying to put a string message in the queue...but i am not able to read the original string from the message.this is the code i used....
    Putting the message in the queue
    String Buffer = "Message";
    boolean transacted = false;
    session = qconnection.createQueueSession( transacted, Session.AUTO_ACKNOWLEDGE);     
    BytesMessage message =
    session.createBytesMessage();
    message.setJMSType("DATAGRAM");               
    message.setStringProperty("Fmt","PLAINTEXT");               
    message.writeBytes(Buffer.getBytes());                              
    qSender = session.createSender(ioQueue);               
    qSender.send(message);
    Reading the message from the queue
    QueueReceiver queueReceiver = session.createReceiver(ioQueue);     
    Message msg = queueReceiver.receive(Long.parseLong(pollTime));     
    If I try to print the msg i am getting the details as
    JMS Message class: jms_bytes
    JMSType: String
    JMSDeliveryMode: 2
    JMSExpiration: 0
    JMSPriority: 4
    JMSMessageID: ID:414d5120454149544553544d47522020456e8f002004d901
    JMSTimestamp: 1165040197487
    JMSCorrelationID:null
    JMSDestination: queue://EAITESTMGR/BALU.IN
    JMSReplyTo: null
    JMSRedelivered: false
    JMSXDeliveryCount:1
    JMS_IBM_MsgType:8
    Fmt:PLAINTEXT
    JMSXAppID:java
    JMS_IBM_Format:
    JMS_IBM_Encoding:273
    JMS_IBM_PutApplType:6
    JMS_IBM_Character_Set:UTF8
    JMSXUserID:eaijdev
    JMS_IBM_PutTime:06163748
    JMS_IBM_PutDate:20061202
    Integer encoding: 1, Floating point encoding 256
    54484953204d45535341474520495320564941204a4d53204348414e4e454c
    But the thing i need is to get the same string value ie Message
    Anyone out there could please help me out with this
    Thanks in advance
    Balagopal

    See: http://java.sun.com/products/jms/tutorial/1_3_1-fcs/doc/jms_tutorialTOC.html
    BTW you are diplaying the toString() value of the Message object itself. You need to call the Message class's method to get the message out of the Message object.

  • Problem reading JMS message received from MQSeries

    I have a message listener listening on an MQSeries queue.
    I'm expecting a text message back, but what I get is
    partially listed below.
    Any idee's to what I need to do would be greatly received.
    thanks
    JMS Message class: jms_bytes
    JMSType: null
    JMSDeliveryMode: 2
    JMSExpiration: 0
    JMSPriority: 0
    JMSMessageID: ID:414d51205344454e44553031202020203dc7e0ff00223082
    JMSTimestamp: 1038261667350
    JMSCorrelationID:null
    JMSDestination: null
    JMSReplyTo: null
    JMSRedelivered: false
    JMSXDeliveryCount:1
    JMS_IBM_MsgType:8
    JMSXAppID:MQSeries Client for Java
    JMS_IBM_Format:
    JMS_IBM_Encoding:273
    JMS_IBM_PutApplType:28
    JMS_IBM_Character_Set:ISO8859_1
    JMSXUserID:mqm
    JMS_IBM_PutTime:22010735
    JMS_IBM_PutDate:20021125
    Integer encoding: 1, Floating point encoding 256
    3c3f786d6c2076657273696f6e3d22312e302220656e636f64696e673d225554462d38223f3e3c52
    65706c79437573746f6d65725374617475735f3030313e3c434e54524f4c415245413e3c4253523e

    I have a temporary/partial solution to this problem.
    As we control the application adapter that is posting messages to the MQSeries queue, we have changed the sender to put the text into the bytes message object using writeUTF rather than writeText that it was using. My reader the does a readUTF.

  • JMS Message printing problem

    Hi all
    I have a problem with MQJMS...I am successful in putting the message to the queue and also reading it...but the problem is that i was trying to put a string message in the queue...but i am not able to read the original string from the message.this is the code i used....
    Putting the message in the queue
    String Buffer = "Message";
    boolean transacted = false;
    session = qconnection.createQueueSession( transacted, Session.AUTO_ACKNOWLEDGE);     
    BytesMessage message =
    session.createBytesMessage();
    message.setJMSType("DATAGRAM");               
    message.setStringProperty("Fmt","PLAINTEXT");               
    message.writeBytes(Buffer.getBytes());                              
    qSender = session.createSender(ioQueue);               
    qSender.send(message);
    Reading the message from the queue
    QueueReceiver queueReceiver = session.createReceiver(ioQueue);     
    Message msg = queueReceiver.receive(Long.parseLong(pollTime));     
    If I try to print the msg i am getting the details as
    JMS Message class: jms_bytes
    JMSType: String
    JMSDeliveryMode: 2
    JMSExpiration: 0
    JMSPriority: 4
    JMSMessageID: ID:414d5120454149544553544d47522020456e8f002004d901
    JMSTimestamp: 1165040197487
    JMSCorrelationID:null
    JMSDestination: queue://EAITESTMGR/BALU.IN
    JMSReplyTo: null
    JMSRedelivered: false
    JMSXDeliveryCount:1
    JMS_IBM_MsgType:8
    Fmt:PLAINTEXT
    JMSXAppID:java
    JMS_IBM_Format:
    JMS_IBM_Encoding:273
    JMS_IBM_PutApplType:6
    JMS_IBM_Character_Set:UTF8
    JMSXUserID:eaijdev
    JMS_IBM_PutTime:06163748
    JMS_IBM_PutDate:20061202
    Integer encoding: 1, Floating point encoding 256
    54484953204d45535341474520495320564941204a4d53204348414e4e454c
    But the thing i need is to get the same string value ie Message
    Anyone out there please help me out with this
    Thanks in advance
    Balagopal

    Why dont you send a TextMessage instead of a BytesMessage? Something like:
    String message = "Hi, what's up?";
    TextMessage textMessage = queueSession.createTextMessage(message);
    queueSender.send(textMessage);And then at the receiver's end:
    QueueReceiver queueReceiver = session.createReceiver(ioQueue);
    Message message = queueReceiver.receive(Long.parseLong(pollTime));
    if (message instanceof TextMessage) {
                 * Since message is an instance of TextMessage, cast it to TextMessage to get access to
                 * APIs available on TextMessage
                TextMessage textMessage = (TextMessage) message;
                  System.out.println("Message received: " + textMessage.getText());
    }

  • Problem: sending JMS message in other oc4j

    I have two app server instances " OC4J (1) " and " OC4J (2) ". (snandalone 10.1.3.0.0 - Developer Preview 3 (build 041119.0001.2385)). The containers work on Windows2000 in different machines connected by the LAN.
    OC4J (1):
    I have J2ee of the application [app(1)] (ex. Servlet (1) or MDB (1)) in OC4J (1).
    OC4J (2):
    I have J2ee of the application [app(2)] deploy in OC4J (2) [included Servlet (2) or MDB (2)] . The Servlet (2), or MDB (2) - empty stub, for example code Servlet2:
    package mypackage;
    import javax.servlet. *;
    import javax.servlet.http. *;
    import java.io. PrintWriter;
    import java.io. IOException;
    public class Servlet1 extends HttpServlet
    private static final String CONTENT_TYPE = " text/html; charset=windows-1251 ";
    public void init (ServletConfig config) throws ServletException
    super.init (config);
    public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    response.setContentType (CONTENT_TYPE);
    PrintWriter out = response.getWriter ();
    out.println (" < html > ");
    out.println (" < head > < title > Servlet1 < /title > < /head > ");
    out.println (" < body > ");
    out.println (" < p > The servlet has received a GET. This is the reply. </p > ");
    out.println (" < /body > < /html > ");
    out.close ();
    I have configuration JMS (2) Queue in jms.xml on OC4J (2):
    < jms-server...... port = "9127"
    < queue name = " Demo Queue " location = "jms/demoQueue" > <description> A dummy queue </description> </queue>
    < queue-connection-factory name = "jms/QueueConnectionFactory" location = "jms/QueueConnectionFactory" / >
    </jms-server>
    It JMS (2) Queue already is present in an OC4J 10.1.3 version.
    My task:
    The J2ee application (1) (ex. Servlet (1)) on OC4J (1) it is necessary to receive connection with JMS (2) (on remote OC4J (2)).
    Variant 1: a code in Servlet (1):
    Hashtable env=new Hashtable (8);
    env.put (Context. PROVIDER_URL, " ormi: // host_OC4J (2)/app(2):23792 ");
    env.put (Context. INITIAL_CONTEXT_FACTORY, " oracle.j2ee.rmi. RMIInitialContextFactory ");
    env.put (Context. SECURITY_PRINCIPAL, "admin");
    env.put (Context. SECURITY_CREDENTIALS, "admin");
    env.put ("dedicated.connection", "true");
    InitialContext ic = new InitialContext (env);
    QueueConnectionFactory connectionFactory = (QueueConnectionFactory)
    ic.lookup ("jms/QueueConnectionFactory");
    QueueConnection connection = connectionFactory.createQueueConnection ();
    connection.start ();
    queueSession =
    connection.createQueueSession (false, Session. AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ic.lookup ("jms/demoQueue");
    ic.close ();
    while (true)
    // - send in JMS (2)
    Problem:
    The Servlet (1) [in oc4j (1)] established JMS connection with oc4j (2) and begins to pass the messages [in JMS Queue (2)].
    The Oc4j (2) creates some system thread for this JMS connection.
    If the oc4j (1) lose network connection (example- break the cable) then created in oc4j (2) system thread is not destroyed.
    Saw if this situation repeats some times that amount of the system thread in oc4j (2) is grow.
    To me has answered:
    In 10.1.3, the supported connection path is through the Resource Adapter (using OracleASjms.rar). The Resource Adapter offers many benefits, including the removal of stale connection threads. You have configured your application to bypass the Resource Adapter and use a direct path to OC4J JMS. You will need to create a resource mapping from your OC4J JMS admin objects (queues, topics, and connection factories) to new Resource Adapter admin objects. You can find the details of how to do this in the documentation for OC4J 10g (10.1.3) Developer Preview 3 on OTN.
    You can find the link to the documentation for OC4J DP3 here:
    http: // www.oracle.com/technology/tech/java/oc4 j/1013/index.html
    Then I have tried Variant 2:
    I need to receive connection with remote JMS (2) via generic JMS resource adapter (OracleAS Jms).
    In OC4J (2), it is necessary сonfigure the generic JMS resource adapter (OracleAS Jms) to work with Queue "jms/demoQueue".
    According to the documentation Oracle ® Containers for J2EE Services Guide10g Release 2 (10.1.3) and example
    http: // www.oracle.com/technology/tech/java/oc4 j/1013/howtos/how-to-jca-intro/doc/how- to-jca-intro.html anything it is not necessary to do.
    Note that if you use the generic JMS resource adapter in an OC4J 10.1.3 version that is newer than the OC4J 10.0.3 Developer Preview 2, you can skip. In OC4J 10.1.3 it is a step is already made.
    Code in Servlet (1):
    Hashtable env=new Hashtable (8);
    env.put (Context. PROVIDER_URL, " ormi: // host_OC4J (2) /app (2):23792 ");
    env.put (Context. INITIAL_CONTEXT_FACTORY, " oracle.j2ee.rmi. RMIInitialContextFactory ");
    env.put (Context. SECURITY_PRINCIPAL, "admin");
    env.put (Context. SECURITY_CREDENTIALS, "admin");
    env.put ("dedicated.connection", "true");
    InitialContext ic = new InitialContext (env);
    QueueConnectionFactory connectionFactory = (QueueConnectionFactory)
    ic.lookup (" java:comp/resource/oc4jjms/jms/QueueCon nectionFactory ");
    QueueConnection connection = connectionFactory.createQueueConnection ();
    connection.start ();
    queueSession =
    connection.createQueueSession (false, Session. AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ic.lookup (" java:comp/resource/oc4jjms/jms/demoQueu e ");
    ic.close ();
    while (true)
    // - send in JMS (2)
    This code works.
    But!!!!!!
    The problem - removal of stale connection threads in OC4J (2) instances has not solve. If the oc4j (1) lose network connection (example- break the cable) then created in oc4j (2) system thread is not destroyed.
    How to me to write a code of connection with JMS (2) in Servlet (1), that Resource Adapter (in OC4J (2)) the removal of stale connection threads ???

    I have two app server instances " OC4J (1) " and " OC4J (2) ". (snandalone 10.1.3.0.0 - Developer Preview 3 (build 041119.0001.2385)). The containers work on Windows2000 in different machines connected by the LAN.
    OC4J (1):
    I have J2ee of the application [app(1)] (ex. Servlet (1) or MDB (1)) in OC4J (1).
    OC4J (2):
    I have J2ee of the application [app(2)] deploy in OC4J (2) [included Servlet (2) or MDB (2)] . The Servlet (2), or MDB (2) - empty stub, for example code Servlet2:
    package mypackage;
    import javax.servlet. *;
    import javax.servlet.http. *;
    import java.io. PrintWriter;
    import java.io. IOException;
    public class Servlet1 extends HttpServlet
    private static final String CONTENT_TYPE = " text/html; charset=windows-1251 ";
    public void init (ServletConfig config) throws ServletException
    super.init (config);
    public void doGet (HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException
    response.setContentType (CONTENT_TYPE);
    PrintWriter out = response.getWriter ();
    out.println (" < html > ");
    out.println (" < head > < title > Servlet1 < /title > < /head > ");
    out.println (" < body > ");
    out.println (" < p > The servlet has received a GET. This is the reply. </p > ");
    out.println (" < /body > < /html > ");
    out.close ();
    I have configuration JMS (2) Queue in jms.xml on OC4J (2):
    < jms-server...... port = "9127"
    < queue name = " Demo Queue " location = "jms/demoQueue" > <description> A dummy queue </description> </queue>
    < queue-connection-factory name = "jms/QueueConnectionFactory" location = "jms/QueueConnectionFactory" / >
    </jms-server>
    It JMS (2) Queue already is present in an OC4J 10.1.3 version.
    My task:
    The J2ee application (1) (ex. Servlet (1)) on OC4J (1) it is necessary to receive connection with JMS (2) (on remote OC4J (2)).
    Variant 1: a code in Servlet (1):
    Hashtable env=new Hashtable (8);
    env.put (Context. PROVIDER_URL, " ormi: // host_OC4J (2)/app(2):23792 ");
    env.put (Context. INITIAL_CONTEXT_FACTORY, " oracle.j2ee.rmi. RMIInitialContextFactory ");
    env.put (Context. SECURITY_PRINCIPAL, "admin");
    env.put (Context. SECURITY_CREDENTIALS, "admin");
    env.put ("dedicated.connection", "true");
    InitialContext ic = new InitialContext (env);
    QueueConnectionFactory connectionFactory = (QueueConnectionFactory)
    ic.lookup ("jms/QueueConnectionFactory");
    QueueConnection connection = connectionFactory.createQueueConnection ();
    connection.start ();
    queueSession =
    connection.createQueueSession (false, Session. AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ic.lookup ("jms/demoQueue");
    ic.close ();
    while (true)
    // - send in JMS (2)
    Problem:
    The Servlet (1) [in oc4j (1)] established JMS connection with oc4j (2) and begins to pass the messages [in JMS Queue (2)].
    The Oc4j (2) creates some system thread for this JMS connection.
    If the oc4j (1) lose network connection (example- break the cable) then created in oc4j (2) system thread is not destroyed.
    Saw if this situation repeats some times that amount of the system thread in oc4j (2) is grow.
    To me has answered:
    In 10.1.3, the supported connection path is through the Resource Adapter (using OracleASjms.rar). The Resource Adapter offers many benefits, including the removal of stale connection threads. You have configured your application to bypass the Resource Adapter and use a direct path to OC4J JMS. You will need to create a resource mapping from your OC4J JMS admin objects (queues, topics, and connection factories) to new Resource Adapter admin objects. You can find the details of how to do this in the documentation for OC4J 10g (10.1.3) Developer Preview 3 on OTN.
    You can find the link to the documentation for OC4J DP3 here:
    http: // www.oracle.com/technology/tech/java/oc4 j/1013/index.html
    Then I have tried Variant 2:
    I need to receive connection with remote JMS (2) via generic JMS resource adapter (OracleAS Jms).
    In OC4J (2), it is necessary сonfigure the generic JMS resource adapter (OracleAS Jms) to work with Queue "jms/demoQueue".
    According to the documentation Oracle ® Containers for J2EE Services Guide10g Release 2 (10.1.3) and example
    http: // www.oracle.com/technology/tech/java/oc4 j/1013/howtos/how-to-jca-intro/doc/how- to-jca-intro.html anything it is not necessary to do.
    Note that if you use the generic JMS resource adapter in an OC4J 10.1.3 version that is newer than the OC4J 10.0.3 Developer Preview 2, you can skip. In OC4J 10.1.3 it is a step is already made.
    Code in Servlet (1):
    Hashtable env=new Hashtable (8);
    env.put (Context. PROVIDER_URL, " ormi: // host_OC4J (2) /app (2):23792 ");
    env.put (Context. INITIAL_CONTEXT_FACTORY, " oracle.j2ee.rmi. RMIInitialContextFactory ");
    env.put (Context. SECURITY_PRINCIPAL, "admin");
    env.put (Context. SECURITY_CREDENTIALS, "admin");
    env.put ("dedicated.connection", "true");
    InitialContext ic = new InitialContext (env);
    QueueConnectionFactory connectionFactory = (QueueConnectionFactory)
    ic.lookup (" java:comp/resource/oc4jjms/jms/QueueCon nectionFactory ");
    QueueConnection connection = connectionFactory.createQueueConnection ();
    connection.start ();
    queueSession =
    connection.createQueueSession (false, Session. AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ic.lookup (" java:comp/resource/oc4jjms/jms/demoQueu e ");
    ic.close ();
    while (true)
    // - send in JMS (2)
    This code works.
    But!!!!!!
    The problem - removal of stale connection threads in OC4J (2) instances has not solve. If the oc4j (1) lose network connection (example- break the cable) then created in oc4j (2) system thread is not destroyed.
    How to me to write a code of connection with JMS (2) in Servlet (1), that Resource Adapter (in OC4J (2)) the removal of stale connection threads ???

  • Problem in sending JMS message on remote OC4J

    I have two OC4J standalone (10.1.3.0.0 build 041119.0001.2385)
    The containers work on Windows2000 in different machines connected by the LAN.
    The First container has deployed application from example http://www.oracle.com/technology/tech/java/oc4j/1013/howtos/how-to-jca-intro/doc/how-to-jca-intro.html
    The second container has j2ee application (Servlet) that sending JMS messages in the queue of the first container.
    Code Servlet in second OC4J:
    package mypackage2;
    import javax.servlet. *;
    import javax.servlet.http. *;
    import java.io. PrintWriter;
    import java.io. IOException;
    import javax.jms. *;
    import javax.naming. *;
    import java.util. *;
    public class Servlet1 extends HttpServlet
    private static final String CONTENT_TYPE = "text/html;charset=windows-1251";
    public void init (ServletConfig config) throws ServletException
    super.init (config);
    String QUEUE_NAME = "OracleASjms/MyQueue1";
    String QUEUE_CONNECTION_FACTORY = "OracleASjms/MyQCF";
    public void doGet (HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    response.setContentType (CONTENT_TYPE);
    PrintWriter out = response.getWriter ();
    out.println (" < html > ");
    out.println (" < head > < title > Servlet1 < /title > < /head > ");
    out.println (" < body > ");
    try
    Hashtable env = new Hashtable ();
    env.put (Context. INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");
    env.put (Context. SECURITY_PRINCIPAL, "admin");
    env.put (Context. SECURITY_CREDENTIALS, "admin");
    env.put (Context. PROVIDER_URL, "ormi://host_OC4J_1:23791/jcamdb");
    env.put ("dedicated.rmicontext", "true");
    InitialContext ic = new InitialContext (env);
    QueueConnectionFactory connectionFactory = (QueueConnectionFactory)ic.lookup (QUEUE_CONNECTION_FACTORY);
    QueueConnection connection = connectionFactory.createQueueConnection ();
    connection.start ();
    QueueSession queueSession =
    connection.createQueueSession (false, Session.AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ic.lookup (QUEUE_NAME);
    ic.close ();
    System.out.println (" Queue: " + queue);
    QueueSender sender = queueSession.createSender (queue);
    System.out.println (" creating Message: " + queue);
    Message message = queueSession.createMessage ();
    System.out.println (" Message created ");
    message.setJMSType ("theMessage");
    message.setLongProperty ("time", System.currentTimeMillis ());
    message.setStringProperty ("id", "11111");
    message.setStringProperty ("oamount", "55555");
    message.setStringProperty ("message", "77777");
    message.setStringProperty ("RECIPIENT", "MDB");
    System.out.println (" Sending message... ");
    sender.send (message);
    System.out.println (" Message sent ");
    sender.close ();
    queueSession.close ();
    connection.close ();
    catch (Exception e)
    System.out.println (" ** TEST FAILED ** < br > Exception: " + e);
    out.println (e.toString ());
    e.printStackTrace ();
    out.println (" < p > The servlet has received a GET. This is the reply. < /p
    ");out.println (" < /body > < /html > ");
    out.close ();
    Error: This code send message in The First container, and should send in the second OC4J !!!!
    Please answer :
    As configure (what code it is necessary to write) servlet (any J2EE the application in OC4J) to use a path to OC4J JMS (remote OC4J JMS) through the Resource Adapter (using OracleASjms.rar). ???

    I have two OC4J standalone (10.1.3.0.0 build 041119.0001.2385)
    The containers work on Windows2000 in different machines connected by the LAN.
    The First container has deployed application from example http://www.oracle.com/technology/tech/java/oc4j/1013/howtos/how-to-jca-intro/doc/how-to-jca-intro.html
    The second container has j2ee application (Servlet) that sending JMS messages in the queue of the first container.
    Code Servlet in second OC4J:
    package mypackage2;
    import javax.servlet. *;
    import javax.servlet.http. *;
    import java.io. PrintWriter;
    import java.io. IOException;
    import javax.jms. *;
    import javax.naming. *;
    import java.util. *;
    public class Servlet1 extends HttpServlet
    private static final String CONTENT_TYPE = "text/html;charset=windows-1251";
    public void init (ServletConfig config) throws ServletException
    super.init (config);
    String QUEUE_NAME = "OracleASjms/MyQueue1";
    String QUEUE_CONNECTION_FACTORY = "OracleASjms/MyQCF";
    public void doGet (HttpServletRequest request, HttpServletResponse response)
    throws ServletException, IOException
    response.setContentType (CONTENT_TYPE);
    PrintWriter out = response.getWriter ();
    out.println (" < html > ");
    out.println (" < head > < title > Servlet1 < /title > < /head > ");
    out.println (" < body > ");
    try
    Hashtable env = new Hashtable ();
    env.put (Context. INITIAL_CONTEXT_FACTORY, "oracle.j2ee.rmi.RMIInitialContextFactory");
    env.put (Context. SECURITY_PRINCIPAL, "admin");
    env.put (Context. SECURITY_CREDENTIALS, "admin");
    env.put (Context. PROVIDER_URL, "ormi://host_OC4J_1:23791/jcamdb");
    env.put ("dedicated.rmicontext", "true");
    InitialContext ic = new InitialContext (env);
    QueueConnectionFactory connectionFactory = (QueueConnectionFactory)ic.lookup (QUEUE_CONNECTION_FACTORY);
    QueueConnection connection = connectionFactory.createQueueConnection ();
    connection.start ();
    QueueSession queueSession =
    connection.createQueueSession (false, Session.AUTO_ACKNOWLEDGE);
    Queue queue = (Queue) ic.lookup (QUEUE_NAME);
    ic.close ();
    System.out.println (" Queue: " + queue);
    QueueSender sender = queueSession.createSender (queue);
    System.out.println (" creating Message: " + queue);
    Message message = queueSession.createMessage ();
    System.out.println (" Message created ");
    message.setJMSType ("theMessage");
    message.setLongProperty ("time", System.currentTimeMillis ());
    message.setStringProperty ("id", "11111");
    message.setStringProperty ("oamount", "55555");
    message.setStringProperty ("message", "77777");
    message.setStringProperty ("RECIPIENT", "MDB");
    System.out.println (" Sending message... ");
    sender.send (message);
    System.out.println (" Message sent ");
    sender.close ();
    queueSession.close ();
    connection.close ();
    catch (Exception e)
    System.out.println (" ** TEST FAILED ** < br > Exception: " + e);
    out.println (e.toString ());
    e.printStackTrace ();
    out.println (" < p > The servlet has received a GET. This is the reply. < /p
    ");out.println (" < /body > < /html > ");
    out.close ();
    Error: This code send message in The First container, and should send in the second OC4J !!!!
    Please answer :
    As configure (what code it is necessary to write) servlet (any J2EE the application in OC4J) to use a path to OC4J JMS (remote OC4J JMS) through the Resource Adapter (using OracleASjms.rar). ???

  • Platform Domain and  WorkShop JMS Control Problems

    I created a platform domain and created a workflow in WLI. I would like to expose
    the workflow from a web service. I successfully used the JMS control to send
    the XML request into WLI and receive the reply from WLI. My problem is whenever
    I try to execute the callback function when I receive my reply from JMS it his
    a loop and never executes the callback to the client. In the same service i replaced
    the JMS interaction with a timer and it works fine. The problem only occurrs when
    the JMS control receives the reply and then invokes the callback. If I just receive
    the reply without calling the callback everything works fine. Any ideas? Thanks

    I did a little more debugging and it looks like when the message is sent to the
    JMS Queue a different instance of the session EJB is calledback to when the JMS
    reply is received. I noticed when my callback is invoked by JMS i have different
    proxy and context objects. I hope this helps.
    "David" <[email protected]> wrote:
    >
    I created a platform domain and created a workflow in WLI. I would like
    to expose
    the workflow from a web service. I successfully used the JMS control
    to send
    the XML request into WLI and receive the reply from WLI. My problem is
    whenever
    I try to execute the callback function when I receive my reply from JMS
    it his
    a loop and never executes the callback to the client. In the same service
    i replaced
    the JMS interaction with a timer and it works fine. The problem only
    occurrs when
    the JMS control receives the reply and then invokes the callback. If
    I just receive
    the reply without calling the callback everything works fine. Any ideas?
    Thanks

  • JMS messages not being redelivered correctly ..

    Hi Folks
    I am having this weird problem with JMS using workshop/weblogic 8.1 SP2. I am
    using a JMS control from within my pageflow to post a JMS message to a predefined
    JMS queue (created by workshop for every web project . Mine is called testweb.queue.AsyncDispatcher
    as my web project is called testweb). Since pageflows cannot receive asysnchronus
    callbacks , I have not implemented the callback handler for teh JMS control as
    I just need to be able to post from my Pageflow . So far so good.
    I have an MDB listening to testweb.queue.AsyncDispatcher and that basically tries
    to open a URL connection to a thirdparty web site and if connect is not successful
    it should keep trying after every 10 seconds. I have the MDB throw an EJBException
    (to simulate message redelivery) . The problem is that the message is redelivered
    exactly 8 times and then I get the below message on the console :-
    <May 24, 2004 10:18:00 AM EDT> <Error> <WLW> <F1234PiyushK> <cgServer> <ExecuteThread:
    '14' for queue: 'weblogic.kernel.Default'> <<anonymous>> <BEA1-001D75CA6E6EB041A149>
    <000000> <onMessageException: java.lang.Exception: Unexpected message format>
    I also have an MDB listening to the error queue testweb.queue.AsyncDispatcher_error
    but its onMessage is never executed .
    I am stuck on this for the last efw days so appreciate any help. Should I post
    a message to the JMS queue directly from a session bean insetad of from a page
    flow ?
    my JMS queue config parameters are mentioned below :-
    Time To Deliver Delivery 5000
    Delivery Mode Override - No Override
    Expiration Policy - Redirect
    Redelivery Delay Override - 5000
    Redelivery Delay Override - 10
    Error Destination - testweb.queue.AsyncDispatcher_error
    The other parameter values are the default values and I have not changed them

    I am having the same problem with a simple WLI timer channel that posts a string message called myMessage every 20 seconds (what I defined in the WLI console).
    This works like a charm.
    In my process.jpd file, the timer subscription is followed by a JMS control, with a sendTextMessage(myMessage) which sends the message to a queue
    @jc:jms
    send-type="queue" send-jndi-name="JmsTimerProcessWeb.queue.AsyncDispatcher"
    receive-type="queue" receive-jndi-name="NightlySiteProcess.queue.AsyncDispatcher"
    connection-factory-jndi-name="weblogic.jws.jms.QueueConnectionFactory"
    All goes well while sending but the messages tell otherwise:
    === Timer sent message = This is the WLI message
    === JMS sent message = This is the WLI message
    <Aug 24, 2005 1:19:30 PM MDT> <Error> <WLW> <000000> <onMessageException: java.lang.Exception: Unexpected message format>
    What does this mean?
    I tried to add a project with a Message-bean, I cannot get the string message. I tried with an ObjectMessage, the same scenario everytime.
    Any suggestions?

  • What is the format for a Client Request JMS message.

    I am trying to send directly to the JMS queue to start a WLI process. From the Workshop browser, the message is received. However, when sending my own JMS message, WebLogic complains with an "Unexpected message format" onMessageException.
    What is the correct format for a WLI Client Request node? A text message? Please help. Thanks - Frank.

    Kai,
    Thanks for the info. I have created a MB channel and a JMS event generator. But now it seems that my problem has simply been moved further out. Case in point: If I send a simple XML text message to the JMS event queue, the WebLogic JPD throws a MBConnectorException ("Could not determine channel type").
    So I am wondering if this is still not the best practice to accomplish what I want. Should I be using a MDB which then simply calls a JCX control that knows how to talk to the WLI start node? The whole idea is that I want to start the workflow with a simple JMS message.
    Thanks in advance,
    Frank

  • Need suggestion on  implementing JMS message error recovery

    Hi,
    Our application has a JMS topic where we publish application events. Now, there can be scenarios where the consumers cannot process the message due to some infrastructure issues and would error out. We need a way so that those messages can be reprocessed again later. we are thinking of the following design for JMS message error recovery
    1. Use a persistent TOPIC (this would ensure guaranteed delivery)
    2. Configure a error destination on JMS topic e.g a jms queue
    3. Have an error handling MDB listening to the Error destination. An error handling MDB would dequeue the errored messages from error destination and persist it to a Data base "error" table..
    4. Provide a mechanism to republish those messages to topic (e.g a scheduler or admin ui or a command line utility) .. The messages would deleted from database "error" table and published to topic again....
    A. Are there any issues with the above design which we need to handle?
    B. Are there any additional steps required in a Cluster environment with a distributed topic and distribute error destination? (our error mdb will have one-copy-per-application setting)
    B. From a performance angle, Is it OK to use persistent TOPIC ? Or will it better to persist the message to the db table and then publish it as a non persistent message ... ? (But i guess the performance should be more or less the same in both of these approaches)
    C. Are there any other recommended design patterns for error recovery of JMS messages
    Please advise.
    Regards,
    Arif

    Thanks Tom !
    We may not be able to go with the approach of delaying/pausing redelivery of the messsage because
    1. Pausing entire MDB approach: Our MDB application consumes messages generated by different producers and our MDB needs to continue processing the messages even if messages corresponding to one producer is erroring out
    2. Redelivery delay : This would only delay the retry of an errored message. But there would still be a problem if the message fails during all retries (i.e redelivery limit count). We don't want to lose this message. In our case, It is possible that a particular message cannot be processed due to unavailability of a third party system for hours or may be a day.
    Basically, i am looking on approaches for a robust and performant error recovery/retry framework for our application (refer details in my first post on this thread) while fully making use of all features provided by middleware (WLS). Please advise.
    Regards,
    Arif

  • Lost (and found) JMS - messages

              Using WLS 6.1 and have experienced that JMS messages has not been delivered to
              its consumer correctly. We are interested in any suggestions to what has happend,
              what can be done to avoid the problem in the future, or perhaps how we can find
              out more about the problem.
              We have a message driven bean A which sends messages to the queue Q, of which
              the message driven bean B is the only consumer.
              What we recently have experienced is that some of the messages delivered by A
              to Q never are delivered to B. But the messages seems to be persisted correctly,
              because after a restart they reappear!
              Following is a more detailed description of the scenario:
              1. A message is sendt with DeliveryMode=PERSISTENT and TimeToLive=0. QueueSender.send
              is invoked and returns normally.
              2. The consumers never gets the message (B.onMessage i never invoked with this
              message).
              3. Point 1-2 is repeated for 13 different messages over a period when ~100 similar
              messages are delivered normally.
              4. The server is then restarted.
              5. In the starup log it is indicated that 44 records are found in the JMSStore.
              6. When the server restarts, the "lost" messages gets delivered to B.
              After the server restart we have not experienced the problem again.
              Logs does not show anything unusual about the previous restart.
              Other details:
              There is always exatly 1 instance of A running, and 5-20 instances of B. A implements
              and uses a pool of javax.jms.XAQueueSession instances, which shares a single instance
              of javax.jms.XAQueueConnection. The aknowledge-mode for B is "Auto-aknowledge".
              We're using Weblogic Server 6.1.3.0 / Red Hat Linux 7.3.
              Any help on this problem is appreciated!
              

              I believe we've seen just the behaviour you describe on 6.1 SP2, but only on a
              multi-cpu box (Solaris), and only under load. We can't reproduce the problem reliably,
              and get no error messages/warnings anywhere, so very little to send to customer
              support; by the time we notice this, the problem's long passed, so a thread dump's
              of no use.
              We're going to try and see how SP5 (which has loads of JMS fixes) pans out.
              But if you find anything out, could you post here?
              simon.
              "Harald Stendal" <[email protected]> wrote:
              >
              >Using WLS 6.1 and have experienced that JMS messages has not been delivered
              >to
              >its consumer correctly. We are interested in any suggestions to what
              >has happend,
              >what can be done to avoid the problem in the future, or perhaps how we
              >can find
              >out more about the problem.
              >
              >We have a message driven bean A which sends messages to the queue Q,
              >of which
              >the message driven bean B is the only consumer.
              >What we recently have experienced is that some of the messages delivered
              >by A
              >to Q never are delivered to B. But the messages seems to be persisted
              >correctly,
              >because after a restart they reappear!
              >
              >Following is a more detailed description of the scenario:
              >
              >1. A message is sendt with DeliveryMode=PERSISTENT and TimeToLive=0.
              >QueueSender.send
              >is invoked and returns normally.
              >2. The consumers never gets the message (B.onMessage i never invoked
              >with this
              >message).
              >3. Point 1-2 is repeated for 13 different messages over a period when
              >~100 similar
              >messages are delivered normally.
              >4. The server is then restarted.
              >5. In the starup log it is indicated that 44 records are found in the
              >JMSStore.
              >6. When the server restarts, the "lost" messages gets delivered to B.
              >
              >After the server restart we have not experienced the problem again.
              >
              >Logs does not show anything unusual about the previous restart.
              >
              >Other details:
              >There is always exatly 1 instance of A running, and 5-20 instances of
              >B. A implements
              >and uses a pool of javax.jms.XAQueueSession instances, which shares a
              >single instance
              >of javax.jms.XAQueueConnection. The aknowledge-mode for B is "Auto-aknowledge".
              >
              >We're using Weblogic Server 6.1.3.0 / Red Hat Linux 7.3.
              >
              >Any help on this problem is appreciated!
              >
              

  • How to stop and start MDBs to listen for JMS messages

    Hello! This might be more of an architecture question rather than a technical questing, but I post it here, in the lack of a better place...
    For several years I have been using Webster and Webster MQ to send messages back and forth to clients. The architecture for the middleware platform has been designed around the functionality of ListenerPorts. Listenerports is a Webster functionality that let you "stop" and start to listen to JMS messages for a given MDB either by admin console, or by JMX.
    The arhitecture we used was something like this :
    1.Client sends a persistent message to a queue. (order)
    2. An MDB pics up the order message, calls a SessionBean that "fronts" the IIOP back end system.
    This is quite "out of the box" architecture, but we used the Listenerports to solve a stability problem for our back end system.
    The backEnd system was quite unstable, so the EJB threw an exception (typically because of timeout or connection refused) back to the MDB.
    The Listenerport was "defined" to handle 3 errors before stopping, so the MDB resent the message twice before the listenerport automatically stopped. The nice thing about this feature was that the client could continue to send orders, and was not bothered when the back end system was down.
    When the backEnd system was up and running, we could start the listenerport and it was all back to normal state. We even had a start script that checked the state of the listenerport every 30 minute, and started it automatically if it was stopped, making the admin task of starting the MDB unnecessary..
    Now.. Why am I telling this story..
    I would like to know how this could be done using "clean" J2EE technologies..That is..Not using any technology that is not portable..
    I`m playing with glassfish at home, and it struck me that there is nothing in the J2EE spec that defines the functionality described above ? Am i missing something ?
    I Do not want to stop My application because the back end system is down? That is the only way (i know of) that i can "stop" to listen for messages..
    I can put all the messages on an error queue when the backbend system is down, but that would lead to more code just to handle the error messages. Maybe the easiest way to solve this is to "move" (programmatically) all messages from the error queue over to the "standard" queue every XX minute, but somehow that sounds "wrong"
    Can anyone give me some advice to how this problem situation should be solved ? I`m interested in the solution both from an architectural perspective and from a more technical perspective..
    Best regards
    Hans-Jacob Melby

    Breakpoints, whether normal or conditional, are just meant for debugging of your code.  I had the sense from your question that the pausing you want to do is a part of normal operation of your code.  I would NOT recommend using a breakpoint for that situation.  It would bring up the block diagram showing the breakpoint when it occurs.  A user besides the programmer would not know what to do in that case.
     Yes, both the inner and outer loops would have shift registers.
    Putting a case structure with a small while loop inside the "Pausing Case" is doable.  It just depends on what you are doing or waiting for while the program operation is "paused".

  • How to parse XML content in JMS Message...

    Hi everybody,
    I am currently developing a Message-Driven Bean and has some problem parsing the XML data that contains in the JMS body.
    The XML data is contained in TextMessage (JMS message type) and in order to parse the data, I need to use the DOM builder, which is expecting to read from a file (e.g. abc.xml).
    My question is how can I use TextMessage (can be output to a String) as the input source instead of a file.
    Thanks in advance.

    Hi Boon,
    "Boon Keong" <[email protected]> wrote in message
    news:3dd46800$[email protected]..
    I am currently developing a Message-Driven Bean and has some problemparsing the XML data that contains in the JMS body.
    >
    The XML data is contained in TextMessage (JMS message type) and in orderto parse the data, I need to use the DOM builder, which is expecting to read
    from a file (e.g. abc.xml).
    >
    My question is how can I use TextMessage (can be output to a String) asthe input source instead of a file.
    What about this:
    DocumentBuilder db = ...
    Document doc = db.parse(new InputSource(new
    StringReader(textMessage.toString()));
    or
    Document doc = db.parse(new
    ByteArrayInputStream(textMessage.toString().getBytes()));
    Regards,
    Slava Imeshev

  • Can not dequeue JMS message of type SYS.AQ$_JMS_TEXT_MESSAGE using DBMS_AQ

    I'm having a problem using DBMS_AQ package to dequeue a JMS message of type SYS.AQ$_JMS_TEXT_MESSAGE that was put on the queue using Java JMS API.
    Both JMS header and payload return empty but if I do "select user_data" from the queue table, I can see the message.
    Appreciate any helps or tips.
    Kim

    This has been asked a lot of times - I'm not sure how my initial searching missed all of the other questions/answers related to this topic.
    In our case, the solution was to:
    1) Leave the queue as a sys.aq$_jms_text_message type
    2) Construct a sys.xmltype object with our desired payload
    3) Do a getStringVal() on the xmltype object and use that string as the payload for our queue message
    - Nathan

  • JMS Messages getting stuck in queues

    Hi,
    I am facing this peculiar issue with queue messages not getting picked up.
    Application Architecture: There is 1 JMS queue ( which resides in WLDomain1 with in a Unix Box) and there are 2 windows boxes having 2 weblogic domains each with 3 instances of MDB deployed on each of the domains. So total of 12 consumers (2 Box * 2 Domain * 3 Instances of MDB) listens to the JMS queue.
    Issue: After bringing everything up I am able to see 12 consumer count listening to the queue. But when I run the application which writes total of 13 messages in the queue only 7 of them are getting processed and 6 messages are always getting stuck in the queues. Interestingly this 7 messages are mostly getting processed by consumers with in the same windows box. And the selection of windows box is completely random. To confirm whether both the windows boxes are configured fine I tried to test them individually and it works fine individually, the problem happens only if I bring up both the boxes together.
    Another observation is, if I bring down the non working domains, the pending messages start getting processed by the working domains. It gives an impression that the non working domains seem to lock the messages for processing but doesn't actually process it. Only when I bring down the domains it releases this lock.
    Below is the JMS Life cycle events I captured from log files :
    1. Start domain1 in WIN Box1
    ####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040304> <783400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <> <>
    ####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040309> <239900> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <> <>
    ####<Nov 24, 2009 7:54:00 PM CST> <> <> <1259114040313> <2100> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <> <>
    2. Start domain2 in WIN Box 1
    ####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095403> <38600> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <> <>
    ####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095407> <335400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <> <>
    ####<Nov 24, 2009 7:54:55 PM CST> <> <> <1259114095410> <997700> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <> <>
    3. Start domain1 in WIN Box 2
    ####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172061> <316500> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session80.consumer82)> <> <>
    ####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172066> <324300> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session83.consumer85)> <> <>
    ####<Nov 24, 2009 7:56:12 PM CST> <> <> <1259114172072> <757000> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session86.consumer88)> <> <>
    4. Start domain2 in WIN Box 2
    ####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214000> <142800> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session90.consumer92)> <> <>
    ####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214005> <38200> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session93.consumer95)> <> <>
    ####<Nov 24, 2009 7:56:54 PM CST> <> <> <1259114214009> <22400> <> <> <JMSModule!Queue> <ConsumerCreate> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session96.consumer98)> <> <>
    At this point console shows 12 consumers listening the queue which is absolutely fine.
    5. Run application
    --Message Production
    This produces 13 messages ( I have not pasted the complete log)
    -- Message Consumption ( Only 7 messages are consumed)
    ####<Nov 24, 2009 8:00:05 PM CST> <> <> <1259114405953> <576400> <ID:<1047832.1259114392542.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114392542&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410091> <310100> <ID:<1047832.1259114393181.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114393181&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410130> <364600> <ID:<1047832.1259114400626.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400626&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410134> <540700> <ID:<1047832.1259114393125.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114393125&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:00:10 PM CST> <> <> <1259114410137> <632400> <ID:<1047832.1259114393128.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114393128&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:00:12 PM CST> <> <> <1259114412026> <984200> <ID:<1047832.1259114393123.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114393123&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:00:16 PM CST> <> <> <1259114416045> <41800> <ID:<1047832.1259114400005.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400005&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    6. At this point Admin Consol shows 6 messages pending in the queue
    and From consumer numbers it is evident that consumers in WIN Box2 domains have not processed any messages
    Now if I stop server in WIN Box2 Domain1, WIN Box1 picks up the messages instantely
    ####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202343> <897600> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session80.consumer82)> <> <>
    ####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202346> <421900> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session83.consumer85)> <> <>
    ####<Nov 24, 2009 8:13:22 PM CST> <> <> <1259115202379> <582300> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection79.session86.consumer88)> <> <>
    ####<Nov 24, 2009 8:13:24 PM CST> <> <> <1259115204888> <4600> <ID:<1047832.1259114400029.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session76.consumer78)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400029&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:13:32 PM CST> <> <> <1259115212820> <256700> <ID:<1047832.1259114400258.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session66.consumer68)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400258&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:13:43 PM CST> <> <> <1259115223579> <280600> <ID:<1047832.1259114400032.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session60.consumer62)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400032&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    7. At this poing Admin Consol shows 3 messages pending in the queue
    Now if I stop server in WIN Box2 Domain2, the remaining 3 gets processed
    ####<Nov 24, 2009 8:16:08 PM CST> <> <> <1259115368998> <193400> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session90.consumer92)> <> <>
    ####<Nov 24, 2009 8:16:08 PM CST> <> <> <1259115369000> <885500> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session93.consumer95)> <> <>
    ####<Nov 24, 2009 8:16:09 PM CST> <> <> <1259115369002> <902500> <> <> <JMSModule!Queue> <ConsumerDestroy> <<anonymous>> <MC:CA(/<IP_BOX2>):OAMI(server.jms.connection89.session96.consumer98)> <> <>
    ####<Nov 24, 2009 8:16:25 PM CST> <> <> <1259115385151> <123700> <ID:<1047832.1259114400324.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session70.consumer72)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400324&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:16:29 PM CST> <> <> <1259115389660> <836600> <ID:<1047832.1259114400535.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection59.session63.consumer65)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400535&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    ####<Nov 24, 2009 8:16:37 PM CST> <> <> <1259115397823> <610200> <ID:<1047832.1259114400432.0>> <> <JMSModule!Queue> <Consumed> <<anonymous>> <MC:CA(/<IP_BOX1>):OAMI(server.jms.connection69.session73.consumer75)> <&lt;?xml version="1.0" encoding="UTF-8"?&gt;
    &lt;mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message"&gt;&lt;mes:Header&gt;&lt;mes:JMSTimestamp&gt;1259114400432&lt;/mes:JMSTimestamp&gt;&lt;mes:Properties/&gt;&lt;/mes:Header&gt;&lt;/mes:WLJMSMessage&gt;> <>
    Kindly throw some light on this issue. Also do let me know if you need any more specific details about this.
    Thanks,
    Abhijeet
    Edited by: user5240164 on Nov 25, 2009 11:35 AM
    Edited by: user5240164 on Nov 28, 2009 1:21 PM

    Hi,
    The problem may be conflicting names in your configuration. To ensure proper operation of WL Security, JMS, JTA, and JDBC, make sure that (A) each domain has a unique name, and (B) no two WebLogic servers have the same name (even if in two different domains).
    To ensure a more even distribution of messages, either simply send more than a token amount messages (eg, a hundred or so, rather than just 12), or configure a custom connection factory on the domain that hosts the queue, reduce MessagesMaximum on the connection factory to 1, and then modify each MDB to refer to the custom connection factory. The MessagesMaximum setting controls the number of messages that can be pre-pushed (pipelined) to a single asynchronous consumer.
    For more information see "Best Practices for JMS Beginners and Advanced Users" in the latest versions of the JMS admin guide, and "JMS Performance & Tuning Check List" in the WebLogic Performance and Tuning guide.
    Tom

Maybe you are looking for

  • Safari won't open after install

    I just downloaded Safari and after running the installer Safari opens to a black screen and I see nothing. All I see is the main bar (not the address bar) and a black screen. I have tried uninstalling, reinstalling, redownloading and nothing works. A

  • Error Message on Web Premium Suite while opening Acrobat that Adobe Acrobat was installed as part of a Suite

    Can not open Acrobat Pro 9 out of my adobe creative suite 4 web premium.  Keeps giving an error message. Adobe Acrobat was installed as part of a suite.  To enable Adobe Acrobat start another component of this suite.  I am running Windows 7 64 and al

  • Warning Message. ?

    --------------------Configuration: MyFirstProject - JDK version 1.7.0 javac - <Default>-------------------- warning: [options] bootstrap class path not set in conjunction with -source 1.5 1 warning Process completed.

  • Macbook pro newer version to hdtv?

    OK, so i went to the apple store bought the adapter and the hdtv cable should have gotten a longer one i feel stupid but it works.. Was wondering what is the best resolution it looks kind of weird on my tv i figured out how to do mirror mode and sing

  • Flash Player: Connection failed. Unable to complete installation. Mac OSX

    I'm working on a mac running 10.10.1 Yosemite in Safari. My current Flash version is 15.0.0. On most videos and pictures it now says 'Your Flash Player is out of date". I've clicked on this icon, which opens saying do you want to download the newest