JMS EBCDIC BytesMessage Problem

We are using the strict JMS API to send message to MQ which will kick off an IMS transaction. We are connecting to IMS using the OTMA bridge. We are trying to send a BytesMessage which kicks off the transaction successfully and a BytesMessage is returmed to our local queue with the resulting message String from IMS transaction. When we go to pull the
We get a garbage message along the lines of:
�����������@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@....
AppServer: Linux box running WAS 5.1
Mainframe: z/OS box
Does anybody know what needs to be set before the message is sent and what needs to be done after we get the message in order for us to get the message string into a UTF format that isn't garbled?
// setting the following JMS props
msg.setStringProperty("JMS_IBM_Format", "MQIMSVS");
msg.setStringProperty("JMS_IBM_Character_Set", "819");
// pulling out the message body
BytesMessage bymRecv = (BytesMessage)recv.receive(5000);
// retrieve the message body               
byte msgInBytes[];
ByteArrayOutputStream bout;
int lenRead;
msgInBytes = new byte[100];
lenRead = bymRecv.readBytes(msgInBytes, 100);
bout = new ByteArrayOutputStream();          
bout.write(msgInBytes, 0, lenRead);
outputString = bout.toString("CP1047"); // not sure if this is right
Or, if we are doing this completely wrong, does anybody have any suggestions.
Thanks!

Above problem could be resolved.
1. The problem only occured when sending a message within a transaction. Without transaction everything worked fine.
2. Due to this strange behaviour we assumed that this is a bug - and it was. This bug has the issue nummer: 5331629. In version 10.1.3.1.0 this issue is resolved. We tested it and indeed it worked as excpected.

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.

  • 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());
    }

  • JMS Receiver FCC Problem After Upgraded from SP19 to SP22 in XI3.0

    Hello,
    I am facing a problem in my Receiver JMS adapter in FCC just after the upgrading it from SP19 to SP22 in XI 3.0 by our basis consultant. Before that everything was working perfect in DEV.
    I am getting the below mentioned error in CC monitoring.
    > MP: Exception caught with cause com.sap.aii.messaging.adapter.trans.TransformException: Error converting Message: 'java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.NullPointerException''; nested exception caused by: java.lang.Exception: Exception in XML Parser (format problem?):'java.lang.NullPointerException'
    This problem is happening in other scenario too in our DEV system.
    But at the same time since we have not applied any upgrade in QA therefore same scenario is working fine.
    Regards,
    Sarvesh

    Ok Friends...
    I got the solution from SAP.. there was a problem in the SP22 for XI 3.0 which I donloaded from Service Market Place. Now I have applied the correct SP22 to my system and now it is working fine...
    I hope this may help you...
    Regards,
    Sarvesh

  • JMS Listener configuration problem

    I am installing IDM6.0 and trying to use the password synch feature with Active Directory. Below are my environment details
    tomcat 5.0.28 on linux
    Sun Message Queue 3.6 for JMS
    When I am configuring the JMS Listener adapter I am getting the below error. I have installed the Sun Message Queue and storing the administered objects in a file.
    Test connection failed for resource(s):
    JMS Listener: javax.naming.NameNotFoundException
    If anyone has ever done that earlier it will be very helpful for me.
    Thanks in advance

    Just an update on my last comment
    I had tested this on the windows box. The problem may not be there in the Linux

  • JMS cluster configuration problem

    Problem description:
    I have a OC4J cluster with two OC4J instances (referred to as I1 and I2) each having their own JMS Server (referred to JMS1 and JMS2). For certain messaging scenarios (not all) it is necessary that I1 puts a message on a queue of I2.
    In order to do that I use the following configuration:
    I2 -> jms.xml
    <jms-server host="[ALL]" port="9127">
    <queue-connection-factory location="xyz.ConnectionFactory" host="I1" />
         <queue name="queue1" location="xyz.queue" persistence-file="queue1.file"/>
    I1 -> jms.xml
    <jms-server host="[ALL]" port="9127">
    <queue-connection-factory location="xyz.ConnectionFactory" />
         <queue name="queue1" location="xyz.queue" persistence-file="queue1.file"/>
    When I try to send a message from I2 to I1, using the connection factory stored under xyz.ConnectionFactory I get the following exception:
    Caused by: javax.transaction.RollbackException at com.evermind.server.ApplicationServerTransaction.handleCommitSystemException(ApplicationServerTransaction.java:749) at com.evermind.server.ApplicationServerTransaction.twoPhaseCommit(ApplicationServerTransaction.java:688) at com.evermind.server.ApplicationServerTransaction.commitBasedOnResourceCount(ApplicationServerTransaction.java:514) at com.evermind.server.ApplicationServerTransaction.doCommit(ApplicationServerTransaction.java:246) at com.evermind.server.ApplicationServerTransaction.commit(ApplicationServerTransaction.java:126)
    at com.evermind.server.ApplicationServerTransactionManager.commit(ApplicationServerTransactionManager.java:433) at org.springframework.transaction.jta.JtaTransactionManager.doCommit(JtaTransactionManager.java:757)
    ... 45 more
    Caused by: oracle.as.j2ee.transaction.tpc.ConnectionLostException: Handing off to RecoveryManager due to lost connection to resource or RMERR. Branch: [null, Xid( Global Id da.f9.b0.f7.ff.ff.ff.ff.0a.00.00.00.00.00.00.00.00.00.00.00.00.00.00.00, Format Id 4660, Branch Id e8.df.1f.91.00.00.00.00.00.00.00.00.00.00.00.01), null, state={ACTIVE}, exception error code=-3]
    at oracle.as.j2ee.transaction.tpc.Coordinator.lostResourceCleanup(Coordinator.java:628)
    at oracle.as.j2ee.transaction.tpc.Coordinator.checkForLostConnection(Coordinator.java:600)
    at oracle.as.j2ee.transaction.tpc.Coordinator.actOnEligibleBranch(Coordinator.java:553)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doRollback(Coordinator.java:499)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doRollbackWithRollbackException(Coordinator.java:229)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doPrepare(Coordinator.java:216)
    at oracle.as.j2ee.transaction.tpc.Coordinator.doResolve(Coordinator.java:278)
    at oracle.as.j2ee.transaction.tpc.Coordinator.resolve(Coordinator.java:115)
    at oracle.as.j2ee.transaction.tpc.TwoPhaseCommitEngine.commit(TwoPhaseCommitEngine.java:93)
    at com.evermind.server.ApplicationServerTransaction.twoPhaseCommit(ApplicationServerTransaction.java:686)
    ... 50 more
    Question:
    1: Do I use the right configuration for above messaging scenario (the Oracle documentation I’ve read about this subject (High Availability Guide) is very vague) ?
    2: So yes, what do I do wrong?
    Any help would be greatly appreciated!

    Above problem could be resolved.
    1. The problem only occured when sending a message within a transaction. Without transaction everything worked fine.
    2. Due to this strange behaviour we assumed that this is a bug - and it was. This bug has the issue nummer: 5331629. In version 10.1.3.1.0 this issue is resolved. We tested it and indeed it worked as excpected.

  • JMS Cache Sync Problems

    All,
    We're running into some strange problems synchronizing Toplink caches via JMS.
    In our environment, we have two different applications running under the same app server - different code in general, but they use the same Toplink mapping and mapped classes. Each of these connects to the database independently of the other using Toplink. We've configured sessions.xml to keep the caches between the two synchronized.
    Now when an object is updated on one side or the other, the message gets sent out across JMS. However, when both applications read the message back in, we get strange errors like this one:
    ServerSession(1204462)--Thread[PointcastTopicConnection,5,main]--EXCEPTION [TOPLINK-10000] (TopLink - 9.0.3.5 (Build 436)): oracle.toplink.exceptions.JMSProcessingException
    EXCEPTION DESCRIPTION: (There is no English translation for this exception.)
    INTERNAL EXCEPTION: javax.jms.MessageFormatException: Unable to deserialize object: java.lang.ClassCastException: Assigning instance of class oracle.toplink.internal.sessions.ObjectChangeSet to field oracle.toplink.internal.sessions.ObjectReferenceChangeRecord#newValue
    Has anyone seen something like this before? We're using Toplink 9.0.3.5 with OC4J 9.0.2.2 (build 021224.1834).
    (Apologies if this isn't Toplink-related. It's hard to tell if this is the App Server or Toplink failing here)
    Thanks
    - Don

    I found this on http://download.oracle.com/docs/cd/B10464_05/web.904/b10313/cache.htm
    Note:
    When you select JMS as the transport mechanism in the clustering-service element, OracleAS TopLink ignores the discovery setting.
    Does ignoring the discovery setting mean that it is not used?
    Thanks.

  • JMS Messaging Bridge Problems with WLS 8.1 sp2

              Thank you in advance for your help.
              I am trying to configure a JSM Messaging Bridge to connect an MQ Q to a Weblogic
              Q. I have this working wonderfully in an environment without clustering but once
              I try to deploy to a cluster, I am having two major problems.
              1) When the managed servers are restarted, the messaging bridges immediately complain
              about not being able to find the resource adaptor. After I manually un-target
              the messaging bridge from the cluster and re-target them, they find the resource
              adaptor but cannot connect to the source... which leads to my next problem.
              2) The messaging bridges cannot connect to the source destination whether it is
              an MQ Q or a Weblogic JMS Q does not matter. Here are the log entries that I
              see relative:
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging STARTUP! Got Notification:weblogic.management.AttributeAddNotification:
              Deployments from <null> to [Caching Stub]Proxy for eBusDev02:Location=secaServer01,Name=seca_OES_ADV_REPLY
              Messaging Bridge,Type=MessagingBridgeConfig - weblogic.management.AttributeAddNotification[source=eBusDev02:Location=secaServer01,Name=secaServer01,Type=ServerConfig].>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging STARTUP! creating bridge seca_OES_ADV_REPLY Messaging
              Bridge.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging STARTUP! Bridge seca_OES_ADV_REPLY Messaging Bridge
              is deployed as a migratable.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging RUNTIME! Initializging bridge seca_OES_ADV_REPLY Messaging
              Bridge as a migratable.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging STARTUP! Bridge seca_OES_ADV_REPLY Messaging Bridge's
              source configurations are:
              AdapterJNDIName=eis.jms.WLSConnectionFactoryJNDIXA
              Classpath=null
              ConnectionURL = file:/e:/private/JNDI/eBusDev02
              DestinationType = Queue
              DestinationJNDIName = jms.oes.MQ-ADV-REPLYQ
              InitialContextFactory = com.sun.jndi.fscontext.RefFSContextFactory
              ConnectionFactoryJNDIName = jms.oes.MQ-QCF
              .>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging STARTUP! Bridge seca_OES_ADV_REPLY Messaging Bridge's
              target configurations are:
              AdapterJNDIName=eis.jms.WLSConnectionFactoryJNDIXA
              Classpath=null
              ConnectionURL = t3://30.135.10.63:8103,30.135.10.63:8104
              DestinationType = Queue
              DestinationJNDIName = jms/oes/ADV-REPLYQ
              InitialContextFactory = weblogic.jndi.WLInitialContextFactory
              ConnectionFactoryJNDIName = jms/oes/QCF
              .>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging STARTUP! Bridge seca_OES_ADV_REPLY Messaging Bridge
              is successfully initialized.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging RUNTIME! Bridge seca_OES_ADV_REPLY Messaging Bridge
              has been successfully initialized as a migratable.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging RUNTIME! Activating bridge seca_OES_ADV_REPLY Messaging
              Bridge.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '1' for queue: 'weblogic.admin.RMI'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging RUNTIME! Bridge seca_OES_ADV_REPLY Messaging Bridge
              has been successfully activated..>
              ####<Apr 1, 2004 4:38:44 PM EST> <Info> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '22' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-200033>
              <Bridge "seca_OES_ADV_REPLY Messaging Bridge" is obtaining connections to the
              two adapters.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Debug> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '22' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-200006>
              <Messaging bridge debugging RUNTIME! Bridge seca_OES_ADV_REPLY Messaging Bridge
              Getting source connection.>
              ####<Apr 1, 2004 4:38:44 PM EST> <Info> <MessagingBridge> <dv2kwls03> <secaServer01>
              <ExecuteThread: '22' for queue: 'weblogic.kernel.Default'> <<WLS Kernel>> <> <BEA-200042>
              <Bridge seca_OES_ADV_REPLY Messaging Bridge failed to connect to the source destination
              and will try again in 15 seconds. (java.lang.NullPointerException)>
              I know the queues are up and I am pretty sure my MQ client configuration is correct.
              Is there anyway to get more information about the NullPointerException or the
              error being encountered?
              

    Given that you have ruled out message backlogs, my first suspicion is that the leak has something to do with connection allocation. Does JMS stats reveal an application generated connection leak? Check to see if the current number of connections/sessions stays steady.
              If this doesn't help, you can use a third party tool like OptimizeIt to get periodic snap-shots of memory usage and identify the leaked object (or create a reproducer and have customer support do it). A possible work-around is to modify your app to pool JMS connections/sessions for re-use - greatly reducing the number of connections created per day.
              Tom

  • JMS JNDI configurtaration problem

    IHAC where we are connecting PeopleSoft Integration Broker. Unfortunately PIB doesn't support LDAP for JNDI (go figure). So I have to use a .bindings file.
    Problem is, when I run the HelloWorldMessageJNDI I get the following error:
    Using file:///tmp/mq for Context.PROVIDER_URL
    Looking up Connection Factory object with lookup name: CSoutboundQCF Connection Factory object found.
    Looking up Queue object with lookup name: CSoutboundQ Failed to lookup Queue object.
    Please make sure you have created the Queue object using the command:
           imqobjmgr -i add_q.props
    The exception details:
    javax.naming.NameNotFoundException: CSoutboundQ
           at com.sun.jndi.fscontext.RefFSContext.getObjectFromBindings(RefFSContext.java:400)
           at com.sun.jndi.fscontext.RefFSContext.lookupObject(RefFSContext.java:327)
           at com.sun.jndi.fscontext.RefFSContext.lookup(RefFSContext.java:146)
           at com.sun.jndi.fscontext.FSContext.lookup(FSContext.java:127)
           at javax.naming.InitialContext.lookup(Unknown Source)
           at HelloWorldMessageJNDI.<init>(HelloWorldMessageJNDI.java:187)
           at HelloWorldMessageJNDI.main(HelloWorldMessageJNDI.java:120)

    It's looks almost as the same as my problem in web app., when I forgot wrote tags <resource-env-ref in web.xml..
    e.g. web.xml
    <resource-env-ref>
    <resource-env-ref-name>jms/MainQueue</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
    </resource-env-ref>
    <resource-ref>
    <res-ref-name>jms/MainQueueConnectionFactory</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    </resource-ref>
    ....

  • Jms receive timeout problem

    Hi guys,
    I want to receive messages on a timeout basis. However, my code always stuck at a certain point. Here is my source code:
    import javax.jms.*;
    import javax.naming.Context;
    import javax.naming.NamingException;
    import javax.naming.spi.NamingManager;
    import java.util.Hashtable;
    public class JmsRecv {
        public static void main(String[] args) throws JMSException, NamingException {
            Context JndiContext = createContextForWeblogic(args[0]);
            QueueConnectionFactory TheQueueConnectionFactory = (QueueConnectionFactory) JndiContext.lookup("weblogic.jms.ConnectionFactory");
            Queue q = (Queue) JndiContext.lookup("Queue_A");
            QueueConnection qc = TheQueueConnectionFactory.createQueueConnection();
            qc.start();
            QueueSession qs = qc.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
            QueueReceiver qr = qs.createReceiver(q, null);
            Message mrecv = null;
            long elapsed = 0;
            int index = 1;
            while (mrecv == null && elapsed < 200) {
                long start = System.currentTimeMillis();
                mrecv = qr.receive(10);
                elapsed = System.currentTimeMillis() - start;
                System.out.println("index=" + index++ + " elapsed=" + elapsed);
            qr.close();
            qs.close();
            qc.close();
        static Context createContextForWeblogic(String connectionURL) {
            Context ctx = null;
            Hashtable env = new Hashtable();
            env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory");
            env.put(Context.PROVIDER_URL, connectionURL);
            try {
                ctx = NamingManager.getInitialContext(env);
            } catch (Exception e) {
                e.printStackTrace();
                MSFException msfException = new MSFException(e.getMessage());
                msfException.initCause(e);
                throw msfException;
            return ctx;
    }And the result is always:
    index=1 elapsed=31
    index=2 elapsed=16
    index=3 elapsed=15
    index=139 elapsed=16
    index=140 elapsed=15
    index=141 elapsed=9391
    It always stops at index 141. Why the jms receive with timeout works initially then doesn't work as expected? Any ideas?? I have a similar problem with send too. Send works quickly initially but at a certain point sending takes too much time. Thanks.
    Gurkan

    try moving
    long start = System.currentTimeMillis();
    outside your while loop. That is your starting point and it should change after you start. But having it in the loop resets it.

  • Jms ptp deployment problem

    hi
    i am try to deploy jms ptp example ,while running it is showing erro like this:
    Exception in thread "main" java.lang.ClassCastException: com.evermind.server.jms
    .EvermindConnectionFactory
    at QSender.init(QSender.java:30)
    at QSender.main(QSender.java:79)
    please help me how to slove.

    Above problem could be resolved.
    1. The problem only occured when sending a message within a transaction. Without transaction everything worked fine.
    2. Due to this strange behaviour we assumed that this is a bug - and it was. This bug has the issue nummer: 5331629. In version 10.1.3.1.0 this issue is resolved. We tested it and indeed it worked as excpected.

  • JMS ObjectMessage getObject() problem

    Does anyone know if one can get an object of a class that has a reference to an interface/abstract class from the ObjectMessage in JMS?
    For example, class A has a reference of an abstract class AA. When sending an object message in JMS,
    one creates an instance of A, A', and an instance of AB, AB', (which is a concrete implementation of abstract class AA), assigns AB' to A' via setter method and put A' into the object message and send it out.
    The problem I am having is on the receiving end. JMS throws IOException (wrapped within JMSException) when the receiving end tries to do getObject().
    Any pointer or enlightenment on this is greatly appreciated. Thanks in advance.

    I've done what you are talking about so it is possible. The trick is to ensure that all classes that are contained in the ObjectMessage, including class A and classes referred to by class A, are Serializable.

  • JMS SimpleQueueSender PoolingException problem

    I am getting the following error when I ran the SimpleQueueSender.
    I have seen previous postings on this problem. It looks like mine is also same issue.
    BTW, where can I find the jms_client.properties file. Do I need to create this one? I have seen, there is jms_service.properties file. But there is no jms_client.properties file.. Could you please suggest how to get this file?
    JNDI API lookup failed: javax.naming.CommunicationException: com.sun.enterprise.resource.PoolingException
    at com.sun.enterprise.naming.factory.JavaAppClientObjectHandler.createConnectionFactory(JavaAppClientObjectHandler.java:19
    4)
    at com.sun.enterprise.naming.factory.ConnectorObjectFactory.getObjectInstance(ConnectorObjectFactory.java:89)
    at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:301)
    at com.sun.enterprise.naming.SerialContext.lookup(SerialContext.java:124)
    at javax.naming.InitialContext.lookup(InitialContext.java:347)
    at SimpleQueueSender.main(SimpleQueueSender.java:104)
    Caused by: java.lang.ClassNotFoundException: com.sun.jms.connector.ra.JMSManagedQueueConnectionFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:198)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:186)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:265)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:262)
    at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:322)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:207)

    I figured out my self that
    "com.sun.jms.connector.ra.JMSManagedQueueConnectionFactory"
    available in %J2EE_HOME%\lib\system\jmsra.jar file.
    I kept the above jar file in classpath. That way, SimpleQueueSender ran smoothly.

  • JMS Sender adapter Problem

    Hi All,
    I have posted this question earlier too. But did not get a proper answer.
    I am using JMS adapter to fetch data from MQ.
    My input data is: AA123BB45678AA345BB78564.
    It is just reading the first segment i.e.AA123 and not reading the remaining.
    How can I configure my JMS adapter to pick this pattern of data? It works fine if I have line break after each record that is if the input is as below.
    AA123
    BB45678
    AA345
    BB78564
    In the above there is a Line break after each segment. So JMS adapter picks it fine.
    I have also tried using xml.A.endSeparator equals to blank in the module configuration. But it does not work either.
    Can anyone throw some light to this?
    Thanks
    Abinash

    Ok If I had to configure the sender File adapter to read the above mentioned input data how can I do it.
    AA123BB45678AA345BB78564.
    I don't have any line breaks between segments.
    I want it to read it as following
    <Src_MT>
    <SRC>
    <A>
    <A1>AA</A1>
    <A2>123</A2>
    </A>
    <B>
    <B1>BB</B1>
    <B2>45678</B2>
    </B>
    </SRC>
    So on.
    What value should I have in xml.A.endSepartor and xml.endSeparator to make the above case work?
    Thanks
    Abinash

  • Foreign jms queue binding problem

              Hi,
              I am on the way to wls7.0 from wls5.1, but I got a probelm when I tried to rebind
              the jms queue to weblogic jndi.
              [javax.naming.ConfigurationException [Root exception is java.rmi.MarshalException:
              failed to marshal rebind(Ljava.lang.String;Ljava.lang.Object;Ljava.util.Hasht
              able;); nested exception is: java.io.NotSerializableException]]
              Can I bind the queue to wls jndi? Anybody has silimar situation?
              Thanks
              

    Hi Jen,
              As TOM said, in your case weblogic interaoperabilty supports only from
              weblogic 5.1 to 6.1, that to specified service packs. you can go through the
              following url
              http://e-docs.bea.com/wls/docs61/interop/interop.html
              So you better go by using message bridges for foreign jms providers. The
              document has how you can configure about JNDI provider either File based Or
              Ldap based.
              Thanks
              Kumar
              "Je" <[email protected]> wrote in message
              news:[email protected]...
              >
              > Thanks, actually I am trying to rebind the jms queue from Fiorano
              > MQ. It works fine in wls5.1. Is there special requirement for jndi for
              wls7.1,
              > does the object needs to be serilizable to be bind into jndi?
              >
              > Tom Barnes <[email protected]> wrote:
              > >
              > >It seems you are trying to access 5.1 JMS from 7.0. WebLogic did not
              > >
              > >support interoperability between versions until 6.1. The classes are
              > >
              > >not compatible. So interop requires a good bit of class-loader magic.
              > >
              > > The only way to interop between JMS 5.1 and 7.0 is to use the
              > >messaging bridge (which does the magic for you).
              > >
              > >FYI: I think that it may be possible to invoke remote 5.1 methods from
              > >
              > >7.0 using the IIOP protocol.
              > >
              > >Tom
              > >
              > >Jen wrote:
              > >> Hi,
              > >> I am on the way to wls7.0 from wls5.1, but I got a probelm when I tried
              > >to rebind
              > >> the jms queue to weblogic jndi.
              > >>
              > >> [javax.naming.ConfigurationException [Root exception is
              java.rmi.MarshalException:
              > >> failed to marshal
              rebind(Ljava.lang.String;Ljava.lang.Object;Ljava.util.Hasht
              > >> able;); nested exception is: java.io.NotSerializableException]]
              > >>
              > >> Can I bind the queue to wls jndi? Anybody has silimar situation?
              > >> Thanks
              > >
              >
              

Maybe you are looking for

  • In IDCS3 how do you print part of a page?

    I use IDCS3 to create large graphics, 48"x96" and larger. I always need to print a section of a graphic to proof in color on an 8.5 x 11 color printer. This is easy, oddly enough, in the sister application Illustrator. You get a thumbnail image in th

  • Im stuck with my 0,18$ american. I want to get rid of it! My giftcard and my creditcard is canadian. Im stuck!help!

    I created an american account because i bought a american giftcard. But now im back in canada with my canadian giftcard and my canadian creditcard but im stuck with my 0,18$ american. What do i do?!?

  • Do you have to pay twice when you buy a "ringtone" sone on itunes?

    I recently purchased holliday ringtones for $9.99, and they are labeled as "ring tones" (less than 30 seconds each) but I cannot add them to my iphone whithout buying again for $.99. I don't understand why the ringtones show up in my music and not in

  • Query related to DTW

    Hi, I am trying to import data thru templet file bt saving then in .csv ext, Error pertains in case were filed is of drop down TYype. So My Question is how to update the dropdown filed vales thru DTW in case od Employe master data.

  • N in a row

    Hi, I want to create a game n-in-a-row (like tic tac toe = 3-in-a-row). So if anyone could point me to a right direction, how to deal with a problem like this. I don't need a source code of some other implementation, I would only like to know what ar