Expiration of messages in JMSTopics / Queue Subscription to topics.

Hi all,
I tried to use topics in one of my OSB flows.
i have 2 doubts in this regard.
1. Is there a way in with i can subscribe my JMS queues to JMS topics?
2. If in my OSB flow i subscribe directly to the topic(instead of my queue subscribing to topic and my OSB flow subscibing to queue), even after my flow has taken the message from the topic, the message is still retained in the topic. How do i get rid of these retained messages in the queue dynamically. I dont want to delete those messages manually.

I'm not familiar with OSB particulars (this is a JMS forum -- OSB has its forum), but I can try answer your questions with respect to WL JMS only.
1. There's no direct facility at the WebLogic Server layer for subscribing a queue to a topic. The standard approaches are to write a basic MDB for the purpose, or configure a Messaging Bridge.
2. Are the messages in the subscription getting deleted? If not, then the problem is either in your app or at the OSB layer (failure to acknowledge/commit received messages). If so, then messages are likely accumulating in another subscription -- you can check for other subscriptions on the console, and keep in mind that distributed topics implicitly create subscriptions for forwarding messages between members. As you know, a message that is sent to a topic must be acknowledged/filtered-out/committed by all subscriptions before it is fully deleted.
It would be interesting to know the details about your use case, as I suspect it is a fairly common one. In particular, why do want to subscribe a queue to a topic subscription in the first place? I can then forward your write-up to OSB and JMS Product Managers, which might help accelerate the release of certain features on our roadmap. (email tom . barnes at oracle . com)
Tom

Similar Messages

  • Weblogic 10.3 Not Removing Expired Messages from JMS Queues

    Dear All,
    We have an application that is running on Weblogic 10.3.
    This application (let us call this application Y) receives messages on a JMS queue. These messages are placed on the queue by another application (let us call this application X). We would like to have these messages expire within a certain amount of time (i.e. 90000 ms) if they are not consumed.
    Now when application X places the messages onto the queue for application Y to consume, the JMS producer sets the time to live to 90000 ms. We can see that expiration time has been set appropriately in the weblogic console. If a message sits on the queue for longer than 90000 ms the state string of the message is changed to "receive expired". What we don't understand is why the expired messages still end up being consumed from the queue.
    We understand that Weblogic is supposed to have an 'Active Message Expiration' thread that will remove expired messages from the queue. The Expiration Scan Interval for the JMS Server is set to 30 (seconds).
    Can anyone tell us why our expired messages don't seem to be deleted from the queues?
    Tim

    Thank you for the response Rene.
    We have set up both the active expiration scan and the message expiration policy. The active expiration scan is set for every 30 seconds. The message expiration policy is set to "discard". However, the expired messages are still being consumed. Is it possible we are doing something wrong? See a portion of our configuration files below.
    We have set up the expiration scan time interval. See a portion of our config.xml below:
    <jms-server>
    <name>brokerJMSServer</name>
    <target>AdminServer</target>
    <persistent-store xsi:nil="true"></persistent-store>
    <store-enabled>true</store-enabled>
    <allows-persistent-downgrade>false</allows-persistent-downgrade>
    <hosting-temporary-destinations>true</hosting-temporary-destinations>
    <temporary-template-resource xsi:nil="true"></temporary-template-resource>
    <temporary-template-name xsi:nil="true"></temporary-template-name>
    <message-buffer-size>-1</message-buffer-size>
    *<expiration-scan-interval>30</expiration-scan-interval>*
    <production-paused-at-startup>false</production-paused-at-startup>
    <insertion-paused-at-startup>false</insertion-paused-at-startup>
    <consumption-paused-at-startup>false</consumption-paused-at-startup>
    </jms-server>
    <jms-system-resource>
    <name>broker-jms</name>
    <target>AdminServer</target>
    <sub-deployment>
    <name>EhrBrokerRequestQueue</name>
    <target>brokerJMSServer</target>
    </sub-deployment>
    <descriptor-file-name>jms/broker-jms.xml</descriptor-file-name>
    </jms-system-resource>
    <admin-server-name>AdminServer</admin-server-name>
    We have set up the message expiration policy in our jms descriptor. See a portion below:
    <?xml version='1.0' encoding='UTF-8'?>
    <weblogic-jms xmlns="http://www.bea.com/ns/weblogic/weblogic-jms" xmlns:sec="http://www.bea.com/ns/weblogic/90/security" xmlns:wls="http://www.bea.com/ns/weblogic/90/security/wls" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.bea.com/ns/weblogic/weblogic-jms http://www.bea.com/ns/weblogic/weblogic-jms/1.0/weblogic-jms.xsd">
    <queue name="EhrBrokerRequestQueue">
    <delivery-params-overrides>
    <redelivery-delay>-1</redelivery-delay>
    </delivery-params-overrides>
    <delivery-failure-params>
    <redelivery-limit>-1</redelivery-limit>
    *<expiration-policy>Discard</expiration-policy>*
    </delivery-failure-params>
    <jndi-name>EhrBrokerRequestQueue</jndi-name>
    </queue>
    </weblogic-jms>
    What could we be doing wrong?
    Kind Regards,
    Tim

  • Unable to receive notifications of new messages arriving on queue

    I was wondering whether any AQ experts out there could help me....
    I have an Oracle AQ queue and a .net service which listens and dequeues messages from the queue. The .net service is written (using ODP.net) to execute a poll of the queue upon startup (in order to process anything on the queue initially), and thereafter to hook into the relevant ODP.net event (happens to be OracleAQQueue.MessageAvailable) such that anything that subsequently arrives on the queue gets dequeued.
    Now, before you tell me to head off to the odp.net forum, I will add very quickly that we have this code in both DEV and TEST environments and it works fine. The queue happens to be a multiple-consumer queue, so the service subscribes as a particular consumer and everything hangs together. My problem is that we promoted all this code to LIVE a couple of days ago and although we are able to dequeue messages no problem we are no longer receiving MessageAvailable notifications.
    Now, I come from a .net background and am 100% sure that the .net code on our Live servers is the same as the code on our Test servers, save for the connection string. So I believe that the problem is more database- or queue-config-related than software-related.
    I do not have a high degree of Oracle knowledge in this area but what I can say is that when we start our .NET service, it is happily able to do the initial poll of the queue and to dequeue any messages. So this says to me that, fundamentally, we're not far off. i.e. it isn't anything really dumb like the queue doesn't exist in the live environment! It is purely that the MessageAvailable event never fires.
    I guess my question is fairly open, then. Given what I have said, can anyone think of reasons why this could happen?
    Things I have already thought of include:
    - different versions of ODP drivers. Not so, I supervised their installation myself on each environment.
    - firewall on the Live database blocking comms? I mean, presumably there is some tcp/udp comms going on underneath the MessageAvailable subscription. I don't believe this to be the case but if anyone knows where I can find out in more details how this works I'd be grateful, if only because it would allow me to ask more specific questions of the DBAs/Server admins
    - my initial hunch was that it was something with the consumer not being set up fully (the .net code uses the consumer name to register both to dequeue messages and to subscribe to MessageAvailable notifications). Not I am told that this is not the case and that the consumer has been set up properly, but I'm still a little suspicious.
    Anyway, any help would be gratefully received.
    Pete

    Hi Pete,
    Together we may be able to work this out ... I have a good level of knowledge on the database side of AQ but know nothing about ODPAQ :)
    Have you seen the following documentation section? Could there be some restrictions on the production host on the ports?
    Oracle Data Provider for .NET opens a port to listen for notifications. HA events, load balancing, and database change notification features also share the same port. This port can be configured centrally by setting the database notification port in an application or Web configuration file. The following example code specifies a port number of 1200:
    <configuration>
    <oracle.dataaccess.client>
    <settings>
    <add name="DbNotificationPort" value="1200"/>
    </settings>
    </oracle.dataaccess.client>
    </configuration>
    If the configuration file does not exist or the db notification port is not specified, then ODP.NET uses a valid and random port number. The configuration file may also request for a random port number by specifying a db notification port value of -1.
    The notification listener, which runs in the same application domain as ODP.NET, uses the specified port number to listen to notifications from the database. A notification listener gets created when the application registers with OracleAQQueue.MessageAvailable event. One notification listener can listen to all notification types. Only one notification listener is created for each application domain.
    Thanks
    Paul

  • A bug in message pattern's queue implementation?

    Here is how to reproduce the problem.
    Have 2 Java program ready.
    A is to create a queue and publish 3 messages to the queue.
    B is to subscribe to the same queue and try to get all messages from the queue (put the getMessage inside a while(true) loop) then wait for new message.
    Step 1. Run A, which put 3 messages into queue.
    Step 2. Run B, which get 3 messages out of the queue then waiting on the getMessage() blocking call.
    Step 3. Kill program B without unsubscribe() call.
    Step 4. Run A, which put 3 messages into the queue again.
    Step 5. Run B, this time it only get 2 messages. The 1st message A put in on Step 4 got lost.
    Actually, if you run Step 2 multiple times before step 3, you will lost more message. It seems each time when there is a subscription created without a unsubscribe(), it will get one message lost.
    I know the propery way is to call unsubscribe(), but the JVM could be killed thus won't have time to do cleanup.

    Using message pattern 2.3, command pattern 2.3 and common 1.3
    Coherence version is 3.4.2.
    BTW, if the unit test program you mentioned is the MessageTests.java included in the src zip file, you won't be able to test this issue.
    All unit test inside the MessageTests.java are comsuming exactly number of messages been published then do unscribe() call.
    In order to reproduce this issue, you'd need to put your consumer JVM in a blocking getMessage() state (i.e. call getMessage() while there is no message in queue)
    then kill the JVM. The unit test codes in MessageTests.java never enter blocking wait state when call getMessage().
    Example code -
    For the one putting message
    MessagingSession messagingSession = DefaultMessagingSession.getInstance();
    Identifier topicIdentifier = messagingSession.createQueue("test-queue");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY1");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY2");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY3");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY5");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY1");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY2");
    messagingSession.publishMessage(topicIdentifier, "Hello WorldY3");
    For the one getting message
    MessagingSession messagingSession = DefaultMessagingSession.getInstance();
    Identifier topicIdentifier = messagingSession.createQueue("test-queue");
    Subscriber subscriber = messagingSession.subscribe("test-queue");
    while (true) {
    String message = (String)subscriber.getMessage();
    System.out.println(message);
    }

  • Creative cloud software says my free trial has expired, but I have a paid subscription

    my creative cloud software says my free trial has expired, but I have a paid subscription and money was taken out of my account so I know it is paid. help!

    My problem with Adobe's recognition of my Adobe ID was solved by the chat support. The file "host" was changed, so that Adobe products no longer was blocked. Try the chat.
    With Kindly Regards
    Palle Tørnqvist
    Den 08/04/2013 kl. 14.10 skrev TimmyC123456 <[email protected]>:
    Re: creative cloud software says my free trial has expired, but I have a paid subscription
    created by TimmyC123456 in Adobe Creative Cloud - View the full discussion
    I'm having the same problem. Subscribed to Creative Cloud. All the apps showing as 'Try' rather than the 'Download' buttons that apepar on a colleagues machine (who subscribed a few months ago). When I load the trial of Indesign, if I select 'licence software' - no space to put Adobe ID, only serial number which I don't have with the Creative Cloud membership.
    Tried everything that has been suggested. Updated everything in Adobe App' Manager. Gone back to open Indesign - still just has boxes for serial number.
    Please sort this out Adobe. I've wasted half a day trying to install on my machine and still have the rest of the studio to do.
    Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at http://forums.adobe.com/message/5215835#5215835
    Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: http://forums.adobe.com/message/5215835#5215835
    To unsubscribe from this thread, please visit the message page at http://forums.adobe.com/message/5215835#5215835. In the Actions box on the right, click the Stop Email Notifications link.
    Start a new discussion in Adobe Creative Cloud by email or at Adobe Community
    For more information about maintaining your forum email notifications please go to http://forums.adobe.com/message/2936746#2936746.

  • QueueBrowser not scaning all messages in JMS queue (ie not showing inprogre

    Hi all,
    I am using JMS in jboss-3.2.3, when scaning for pending messages i am using QueueBrowser.
    But QueueBrowser not scaning all messages in JMS queue (ie not showing inprogress message)
    But i need to know all messages including ongoing messages..
    Antone plz help me
    I am using Queuesender and QueueReceiver ..But some Exception or Error causes my JMS server(QueueReceiver listening for onMessage()) hanged up..and not responding to remaining messages...So i need to find pending messags in JMS queue..How can find?
    Now i am using QueueBrowser to get list of pending msgs in queue... But doesn't contains Message which passed for processing (called onMessage())
    .. But i need to find this also..How can?
    Thanks,
    Thilsen

    You're right in thinking that the behaviour you describe looks wrong.
    Take a look at the QueueBrowser interface which can be used to inspect a queue. You get one using QueueSession.createBrowser(Queue). The QueueBrowser allows you to scan a queue without consuming the messages. However note that the state of the queue may change while you're observing it through the QueueBrowser so what you see might not always be a 100% accurate representation of the queue at any given time.
    Other things to check:
    - message selectors - are you setting a message selector on your queue receiver which is resulting in not all of the messages 'matching'.
    - expired messages - are you setting a time-to-live on the messages that you publish.
    Hope this helps,
    David Ingham
    http://www.arjuna.com

  • How to set up the maximum number of messages on a queue programmatically

    Hi,
    I am using IMQ 3.5 to implement a message layer for one of my projects. I created a "Job Status Queue", which receives job status report from a java application every minute. But I just want to keep the most current status report instead of all the job running history. How can I restrict the maximum number of messages to 1 programmatically?
    Any suggestion or help will be appreciated.
    Xiaoyun Tang

    You can't limit the destination size programmatically, but you can do it administratively and associate a behavior to occur when the limit is reached. In your case it sounds like you want a queue, 1 message deep, and to discard the oldest message when the queue is full. When you create the physical queue on the broker you can specify these attributes (you can also update them on an existing queue). For example:
    imqcmd create dst -t q -n StatusQ -o maxNumMsgs=1 -o limitBehavior=REMOVE_OLDESTFor more information see Chapter 6 of the Message Queue Administration Guide. In particular the "Managing Destinations" section:
    http://docs.sun.com/app/docs/coll/MessageQueue_35_SP1
    Joe

  • How do i find the number of messages in a queue

    Sorry if this is too trivial, but i haven't been able to figure out how to determine the number of messages in a queue. business case being that i can only have 3 messages in the send queue, so i need to stop sending if there are 3 outstanding messages still in the send queue.
    Can someone point the way?
    Thanks,
    Nilesh

    Hi,
    To get the depth using JMS you must create a QueueBrowse and browse the entire queue. Its generally horribly inefficient if you want to do it with any regularity.
    In Hermes I have had to write plugins that open separate connections to providers using their non-JMS APIs or JMX and get that kind of information that way.
    Look at the getDepth() method in this JBoss plugin for an example that uses JMX:
    http://cvs.sourceforge.net/viewcvs.py/hermesjms/Hermes4/src/java/hermes/ext/jbossmq/JBossMQAdmin.java?view=markup
    And here is one for WebSphereMQ that uses one of its many APIs..
    http://cvs.sourceforge.net/viewcvs.py/hermesjms/Hermes4/src/java/hermes/ext/mq/MQSeriesAdmin.java?view=markup
    Colin.
    http://hermesjms.com

  • Error while trying to pick message from weblogic queue

    Hi,
    We are getting the following error while trying to connect to pick up a message from weblogic queue.
    We are suing oracle soa suite 10.1.3.1 and weblogic 8.1
    the bad part is that, this error is not documented anywhere and couldn't get much help on this.
    Would appreciate any suggestions / pointers on this.
    Let me know if any further information is required.
    invoke failed
    org.collaxa.thirdparty.apache.wsif.WSIFException: file:/E:/product/10.1.3.1/OracleAS_4/bpel/domains/default/tmp/.bpel_OTOCBPELProcess_1.0_78fcf080ec2bd7495aebfb5373e76116.tmp/readmsg.wsdl [ Consume_Message_ptt::Consume_Message(opaque) ] - WSIF JCA Execute of operation 'Consume_Message' failed due to: ERRJMS_IX_WRONG_SPEC.
    Outbound interaction invoked with incorrect InteractionSpec.
    ; nested exception is:
    ORABPEL-12115
    ERRJMS_IX_WRONG_SPEC.
    Outbound interaction invoked with incorrect InteractionSpec.
    ---------------------------------------------------

    Hi!
    I am facing a similar issue, does someone have an idea ?
    <remoteFault xmlns="http://schemas.oracle.com/bpel/extension"><part name="code"><code>null</code>
    </part><part name="detail"><detail>null</detail>
    </part><part name="summary"><summary>file:/opt/oracle/product/10.1.3.1/OracleAS_1/bpel/domains/default/tmp/.bpel_TestReceiveMessage_BPEL_1.0_e00fd88d454889b871183d0d92dc9f7d.tmp/plReceiveMessage.wsdl [ Consume_Message_ptt::Consume_Message(TestPushMessage_BPELProcessRequest) ] - WSIF JCA Execute of operation 'Consume_Message' failed due to: ERRJMS_IX_WRONG_SPEC.
    Outbound interaction invoked with incorrect InteractionSpec.
    ; nested exception is:
         ORABPEL-12115
    ERRJMS_IX_WRONG_SPEC.
    Outbound interaction invoked with incorrect InteractionSpec.
    Please examine the log file to determine the problem.
    </summary>
    </part></remoteFault>
    Thanks,
    romain.

  • Error while sending the messages to JMS Queue

    Hi ,
    I am trying to pick the file from JMS Queue and send the response xml as outbound message to JMS Queue again using XAI Sender
    I Created XAI Sender, Outbound Message Type(DM-RCVRESP) and configured these two with External System.
    I am able to pick the file from JMS Queue but unable to send the message through XAI Sender (Real-time)
    Plz find below the error trace getting.
    [Wed Jun 15 16:12:09 IST 2011] Error while processing sender "UPLOADSTG" : Unable to update response in staging table: Row id not given.
    com.splwg.mpl.sending.SameThreadSendingManager$ProcessException
         at com.splwg.mpl.sending.SameThreadSendingManager.processDestination(SameThreadSendingManager.java:341)
         at com.splwg.mpl.sending.SameThreadSendingManager.sendResponse(SameThreadSendingManager.java:293)
         at com.splwg.mpl.sending.SameThreadSendingManager.doSend(SameThreadSendingManager.java:249)
         at com.splwg.mpl.server.async.ExecSendRequestProcessor.ProcessRequest(ExecSendRequestProcessor.java:61)
         at com.splwg.mpl.server.async.RequestProcessingThreadAdapter.run(RequestProcessingThreadAdapter.java:46)
         at com.splwg.mpl.server.PooledThread.run(PooledThread.java:91)
         at java.lang.Thread.run(Thread.java:662)
    Please guide me in this regard..
    Thanks,
    sukumar

    What have you configured for the response tab for the sender? Are you using the MPL or the MDB?
    Take a look at:
    MPL Best Practices (Doc Id 1308165.1)
    Oracle WebLogic JMS Integration (Doc Id: 1308181.1)

  • TS3147 Since my last update for Mac OS X Lion 10.7.5 I have been unable to print to either my HP or Lexmark printers!  Everything is connected but I get an "idle" message in the queue.  I have "Reset printer system" and re-added these printers. No luck. H

    Since my last update for Mac OS X Lion 10.7.5 I have been unable to print to either my HP or Lexmark printers!  Everything is connected but I get an "idle" message in the queue.  I have "Reset printer system" and re-added these printers. No luck. Help?

    Hello,
    It isn't the fw in Network you want o use or look at, that's for something completely different.
    My first suspect is the Power Adapter on the LaCie has gone.
    At the Apple Icon at top left>About this Mac, then click on More Info, then click on Hardware>Firewire, what is listed there?
    Reset the Firewire bus
    If your Firewire or USB isn't recognizing any device.  A solution which has worked for some whose hard drive became invisible in 10.4 was simply to follow these four steps to reset the Firewire/USB bus:
    1. Shut the machine down.
    2. UNPLUG the power lead to the computer and any firewire/USB drive or devices.
    3. leave it for 10 minutes.
    4. Connect back up and reboot.
    http://www.macmaps.com/firewirebug2.html

  • Mails/Alerts-triggered for messages stuck in queues and failed in moni

    Hi,
    I have two doubts.
    1) Messages are getting stuck in smq2 of my ECC and PI system. I have to manually push them. Is there any mechanism in which we can get alerts/mails when messages get stuck in queues.
    I have already gone through the blog /people/santhosh.kumarv/blog/2009/05/19/sap-xipi-alerts-for-queue-errors and I have implemented it in ECC system. But no mails were generated.
    2)Is there any method in which I can get alerts/mails when a message fails in sxmb_moni of ECC system?
    Thanks and regards,
    Siji

    Hi Sanjeev,
    I made a report with the following code in it and executed it. So I think that should work even if the job for it is not scheduled. There were messages stuck in queue. But no alert was generated. I had also created alert category in ECC.
    Thanks and regards,
    Siji

  • JMS messages stuck in queue in weblogic v923 cluster

    Hi all,
    Enviornment details:
    In our pre-production weblogic v923 cluster enviornment with Oracle 10g database, there are 10 server boxes with 2 managed nodes running on each server box in linux enviornment.
    There are 3 JMS queues and 1 error queue per managed node.
    All the queues are durable and the persitence store is a database table. There is a single database table per single managed node.
    High loads of JMS messages from client applications coming on each of the 3 JMS queue are processed by the cluster on daily basis.
    The JMS messages that failed to be processed the very first time due to the application logic exceptions are put on error queue since the retry is set to zero on the non-error queue.
    The application exceptions are logged to a database table for futher reference.
    The falied messages from the error queue are read by spring based MDP and resent to the application for reprocessing.
    If no application exceptions, the message will be persisted in a relational database; in the case of failures, MDP code puts the failed message back on to the error queue.
    The auto_ack is true on the JMS message.
    It is observed about less than 1% of the messages fail the original processing and are in error queue on daily basis.
    99.9% of the time, the reprocessing of the messages from the error queue is a success.
    Currently due to some obvious reasons, the system administrator stops a managed node when the disk is full and start a different managed node on the same server box. This approach will be stopped in the very near future so that all nodes on all servers are running at any point of time by making few enviornment changes.
    Problem:
    1a) Occasionally, it is observed that 1 - 4 JMS messages are stuck in the error queue. There are no signs of reprocessing as there are no application exceptions or the corresponing insert into the database. The JMS persistence store table still has the JMS message.
    1b) It is observed that over time, the same JMS messages that were originally stuck on server 1's managed node A are no longer there but are found in a different node (say node B) on a different server box.
    As far as I understand the JMS, a message could be in a Pending state if MDP (in my case) does not automatically send ACKNOWLEGMENT back due to an issue in the Spring Defaultlisternercontainer before calling MDP's onMessage(). I am not sure as what happens to that status over time).
    It is also observed that the stuck messages content is not much different than the other messages that are processed fine.
    Any pointers/input is highly appreciated.
    Thanks in advance for your valuable input and time.

    Off the top of my head, I can only think of two reasons why a message might move from node to node:
    (A) An application is dequeueing them and enquening them elsewhere.
    (B) The application is using distributed queues, and the distributed queue has been configured to enable "queue forwarding". The forwarding feature automatically moves messages from distributed queue members that have no consumers to members that do have consumers. Queue forwarding is sometimes enabled as a work-around to better enable MDP support of WL distributed destinations, unlike WebLogic MDBs, MDPs have no container logic to ensure that all members of a distributed destination are serviced by a consumer under all circumstances...
    Regards,
    Tom

  • Messages Stuck in Queue in PI

    Hi,
    For a few inbound interfaces for which PI is the middleware, we have found that the messages are stuck in queue in PI. We have also found that the messages are stuck in the queue in PI because one message which has an RFC error (It does a RFC lookup from PI into R/3).
    Is there any way in which we can trigger the RFC lookup manually for the failed message in the queue in PI?
    If this is not the right forum, please let me know the correct forum.
    Thanks in advance.
    Mick

    Hi,
    We can prevent this problem through standard SAP program RSQIWKEX.  This program need to execute background.  Whenever any message stuck in queue automatically this problem will restart error message automatically.  If you want to delete error message from queue (due to this error message remaining messages are in hold stage.  for remaining message execution we need to delete error message from queue) we need to change one function in this probem.
    Existing function TRFC_QIN_RESET_LUW , this function only can restart error message.
    Need to add function TRFC_QIN_DELETE_LUW , this function delete error message from queue.
    For this program execution we need to mentioned queue name(mandatory), find message stucking queue name and give same name to program in variant.
    I hope now clear

  • Messages stuck in queue AFWRecv of Adapter Framework

    Hello,
    Messages stuck in queue AFWRecv of Adapter Framework in our production system(trace in  RWB: "to be delivered")
    in URL http://xxxxxxx:50000/MessagingSystem/monitor/systemStatus.jsp we can see:
    Queue Info 
    Queue Name isStarted QueueSize ThreadCount (working) MaxThreads
    AFWCall true 0 0 (0) 20
    AFWRecv true 954 10 (10) 10
    AFWRqst true 0 0 (0) 20
    AFWSend true 0 0 (0) 10
    We have tried to resend the first message but that´the result:
    Time Stamp Status Description
    2010-10-09 11:24:06 Success The message was successfully received by the messaging system. Profile: XI URL: http://xxxxxxxxx:8100/MessagingSystem/receive/AFW/XI
    2010-10-09 11:24:06 Success Using connection AFW. Trying to put the message into the receive queue.
    2010-10-09 11:24:06 Success Message successfully put into the queue.
    2010-10-11 00:01:46 Success Recovering from loss of connection to database; message loaded into queue by recover job: System Job (Failover Recovery)
    2010-10-11 02:48:16 Success System Startup: Message successfully loaded into queue: AFWRecv.
    2010-10-13 11:03:19 Success Admin action: Trying to redeliver message.
    2010-10-13 11:03:46 Success Admin action: Trying to redeliver message.
    Since then it stucks there...
    Any help would be apreciated....

    Hi,
    Go to the runtime workbench --> Message Monitoring --> Click on the 'Configure Table Columns' > Check Sequence ID, Serialization Context & Sequential Number options.> and then click 'Apply'.
    Then in the 'Serialization Context' column you will get the queue ID for the stcuk message.
    Take that value and click on the 'Show additional Criteria' option on the top and put this value in the 'Serialization context' parameter. Also,select the start/end date as 'This year' --> start.
    You will get all the messages stuck in that particular queue for this yoear, try to rectify them, so that your message will be processed.
    -Supriya.

Maybe you are looking for