JMSPriority

Hi,
Does anyone know if the SAP JMS implementation uses the JMS Priority message property?
Regards,
Andrew

Hi Andrew,
Check this out: http://help.sap.com/saphelp_nwce711/helpdata/en/46/31558a9f1214dfe10000000a155369/frameset.htm >> "JMS Messages" section.
So the answer would be YES - SAP's implementation of JMS uses this property (JMSPriority).
Best,
Yordan

Similar Messages

  • Can JMSPriority be used to distinguish between real-time, near real-time workloads?

    IHAC that needs to throttle work passed to a backend system, i.e. limit
              the # of concurrent requests, as well as prioritize between different
              kinds of workloads including real-time, deferred real-time
              (asynchronous) and batch.
              I'm proposing to use a pool of MDBs reading of a single JMS queue. The
              max-free-beans-in-pool would be used to limit the concurrent access to
              the backend system.
              Can JMSPriority be used to distinguish between the different kinds of
              workloads? (real-time, near real-time and batch)
              How is the JMSPriority used when consuming messages from a queue in WLS
              JMS? Are messages dequeued in strict priority order or is there an
              algorithm to ensure lower priority messages are periodically consumed,
              i.e. to ensure they are not starved-out? Or do you have to create a
              message selector to dequeue based on priority?
              Is the an appropriate use of JMSPriority or should I set-up dedicated
              JMS queues for each of the different workload types?
              Cheers
              Simon
              

              Tom,
              How do you create custome connection factories in JMS? And also how can u
              change the MessageMaximum to 0? I thought the minimum is 1 and that u can only
              change in the config.xml file??
              Any code snippets on how to write custom connection factories would be helpful.
              Thank You,
              Sankas
              Tom Barnes <[email protected]> wrote:
              >Hi Simon,
              >
              >Answers in-line.
              >
              >Simon Pearce wrote:
              >
              >> IHAC that needs to throttle work passed to a backend system, i.e. limit
              >> the # of concurrent requests, as well as prioritize between different
              >> kinds of workloads including real-time, deferred real-time
              >> (asynchronous) and batch.
              >>
              >> I'm proposing to use a pool of MDBs reading of a single JMS queue.
              >The
              >> max-free-beans-in-pool would be used to limit the concurrent access
              >to
              >> the backend system.
              >>
              >> Can JMSPriority be used to distinguish between the different kinds
              >of
              >> workloads? (real-time, near real-time and batch)
              >>
              >> How is the JMSPriority used when consuming messages from a queue in
              >WLS
              >> JMS? Are messages dequeued in strict priority order or is there an
              >> algorithm to ensure lower priority messages are periodically consumed,
              >> i.e. to ensure they are not starved-out?
              >
              >To get priority sorting you must configure the destination to sort by
              >priority.
              >It sorts FIFO by default.
              >
              >In addition, you may want to tune-down the pipe-line size between
              >the JMS server and the MDB (create a custom connection factory, and
              >set MessagesMaximum to 0, default is 10), as the pipe-line is unsorted
              >and consequently messages will not "jump ahead" of each-other in the
              >pipe-line.
              >
              >> Or do you have to create a
              >> message selector to dequeue based on priority?
              >
              >No.
              >
              >>
              >>
              >> Is the an appropriate use of JMSPriority or should I set-up dedicated
              >> JMS queues for each of the different workload types?
              >
              >The latter, as long the app can tolerate concurrent execution of all
              >workload
              >types due to having an MDB per queue. The latter will perform better
              >than selectors,
              >and you won't have to worry about the unsorted pipe-line.
              >
              >>
              >>
              >>
              >> Cheers
              >>
              >> Simon
              >
              >Tom, BEA
              >
              

  • How do I set the JMSPriority?

    Hi All,
    I'm trying to set the JMSPriority on a message to 7. I know that you have to use the MessageProducer class but I can't get it to work correctly for me. Once I create the producer and set the priority, I then can't send the message.
    Here's my code, any assistance would be greatly appreciated.
    Thanks
    // Initialize JNDI.
    Context context = new InitialContext();
    // Lookup the connection factory using
    // JNDI.
    TopicConnectionFactory topicConnectionFactory
         = (TopicConnectionFactory)context.lookup("UIL2ConnectionFactory");
    // Use the connection factory to create
    // a JMS connection.
    topicConnection = topicConnectionFactory.createTopicConnection();
    // Use the connection to create a
    // session.
    TopicSession topicSession = topicConnection.createTopicSession(false, session.AUTO_ACKNOWLEDGE);
    // Lookup the destination (topic) using
    // JNDI.  Note that the designated
    // destination (MyTopic) must be
    // administered within the JMS service
    // environment.
    Topic topic = (Topic)context.lookup("topic/MyTopic");
    // Create a message publisher.
    TopicPublisher topicPublisher = topicSession.createPublisher(topic);
    // Create a text message, and send it.
    TextMessage message = topicSession.createTextMessage();
    message.setText("This is a TextMessage");
    topicPublisher.publish(message);

    Hi
    There are two ways of setting the JMS priority on a message. Either on the message producer level:
    messageProducer.setPriority( 7 );
    or at message production time:
    messageProducer.send( textMessage, Message.DEFAULT_DELIVERY_MODE, 7, Message.DEFAULT_TIME_TO_LIVE);
    If it doesn�t work you should register a bug with your JMS provider.
    Note that in order to receive messages the connection has to be started.
    Hope it helps
    A. Simon
    www.arjuna.com

  • Setting JMSPriority on call to Business Service on AquaLogic 2.6 ?

    I have a one-way web service receiving requests on the service bus in a Proxy Service as SOAP/HTTP and sending this further on to as Business Service as SOAP/JMS.
    As part of calling the Business Service, how do I set the JMS priority?
    I am using AquaLogic 2.6. Under the common "Transport Headers" it very much appears to me as if the existing and pre-defined "JMSPriority" does not work - trying to use it leads to a runtime error. I found someone else noting this problem too as an older post - JMS priority transport header This post has some kind of solution too but appears to be aimed at the Proxy Service and not the Business Service.
    So far, all my attempts to set the JMSPriority has failed. Information on the subject appears scarce.
    How do I make my Business Service use a specific JMS priority in its SOAP/JMS call to the actual service?

    Yes, I understand you fully - this selecting the "JMSPriority" from the dropdown is what I meant with the existing and pre-defined setting not working.
    In AquaLogic 2.6. this leads to the same as noted by the other fellow in the older post from 2008 (JMS priority transport header it at runtime results in a transport exception like -
    com.bea.wli.sb.transports.TransportException: java.lang.String
    at com.bea.wli.sb.transports.TransportException.newInstance(TransportException.java:146)
    at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.setRequestMetaData(JmsOutboundMessageContext.java:220)
    at com.bea.wli.sb.transports.jms.JmsOutboundMessageContext.send(JmsOutboundMessageContext.java:456)
    - and this is where the problem begins. I have tried all sorts of things with little result.
    I have done exactly as you describe.
    The value you assign to the expression in your 11g - does this expression happen to be special in any way?

  • How to receive message from queue based on JMSPriority

    Hi all,
    I want to receive message from Receive Message From Queue based on JMSPrirority.
    I am able to send message to queue using Send Message To Queue component with specifying Priority value as Five(Liternal value).
    Now, when I am trying to receive message from Queue by specifying JMSPriority='Five'; in Message selector, it is not working.
    But, when I use JMSPriority is not null in Message selector, I am able to receive message.
    How to receive message from queue by specifying exact value of JMSPriority.
    Please suggest.

    Hi WASIL,
    I tried with captial FIVE and it is not working.
    I tried also like operator and the standard example doesn't recieve messages based on priority.
    I am experiecing below error:
    Caused by: javax.jms.InvalidSelectorException: The selector is invalid: JMSPriority LIKE '%FIVE%';
        at com.adobe.livecycle.jms.QueueMessageReceiver.receiveMessageFromQueueWithPropertiesNoWait( QueueMessageReceiver.java:206)
        at com.adobe.livecycle.jms.JMSService.receiveMessageFromQueue(JMSService.java:413)
        at sun.reflect.GeneratedMethodAccessor1017.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:118)
        ... 135 more
    Caused by: javax.jms.InvalidSelectorException: The selector is invalid: JMSPriority LIKE '%FIVE%';
        at org.jboss.jms.server.selector.Selector.<init>(Selector.java:107)
        at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegateInternal(Server SessionEndpoint.java:2103)
        at org.jboss.jms.server.endpoint.ServerSessionEndpoint.createConsumerDelegate(ServerSessionE ndpoint.java:277)
        at org.jboss.jms.server.endpoint.advised.SessionAdvised.org$jboss$jms$server$endpoint$advise d$SessionAdvised$createConsumerDelegate$aop(SessionAdvised.java:94)
        at org.jboss.jms.server.endpoint.advised.SessionAdvised$createConsumerDelegate_8721389917985 689973.invokeTarget(SessionAdvised$createConsumerDelegate_8721389917985689973.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
        at org.jboss.jms.server.container.SecurityAspect.handleCreateConsumerDelegate(SecurityAspect .java:124)
        at sun.reflect.GeneratedMethodAccessor389.invoke(Unknown Source)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:616)
        at org.jboss.aop.advice.PerInstanceAdvice.invoke(PerInstanceAdvice.java:122)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.server.container.ServerLogInterceptor.invoke(ServerLogInterceptor.java:105)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.server.endpoint.advised.SessionAdvised.createConsumerDelegate(SessionAdvise d.java)
        at org.jboss.jms.wireformat.SessionCreateConsumerDelegateRequest.serverInvoke(SessionCreateC onsumerDelegateRequest.java:100)
        at org.jboss.jms.server.remoting.JMSServerInvocationHandler.invoke(JMSServerInvocationHandle r.java:165)
        at org.jboss.remoting.ServerInvoker.invoke(ServerInvoker.java:967)
        at org.jboss.remoting.transport.socket.ServerThread.completeInvocation(ServerThread.java:791 )
        at org.jboss.remoting.transport.socket.ServerThread.processInvocation(ServerThread.java:744)
        at org.jboss.remoting.transport.socket.ServerThread.dorun(ServerThread.java:586)
        at org.jboss.remoting.transport.socket.ServerThread.run(ServerThread.java:234)
        at org.jboss.remoting.MicroRemoteClientInvoker.invoke(MicroRemoteClientInvoker.java:216)
        at org.jboss.remoting.Client.invoke(Client.java:2034)
        at org.jboss.remoting.Client.invoke(Client.java:877)
        at org.jboss.remoting.Client.invoke(Client.java:865)
        at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:189)
        at org.jboss.jms.client.delegate.DelegateSupport.doInvoke(DelegateSupport.java:160)
        at org.jboss.jms.client.delegate.ClientSessionDelegate.org$jboss$jms$client$delegate$ClientS essionDelegate$createConsumerDelegate$aop(ClientSessionDelegate.java:267)
        at org.jboss.jms.client.delegate.ClientSessionDelegate$createConsumerDelegate_87213899179856 89973.invokeTarget(ClientSessionDelegate$createConsumerDelegate_8721389917985689973.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
        at org.jboss.jms.client.container.StateCreationAspect.handleCreateConsumerDelegate(StateCrea tionAspect.java:136)
        at org.jboss.aop.advice.org.jboss.jms.client.container.StateCreationAspect_z_handleCreateCon sumerDelegate_930384804.invoke(StateCreationAspect_z_handleCreateConsumerDelegate_93038480 4.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.container.ConsumerAspect.handleCreateConsumerDelegate(ConsumerAspect .java:76)
        at org.jboss.aop.advice.org.jboss.jms.client.container.ConsumerAspect_z_handleCreateConsumer Delegate_930384804.invoke(ConsumerAspect_z_handleCreateConsumerDelegate_930384804.java)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.container.FailoverValveInterceptor.invoke(FailoverValveInterceptor.j ava:92)
        at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.container.ClosedInterceptor.invoke(ClosedInterceptor.java:172)
        at org.jboss.aop.advice.PerInstanceInterceptor.invoke(PerInstanceInterceptor.java:86)
        at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
        at org.jboss.jms.client.delegate.ClientSessionDelegate.createConsumerDelegate(ClientSessionD elegate.java)
        at org.jboss.jms.client.JBossSession.createConsumer(JBossSession.java:237)
        at org.jboss.jms.client.JBossSession.createConsumer(JBossSession.java:220)
        at org.jboss.jms.client.JBossSession.createReceiver(JBossSession.java:396)
        at com.adobe.livecycle.jms.QueueMessageReceiver.receiveMessageFromQueueWithPropertiesNoWait( QueueMessageReceiver.java:198)
        ... 140 more
    Please suggest

  • HELP!! JBOSS Default Settings (JMSPriority, JMSExpiration)

    Hello All,
    I'm trying to figure out how to change the default JBoss settings for JMSExpiration, JMSPriority and JMSTimeStamp. I'm new to JBoss and have found that the documentation on this application is lacking and I'm being polite as this is a public forum.
    Can anybody out there point me in the right direction or even better yet tell me what file to tweek so I can make my needed changes?
    Thanks in advance!
    Karl

    Hi.
    First of all - Jboss's documentation isn't lacking at all. It only costs money, because that's how they make their profit.
    Second - I am not sure you can do it the way you want to do it. I do not know that Jboss has a properties file for these kind of parameters.
    You'll be better off trying the Jboss forums for this question.
    Cheers
    Nimo.

  • JMSPriority -- Transport Headers Question

    Hi,
    Scenario is InpQueue --> OSB -- > OutQueue. OSB proxy service is configured to "Get All Headers" in JMS message. We are not using any Message selector.
    Can anyone please tell us whether setting JMS Priority using transport headers -- outbound in OSB BS will retrieve messages according to the priority? Documentation doesnt say about this.
    Regards,
    AP

    Priority logic is controlled by JMS server. Proxy/BS has no role in this logic.
    Message-->JMS Q Input-->JMS Proxy( read as MDB)---{Routing-BS} (read as Java JMS Producer Client)--JMS Q Output.
    So outbound BS will not retrieve the message but will only send the message to the JMS Q. So setting priority on JMS message does not have any effect on JMS BS.
    I'm not sure we are on the same page. Let me know if you have questions.
    Manoj

  • Lack of information in JMS based notification message

    Hello,
    I have configured Watch for server log and related JMS Message Notification.
    However, I get only a text like "MapMessage[ID:<589306.1276727319522.0>]" in the JMS message text.
    How can I get the original log message by that ID or the JMS message's text can be extended with content WatchData attribute?
    Very appreciate any help or direction to place where I can read about it.
    Thanks,
    Yuriy

    I have figured out what is going on.
    WLDF notification is written to JMS in the format that WLS Administrative Console can not read it.
    However, when I export message to XML I can see all information that I need:
    <?xml version="1.0" encoding="UTF-8"?>
    <JMSMessageExport>
    <mes:WLJMSMessage xmlns:mes="http://www.bea.com/WLS/JMS/Message">
    <mes:Header>
    <mes:JMSMessageID>ID:&lt;589306.1276788240914.0></mes:JMSMessageID>
    <mes:JMSDeliveryMode>PERSISTENT</mes:JMSDeliveryMode>
    <mes:JMSExpiration>0</mes:JMSExpiration>
    <mes:JMSPriority>4</mes:JMSPriority>
    <mes:JMSRedelivered>false</mes:JMSRedelivered>
    <mes:JMSTimestamp>1276788240914</mes:JMSTimestamp>
    <mes:Properties>
    <mes:property name="JMSXDeliveryCount">
    <mes:Int>0</mes:Int>
    </mes:property>
    </mes:Properties>
    </mes:Header>
    <mes:Body>
    <mes:Map>
    <mes:name-value name="WatchAlarmResetPeriod">
    <mes:String>60000</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchSeverityLevel">
    <mes:String>Notice</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchRule">
    <mes:String>(SUBSYSTEM = 'ousgg.valves')</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchDomainName">
    <mes:String>my_domain</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchData">
    <mes:String>DATE = Jun 17, 2010 11:24:00 AM EDT SERVER = AdminServer MESSAGE = Invalid record ...</mes:String>
    </mes:name-value>
    <mes:name-value name="JMSNotificationName">
    <mes:String>OUSGG-FileValves-Fail-JMS</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchAlarmType">
    <mes:String>None</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchRuleType">
    <mes:String>Log</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchName">
    <mes:String>OUSGG-FileValves</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchServerName">
    <mes:String>AdminServer</mes:String>
    </mes:name-value>
    <mes:name-value name="WatchTime">
    <mes:String>Jun 17, 2010 11:24:00 AM EDT</mes:String>
    </mes:name-value>
    </mes:Map>
    </mes:Body>
    </mes:WLJMSMessage>
    </JMSMessageExport>
    Does anybody know what format the notification is written in?
    I'm trying to read it via JMS transport in OSB and it throwing errors no matter what "Request Message Type" I use:
    Unexpected type of message received: weblogic.jms.common.MapMessageImpl
    Thanks,
    Yuriy
    Edited by: user736637 on Jun 17, 2010 12:15 PM

  • Can JMS Message be filtered dynamically based on the JMS Header variable

    Hi All,
    We have a requirement to filter messages from an MQ (Queue) using the JMS Adapter.
    There is only one subscriber to this Queue.
    Can we use the Message Selector option using the same subscriber to pick different messages based on the context set.
    For example I have two BPEL instances running for the same BPEL process and both of them have to read messages from the same MQ Queue, say SampleQueue.
    The first BPEL instance need to pick the messages when JMSpriority = 1
    The second BPEL instance should pick the messages when JMSpriority = 2
    Is this possible? As the Message Selector in the examples given is expecting a literal on the right side of the expression.
    Ex : Country='UK' Color='Green' etc
    To put the question in a different way, can the right side of the expression in a message selector be a BPEL variable?
    Thanks

    Hi
    I have the same question. Basically, I want to match my response message with the request message. I am putting in an id in JMSCOrrelationID in the request. The applciation that send the response put the COrrelationId, I sent into the JMSMessageId. But now, I want to correlate my request and response? What is the best way to do this in BPEL?
    Can the right side be a variable? I want to say JMSMessageID = 'ID: ' + JMSCorrelationId.

  • Receiver JMS adapter issue in PI 7.1

    Hi All,
    We are using JMS receiver adapter for one of our scenarios. I'm facing different type of issue in production system
    Issues:
    If the channel is functioning the messages are successfully delivering to end system. If there are NO messages for long time the channel is not sending any message to end system and messages are getting failed in PI.
    If i STOP and START the channel after few minutes channel able to deliver the messages.
    I'm not not able to figure out where the issue is causing.
    Please assist me to get ride of this issue.
    Thanks in advance
    - VR

    Hello Rajesh and all,
    Below is the error message i'm receiving. This issue is happens when there is no message flow for few hours and when a new message comes adapter channel in RWB through below error message.
    Please assist with  inputs
    Message processing failed. Cause:com.sap.engine.interfaces.messaging.api.exception.MessagingException:Connector for ConnectionProfile of Channel:IN_JMS_xxxx
    node:xxxx havingobject id:xxxxxxx encountered error:MQJMSxxx:an internal error has occured. Please contact your system administrator. Detail: com.ibm.mqservices.MQInternalException:MQJE001:
    An MQException occurred:Completion Code 2,Reason 2195 MQJE046:Unsupported codeset:0 in sending to destination queue:///xxxxxx.QUEUE?targetClient=1, the message message:JMS Message class:jms_txt JMSType: null
    JMSDeliveryMode:2 JMSExpiration:0 JMSPriority: 4 JMSMessageID:  null JMSTimestamp:  0

  • MQ - Problems with receiver adapter

    Hello experts,
    has anybody experience with this kind of MQ error:
    Message-Verarbeitung fehlgeschlagen. Grund: com.sap.aii.af.ra.ms.api.RecoverableException: Connector for ConnectionProfile of channel: jms_rcv_aleg on node: 517708350 having object id: 336a5d371e443540b9cf6fcdb922228a encountered error: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mqservices.MQInternalException: MQJE001: An MQException occurred: Completion Code 2, Reason 2195 MQJE046: Unsupported codeset : 0 in sending to destination queue:///somevalue targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    0  JMSCorrelationID:08c08110-6001-1091-0804-a2873c90c93c  JMSDestination:  null  JMSReplyTo:      null  JMSRedelivered:  false <?xml version="1.0" encoding="UTF-8"?> <ns1:aleg_auftrag_webkarat_rc xmlns:ns1="http://somevalue.de/ka Another 101 character(s) omitted: javax.jms.JMSException: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: com.ibm.mqservices.MQInternalException: MQJE001: An MQException occurred: Completion Code 2, Reason 2195 MQJE046: Unsupported codeset : 0
    Some additional background information: The MQ system is restarted once a day at midnight. The first message after restart always fails. To solve this I configured the receiver channel with the follwing parameters:
    Wait After Message Error (msecs): 900000
    Wait Before Reconnect (msecs): 600000
    Reconnect if Exception Text Starts with: MQJMS2007
    Handling of Pending XI Messages: Bypass Pending Warning and Send Message to JMS (Duplicates Possible)
    The SAP note 948016 says something about the JMS-Parameter CONNECTION_TEST_POLL=true. After configuration I received an error, that the adapter is not able to create a temporary queue.
    Thanks for all help on this topic
    Frank

    Hi,
    Hope these links are useful to you..
    configuration of JMS  adapter Using WebSphereMQ
    connection with the JMS provider
    http://www-1.ibm.com/support/docview.wss?uid=swg21180117
    http://www-1.ibm.com/support/docview.wss?uid=swg21105655
    Thanks,
    Satya Kumar..

  • JMS receiver adapter Error

    Hi Experts,
    Any idea about this error. We are getting following in JMS receiver adapter in PI 7.1.
    Delivering the message to the application using connection JMS_http://sap.com/xi/XI/System failed, due to: com.sap.engine.interfaces.messaging.api.exception.MessagingException: Connector for ConnectionProfile of channel: JMS_Receiver_THQPRD2_Slow_Replyon node: 284760550 having object id: cf2f6eb7d6c93902b64b27bfcaad0ba5 encountered error: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: java.lang.NullPointerException: while trying to read the field 'ccsid' of an object loaded from field com.ibm.mq.MQSESSIONClient.comms of an object loaded from local variable '<0>' in sending to destination queue:///QR.EAIPRD.THQPRD2.REPLY.SLOW?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    0  JMSCorrelationID:ID:414d5120504c535748353533202020204e6324ae23eb5b2d  JMSDestination:  null  JMSReplyTo:      null  JMSRedelivered:  false XPLOR     PIPXSDI2030 45219q00282YSDI2030PROCESS_MQSERIES              PLSWH553                     Another 12,761 character(s) omitted: javax.jms.JMSException: MQJMS1016: an internal error has occurred. Please contact your system administrator. Detail: java.lang.NullPointerException: while trying to read the field 'ccsid' of an object loaded from field com.ibm.mq.MQSESSIONClient.comms of an object loaded from local variable '<0>'.
    Thanks,
    Hari

    Hello,
    The error indicates a JMS driver issue.
    Another customer resolved this issue by updating their MQ and the MQ drivers version (in their case to 6.0.2.8.)
    You could try contacting IBM for advice on a similar upgrade.
    #1086303 XI JMS Adapter and IBM Websphere MQ: FAQ
       12)What is the recommended version of MQ drivers for the PI JMS
    Adapter - IBM MQ connectivity ?
    Kind regards,
    Sarah

  • JMS Receiver Adapter Catching MQ Exceptions

    Hi Experts,
    We are running into an issue with our JMS receiver adapter failing PI.  We are trying to send transactions via the adapter to a MQ Series' queue but it is failing after no transactions have been sent after a period of 3 hours or more.  The only way we can flush the queue is to change the setting on the adapter to Bypass, restart the adapter and then resend the message.  Once we do this, everything runs fine throughout the day.  It seems to be the amount of time between transactions be processed on the queue.   For instance, last night the last transaction processed successfully was at 7:36pm EST.  Then around 11:40pm EST we tried sending another and this is when we caught an exception from MQ once again.  We have tried everthing that we know of u2013 we thought it might have been a background job running on PI that causes the issue but last night proved that it wasnu2019t the issue since it occurred before midnight.  I feel that the issue is between our JMS connection and your MQ.  Below is the message log of the transaction:
    What course of action should we take next in diagnosing the issue?
    Audit Log for Message: 1c728f10-2044-0441-0a04-604e2cf00000
    Time Stamp     Status     Description
    2009-05-21 22:40:48     Success     Message successfully received by messaging system. Profile: XI URL: http://bus0157:52000/MessagingSystem/receive/AFW/XI Credential (User): PIPISUSER
    2009-05-21 22:40:48     Success     Using connection JMS_http://sap.com/xi/XI/System. Trying to put the message into the receive queue.
    2009-05-21 22:40:48     Success     Message successfully put into the queue.
    2009-05-21 22:40:48     Success     The message was successfully retrieved from the receive queue.
    2009-05-21 22:40:48     Success     The message status set to DLNG.
    2009-05-21 22:40:48     Success     Delivering to channel: JMS_IDOC_SPK_RCV
    2009-05-21 22:40:48     Success     MP: Entering module processor
    2009-05-21 22:40:48     Success     MP: Processing local module localejbs/SAP XI JMS Adapter/ConvertMessageToBinary
    2009-05-21 22:40:48     Success     MP: Processing local module localejbs/SAP XI JMS Adapter/SendBinarytoXIJMSService
    2009-05-21 22:46:48     Error     MP: Exception caught with cause com.sap.aii.af.ra.ms.api.RecoverableException: Connector for ConnectionProfile of channel: JMS_IDOC_SPK_RCVon node: 203518650 having object id: 61da4c76acec3b989e9adbc641058f03 encountered error: MQJMS2007: failed to send message to MQ queue in sending to destination queue:///BDR.TO.SPKREDP?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    1242963648113  JMSCorrelationID:1c728f10-2044-0441-0a04-604e2cf00000  JMSDestination:  queue:///BDR.TO.SPKREDP
    Time Stamp     Status     Description
    2009-05-21 22:46:48     Error     Exception caught by adapter framework: Connector for ConnectionProfile of channel: JMS_IDOC_SPK_RCVon node: 203518650 having object id: 61da4c76acec3b989e9adbc641058f03 encountered error: MQJMS2007: failed to send message to MQ queue in sending to destination queue:///BDR.TO.SPKREDP?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    1242963648113  JMSCorrelationID:1c728f10-2044-0441-0a04-604e2cf00000  JMSDestination:  queue:///BDR.TO.SPKREDP?targetClient=1  JMSReplyTo:      null  JMSRe
    2009-05-21 22:46:48     Error     Delivery of the message to the application using connection JMS_http://sap.com/xi/XI/System failed, due to: com.sap.aii.af.ra.ms.api.RecoverableException: Connector for ConnectionProfile of channel: JMS_IDOC_SPK_RCVon node: 203518650 having object id: 61da4c76acec3b989e9adbc641058f03 encountered error: MQJMS2007: failed to send message to MQ queue in sending to destination queue:///BDR.TO.SPKREDP?targetClient=1, the message message: JMS Message class: jms_text  JMSType:         null  JMSDeliveryMode: 2  JMSExpiration:   0  JMSPriority:     4  JMSMessageID:    null  JMSTimestamp:    1242963648113  JMSCorrelationID:1c728f10-2044-0441-0a04-604e2cf00000  JMSDestination:  queue:///BDR.TO.SPKREDP.

    Ok, would you mind taking a look at my forum question titled "Multiple Message Types into one Websphere Message Queue", it may be an easy one for you since you are already doing this!
    Best regards,
    Aaron
    [Multiple Message Types into one Websphere Message Queue|Multiple Message Types into one Websphere Message Queue]

  • How to set JMS user property in JMS Adapter.

    I am using Jdeveloper and SOA 11g. I want to filter some JMS messages from a topic based on a JMS user property. It is consumed using (JMS Adapter) consumer --> Mediator---> DBAdapter.
    My Question is how to define a JMS user property using Jdeveloper 11g.
    Thanks
    Edited by: user5108636 on 24/06/2010 16:10

    In Mediator mplan Assign Values use a property expression in the "to" side like:
    jca.jms.JMSProperty.XXX
    where XXX is the name of the property you would like to have created and populated. In source it will look like:
    <Mediator name="A03QueueWFeedMediator" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.oracle.com/sca/1.0/mediator"
    wsdlTargetNamespace="http://www.oracle.com/integration/b2b/A03QueueWFeedFromB2B/">
    <operation name="receive" deliveryPolicy="AllOrNothing" priority="4"
    validateSchema="false">
    <switch>
    <case executionType="direct" name="A03QueueWFeedToJMS.Produce_Message">
    <action>
    <transform>
    <part name="$out.body"
    function="xslt(xsl/ADT_AXX_To_ADT_AXX.xsl, $in.body)"/>
    </transform>
    <assign>
    <copy target="$out.body/imp1:ADT_AXX/imp1:MSH/@Type"
    value="$in.property.b2b.documentDefinitionName"
    xmlns:imp1="NS_64FCBED013AA409D933F624674E67BF220070423183755"/>
    <copy target="$out.body/imp1:ADT_AXX/imp1:MSH/@ID"
    value="$in.property.b2b.fromTradingPartnerId"
    xmlns:imp1="NS_64FCBED013AA409D933F624674E67BF220070423183755"/>
    <copy target="$out.body/imp1:ADT_AXX/imp1:MSH/@Name"
    value="$in.property.b2b.toTradingPartnerId"
    xmlns:imp1="NS_64FCBED013AA409D933F624674E67BF220070423183755"/>
    <copy target="$out.property.b2b.conversationId"
    value="$in.property.b2b.conversationId"/>
    <copy target="$out.property.b2b.documentDefinitionName"
    value="$in.property.b2b.documentDefinitionName"/>
    <copy target="$out.property.b2b.documentProtocolName"
    value="$in.property.b2b.documentProtocolName"/>
    <copy target="$out.property.b2b.documentProtocolVersion"
    value="$in.property.b2b.documentProtocolVersion"/>
    <copy target="$out.property.b2b.documentTypeName"
    value="$in.property.b2b.documentTypeName"/>
    <copy target="$out.property.b2b.fromTradingPartnerId"
    value="$in.property.b2b.fromTradingPartnerId"/>
    <copy target="$out.property.b2b.fromTradingPartnerIdType"
    value="$in.property.b2b.fromTradingPartnerIdType"/>
    <copy target="$out.property.b2b.toTradingPartnerId"
    value="$in.property.b2b.toTradingPartnerId"/>
    <copy target="$out.property.b2b.toTradingPartnerIdType"
    value="$in.property.b2b.toTradingPartnerIdType"/>
    *<copy target="$out.property.jca.jms.JMSProperty.conversationId"*
    value="$in.property.b2b.conversationId"/> <copy target="$out.property.jca.jms.JMSProperty.documentDefinitionName"
    value="$in.property.b2b.documentDefinitionName"/>
    <copy target="$out.property.jca.jms.JMSProperty.documentProtocolName"
    value="$in.property.b2b.documentProtocolName"/>
    <copy target="$out.property.jca.jms.JMSProperty.documentProtocolVersion"
    value="$in.property.b2b.documentProtocolVersion"/>
    <copy target="$out.property.jca.jms.JMSProperty.documentTypeName"
    value="$in.property.b2b.documentTypeName"/>
    <copy target="$out.property.jca.jms.JMSProperty.fromTradingPartnerId"
    value="$in.property.b2b.fromTradingPartnerId"/>
    <copy target="$out.property.jca.jms.JMSProperty.fromTradingPartnerIdType"
    value="$in.property.b2b.fromTradingPartnerIdType"/>
    <copy target="$out.property.jca.jms.JMSProperty.toTradingPartnerId"
    value="$in.property.b2b.toTradingPartnerId"/>
    <copy target="$out.property.jca.jms.JMSProperty.toTradingPartnerIdType"
    value="$in.property.b2b.toTradingPartnerIdType"/>
    </assign>
    <invoke reference="A03QueueWFeedToJMS" operation="Produce_Message"/>
    </action>
    </case>
    </switch>
    </operation>
    </Mediator>
    The runtime will see something like:
    [2010-09-09T11:48:06.353+10:00] [AdminServer] [TRACE] [] [oracle.soa.adapter] [tid: weblogic.work.j2ee.J2EEWorkManager$WorkWithListener@60ddbc76] [userId: weblogic] [ecid: 0000Ifo9olH2zGWjLxmJOA1CY0sg0001jY,0] [SRC_CLASS: oracle.integration.platform.blocks.adapter.fw.log.LogManagerImpl] [APP: soa-infra] [dcid: 02d1ff4621073810:26418f01:12af379c141:-7fd3-0000000000000219] [SRC_METHOD: log] Jms Adapter A03QueueWFeed:A03QueueWFeedToJMS [ Produce_Message_ptt::Produce_Message(body) ] XMLHelper_convertJmsMessageHeadersAndPropertiesToXML: <JMSInboundHeadersAndProperties xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/">[[
    <JMSInboundHeaders>
    <JMSCorrelationID></JMSCorrelationID>
    <JMSDeliveryMode>2</JMSDeliveryMode>
    <JMSExpiration>0</JMSExpiration>
    <JMSMessageID>ID:&lt;911867.1283996886119.0></JMSMessageID>
    <JMSPriority>4</JMSPriority>
    <JMSRedelivered>false</JMSRedelivered>
    <JMSType></JMSType>
    <JMSTimestamp>1283996886119</JMSTimestamp>
    </JMSInboundHeaders>
    <JMSInboundProperties>
    <Property name="documentProtocolVersion" value="2.3"/>
    <Property name="toTradingPartnerIdType" value="Name"/>
    *<Property name="conversationId" value="C0A83C0712AF42D840E0000074BA3CCC"/>* <Property name="documentTypeName" value="ADT"/>
    <Property name="tracking_conversationId" value="C0A83C0712AF42D866F0000074BA3CD9"/>
    <Property name="tracking_ecid" value="C0A83C0712AF42D866F0000074BA3CDA"/>
    <Property name="tracking_compositeInstanceId" value="60019"/>
    <Property name="documentProtocolName" value="HL7"/>
    <Property name="documentDefinitionName" value="QH_ADT_Generic"/>
    <Property name="tracking_parentComponentInstanceId" value="mediator:45E076D0BBB411DFAF05817F5F0DD1A1"/>
    <Property name="fromTradingPartnerIdType" value="Name"/>
    <Property name="fromTradingPartnerId" value="HOMER"/>
    <Property name="toTradingPartnerId" value="Self"/>
    <Property name="JMSXDeliveryCount" type="integer" value="1"/>
    </JMSInboundProperties>
    </JMSInboundHeadersAndProperties>
    Edited by: Michael.Czapski on 8/09/2010 18:58

  • How  to Set JMS property and Read JMS property in BPEL using JMS adapter

    Does any one know how to set or read more than one JMS property in BPEL using JMS adapter. My queue server is Oracle JMS server.
    Any help and sample is well appreciated

    Hi Van
    I have noted that only the attribute "type" is missing. It seems that when you create a "string" property, the attribute "type" is droped from the XML. If you use another type (as "integer" or "double") it stays there.
    If you try to read your properties, except for the "type" attribute, you should be successful, as I am. If you need, please tell me your email, I can send you my code.
    Source Code:
    in ASSIGN activity (process which SENDS the JMS message):
    <assign name="TESTES">
    <copy>
         <from expression="'string'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@type"/>
    </copy>
    <copy>
         <from expression="'name'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@name"/>
    </copy>
    <copy>
         <from expression="'value1'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[1]/@value"/>
    </copy>
    <bpelx:append>
         <bpelx:from>
         <Property name="" type="" value=""
              xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/"/>
         </bpelx:from>
         <bpelx:to variable="HeaderJms" part="outboundHeader"
              query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties"/>
    </bpelx:append>
    <copy>
         <from expression="'string'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@type"/>
    </copy>
    <copy>
         <from expression="'name2'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@name"/>
    </copy>
    <copy>
         <from expression="'value2'"/>
         <to variable="HeaderJms" part="outboundHeader"
         query="/ns5:JMSOutboundHeadersAndProperties/ns5:JMSOutboundProperties/ns5:Property[2]/@value"/>
    </copy>
    </assign>
    in ASSIGN activity (process which READS the JMS message)
    <assign name="Assign_1">
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@name"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[10]/@value"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@name"/>
    <to variable="temp"/>
    </copy>
    <copy>
    <from variable="Variable_1" part="inboundHeader"
    query="/ns3:JMSInboundHeadersAndProperties/ns3:JMSInboundProperties/ns3:Property[12]/@value"/>
    <to variable="temp"/>
    </copy>
    </assign>
    Note that I do not try to read the "type" attribute, otherwise it will fail.
    Here is the JMS Header Message received:
    <inboundHeader>
    <JMSInboundHeadersAndProperties xmlns="http://xmlns.oracle.com/pcbpel/adapter/jms/">
    <JMSInboundHeaders>
    <JMSCorrelationID>
    bpel://localhost/pi_lms-c001e/BpelPiAtualizacaoC001E~1.0/3200025-BpInv0-BpSeq1.6-2
    </JMSCorrelationID>
    <JMSDeliveryMode>2</JMSDeliveryMode>
    <JMSExpiration>0</JMSExpiration>
    <JMSMessageID>ID:467DFA1FA1ED459EBF37F51F596C3F12</JMSMessageID>
    <JMSPriority>4</JMSPriority>
    <JMSRedelivered>false</JMSRedelivered>
    <JMSType>com.mercurio.lms.integration.c001eip.c001EIntegrationPoint</JMSType>
    <JMSTimestamp>1201552046253</JMSTimestamp>
    </JMSInboundHeaders>
    - <JMSInboundProperties>
    <Property name="JMSXDeliveryCount" type="integer" value="1"/>
    <Property name="JMSXRecvTimestamp" type="long" value="1201552046698"/>
    <Property name="JMSXUserID" value="lms_dev_int_v1_user"/>
    <Property name="JMS_OracleDeliveryMode" value="2"/>
    <Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
    <Property name="JMS_OracleDelay" type="long" value="0"/>
    <Property name="JMSXState" type="integer" value="0"/>
    <Property name="IAS_VERSION" value="10.1.3"/>
    <Property name="JMS_OracleDeliveryMode" value="2"/>
    <Property name="name" value="value1"/> ("type" attribute was droped!!!)
    <Property name="JMS_OracleTimestamp" type="long" value="1201552046253"/>
    <Property name="name2" value="value2"/> ("type" attribute was droped!!!)
    </JMSInboundProperties>
    </JMSInboundHeadersAndProperties>
    </inboundHeader>
    Regards
    Marcelo

Maybe you are looking for

  • ITunes - 2 Computers - Can't seem to get it back on the one I want...

    I apologize if this has been posted, but couldn't find this exact scenario... I just purchased an 8GB 3GS. I initially synced it with my laptop (Win 7) at home just to get some basics on it and get it up and running. However, when I took it to work (

  • OSB File Proxy Error Handling

    Hi, I've encountered a strange behaviour in my proxy service. Legend: FPS -> File-based Proxy Service, reads files from a local directory EH -> ErrorHandler of the FPS JBS -> JMS-based Business Service, writes to a JMS Queue Scenario: FPS reads files

  • MPD and Last.FM

    this might be a longshot but i was wondering if there was a way for mpd to interface with last.fm. i know i can get a scrobbler working with no problem but i would really love to be able to listen to last.fm streams and get the whole love/ban/skip fu

  • R/3 to XI Unicode

    Hi,   I am not able to conenct from my R/3 4.7 Unicode system to PI 7.0 Non-unicode system in RFC Destination.  But I am able to connect from XI to R/3. Both were running on UNIX.   How to connect R/3 to XI? regards, Ansar.

  • Error when copying code from one file to another

    This bit of code works perfectly well in a test file with a single button: var link:URLRequest=new URLRequest("http://www.mywebsite.ca"); buttonName.addEventListener(MouseEvent.CLICK, onClick); function onClick(event:MouseEvent):void{ navigateToURL(l