Asynchronous message aknowledgement problem

Hi,
I am trying to set up a client/server app with a jms server acting as the com link. My client makes requests (async) to the server. It publishes a msg to the request queue of the jms server. The server subscribes to the request queue, processes the request and then publishes the answer to the processed queue of the jms server. The client is then notified by the jms processed queue.
The problem:
I now wish to multithread the server so that it deals with many request simultaneously. It subscribes to the request queue, and start processing. Because the requests are not uniform, some take more time to complete. If the server aknowledges an older request message then all msg up to the most recent are aknowleged. If at this point my server was to crash I wouldn't be able to recuperate the unprocessed request to which the corresponding messages have already been aknowledge.
I would like to have only the processed messages aknowledged and hence if the server crashes the server can resubscribe to pending requests.
Anyone see some neat trick round this problem?
thanks
av

thanks for the note, however this isn't really what I
am looking for. oh, boy, yes, it is what you are looking for:)
It is my understanding that using
mdbs will mean synchronous message consumption and
acknowledgment. it is sorta right, but mdbs can do concurrent work.
In which case this will create a
bottle neck as some messages need more time to process
than others.
nope. for example, you have two requests coming in, the first one, reqHour, would take an hour to finish, the second, reqSecond, takes only one second. when reqHour comes in, an instance of the mdb starts working on it. when the second one, reqSecond, comes in, it does not have to wait for an hour, rather, another instance of the mdb starts working on it right away (this is called concurrent processing, like a multi threaded). of course the second request will be finished first, the result will be put in the processed queue prior to the first lenghty one. if there are more requests come in, more instances of the mdb will be created to work on them.
I am looking for an async message
concumption/aknowlegement which does not act on all
messages at once. Not sure it is possible.
as above.
Myabe one way round this would be to create onthefly
queues for a given Connection where each queue is used
for only 1 message (or with a pool of queues), this
way message consumption does not affect the other
queues. However, can a subscriber find out about all
available queues? Maybe the solution is to follow a
fixed pattern of queue names..... not sure, I'll have
to think more closely about this one, but maybe this
could be a possible solution.
obviously, this is not a good way to go.
Anyone out there wants to expand on the above?urh? hope so.

Similar Messages

  • Websphere ,Problem in asynchronous messaging ,JMS

    I'm trying to implement a asynchronous messaging through point to point communication in my application, I was getting an error like "javax.jms.IllegalStateException: Method setMessageListener not permitted" this is implemented in WSAD5.1.1.In this application my message sender program is working fine , only the message receiver program is giving me the error, that too because of the message listener being implemented.Websphere is not allowing the listener class to execute.Can anyone tell me how to resolve this problem in websphere ,It would be grateful if any provide me the solution with examples.Advance thanks for the solution.

    Hi,
    I am not a Websphere user but I took a look on Google for you and found the following:
    http://www.tek-tips.com/gviewthread.cfm/lev2/3/lev3/13/pid/831/qid/588267
    Unfortunately it doesn't look promising...
    Cheers,
    Tom

  • Solution to merge incoming asynchronous messages inside OSB ?

    Hello,
    What is the good practice to merge (aggregate) two or more asynchronous messages reading from JMS queues ?
    I have to collect responses from a single request and merge them into a single message, so I have to identifie the responses in order to merge them with others responses from the same request.
    Does a solution based on the SplitJoin can address this issue ?
    Or do I have to store in a temporary buffer and call a Java Callout to read responses, identifie them and then remove them when all the responses have been received ?
    Or is there another better solution ?
    Thanks for your help.
    Best regards

    I am also interested in the answer to this question.
    In my requirement I may have a large number of provider services so I don't want to hard code each one in BPEL. I also need to allow for timeouts, the main service should wait for 1 min and then send back all the results it has received.
    I have gone down the line of combining the Scatter-Gather and Publish/Subscribe design patterns. The only problem is that the JMS adapter cannot synchronously read messages from a queue so I have built a POJO webservice to do this.

  • Asynchronous messages without errors to be flagged

    Hi all,
    I have 200,000 Asynchronous messages without errors to be flagged. But there are no entries for Messages to be deleted. Everytime I run RSXMB_DELETE_MESSAGES, i get a runtime error. When I run the job SAP_BC_XMB_DELETE_888, it is always canceled.
    Please help.
    Thanks

    Hi,
    >>>I can only archive messages after the job has been activated. That's the problem because there's no archiving job yet.
    first you need to archive then you can delete only
    Regards,
    Michal Krawczyk

  • Asynchronous messaging on Orion 1.5.2

    Hello, all,
    I am running Orion 1.5.2 JMS Queue and have 2 clients subscribed to it. Client A is the producer of messages and Client B is the consumer.
    I use asynchronous messaging, that is Client B implements MessageListener interface and has an onMessage method, which prints the message as soon as it receives it.
    Client A works fine - sends messages without any problems. However, Client B's onMessage never gets called... I tried all suggestions I could possibly find, but to no avail. If anyone has any suggestions or ideas or experience, PLEASE HELP!!!
    Thank you,
    Elana

    start the connection on the receiver side? is the receiver using a selector that is exluding all the messages sent by client A?

  • How are the asynchronous messages persisted

    How are the asynchronous messages persisted ??
    thanks
    kumar

    HI Kumar
    1. Asynchronous Messages in XI are stored in database permanently
    2. After processing the message, Integration Engine makes a datbase commit explicitly and the processed message is stored in the database.\
    3. Async Messages can be restarted when they go into error
    4. Asynchrous messages while being sent if there is some problem in connectivity or something the message persists and when the connection is up,it tries to send it again
    Cheers..
    Vasu
    <i>** Reward Points if found useful **</i>

  • The message "A problem has occurred trying to process your request. Please try again later. We apologise for any inconvenience this may have caused." is displyed when I try to log on to my internet banking. Please can you tell me why?

    Since upgrading to the latest version of Firefox, I'm now getting the message "A problem has occurred trying to process your request. Please try again later. We apologise for any inconvenience this may have caused." when I try to log onto my internet banking site. This occurs after going thru the first two steps of the login process. I don't get this problem when I login to all my other bookmarked sites, or when I use Internet Explorer. I'm using Windows XP. Any suggestions? (Note: I've just reloaded version 6 of Firefox, but it's not made any difference.)

    See here  >  http://support.apple.com/kb/HT1527
    From Here  >  http://support.apple.com/kb/TS1368
    More info here  >  http://www.apple.com/support/itunes/downloading/

  • Hi! I can't upgrade my iTunes 10.3.1.55 on my Windows XP 2002 SP3 to the latest version of iTunes. Got the message: "A problem has occured with the Windows Installer-package. A program needed for this installation could not be run." What to do?

    Hi! I can't upgrade my iTunes 10.3.1.55 on my Windows XP 2002 SP3 to the latest version of iTunes. Got the message: "A problem has occured with the Windows Installer-package. A program needed for this installation could not be run." What to do?

    Perhaps let's first try updating your Apple Software Update.
    Launch Apple Software Update ("Start > All Programs > Apple Software Update"). Does it launch and offer you a newer version of Apple Software Update? If so, choose to install just that update to Apple Software Update. (Deselect any other software offered at the same time.)
    If the ASU update goes through okay, try another iTunes install. Does it go through without the errors this time?

  • Problem with HP pavillion dv7 giving message (a problem with the internal fan enter = shutdown

    HP Pavillion DV7 notebook PC
    Windows 7 64
    intel I5
    6 gig memory
    service pack 1
    I am trying to identify a problem with my HP Pavillion dv7 laptop
    Several months ago it started getting hot and showing messages about problems with the internal fan and battery. It would say enter = shutdown and shut off. I suspected a bad battery so I checked it without it just plugging it in with the power cable. It seemed to work better so I assumed that was the problem.
    I ordered a new battery and it worked for a while. The problem came back and is getting worse. I can run it without the battery for a while but it gets got and shows the same message.
    I read on here that flashing and updating the bios worked for some but the latest update gives me an error IHISI not support BIOS then Insyde flash not supported.
    any help would be great this PC has a lot of info on it and I dont think it is a lost cause
    thanks

    Hi duddy, sorry to hear that you are having issues with your computer over heating.  I have found a document that will assist you with Restoring the BIOS.  http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&dlc=en&docname=c02693833&lc=en&product=5199538&tmp...
    I have also found a document that will assist you with Troubleshooting and Overheating and Auto shutdown issue.    http://h10025.www1.hp.com/ewfrf/wc/document?cc=us&dlc=en&docname=c03904182&lc=en&product=5199538&tmp...
    If you are still having issues, please let me know and I will be happy to offer more assistance..
    Thank you.
    Click the “Kudos Thumbs Up" at the bottom of this post to say “Thanks” for helping!
    Please click “Accept as Solution ” if you feel my post solved your issue, it will help others find the solution.
    W a t e r b o y 71
    I work on behalf of HP

  • Shortly after launching into itunes, it freezes and I get the following message: A problem caused the program to stop working correctly. Windows will close the program and notify you if a solution is available. How do I resolve this issue?

    Shortly after launching itunes, the program freezes and gives me the following message:A problem has caused the program to stop working correctly. Windows will close the program and notify you if a solution is available. The program then closes, even if I have not completed what I am doing. How do I resolve this problem?

    That is what I thought. Cannot figure out how to turn it off, though.
    However, when I talked to her over the phone, she is definitely using Firefox. I tried to access her Internet Explorer, but it has been deactivated, I believe by Firefox.
    She primarily uses the Internet to communicate with her kids, grandkids, and great grandkids. Her e-mail account is with Yahoo Mail, and she uses Firefox to access it. Occasionally, she uses the web to look up information, and may have downloaded a virus.
    Do you think there's something in Yahoo Mail that conflicts with Firefox? Is there some remnant of Internet Explorer that needs to be deactivated? Could she have a virus?
    Any information would be gratefully appreciated. I live 7 hours away, and can only help her over the phone. I'm trying to develop a course of action that I can use with her. I know a little bit about Firefox, so need your expertise.

  • ITunes will not open, no message of problems

    iTunes does not show up whenever I click on it, and no message of problems comes onto the screen. Absolutely nothing at all happens. Help?

    See if QuickTime will open. iTunes uses QT codecs to play everything.
    Sometimes QT will give an error message, where iTunes won't.
    Also here is an article with lots more ideas to try:
    http://docs.info.apple.com/article.html?artnum=93976

  • I rented a movie (dark shadows) but I can not see it, because a message appear "Problem loading...try again later". Is not a problem connection. I tried a lot of times to watch the movie and I didn't can.

    I rented a movie (dark shadows) but I can not see it, because a message appear "Problem loading...try again later". Is not a problem connection. I tried a lot of times to watch the movie and I didn't can.
    Thanks
    Celeste

    I rented a movie (The Hobbit)...but  it stops loading.
    The movie costs CHF 7.50.
    A phone call to the support team costs CHF 46.-- !!!!!
    What do you think I will do?
    Pisella Verde

  • Flex with JMS Topic/Queue for Asynchronous messaging

    I have been working on Flex and JMS integration using Data
    Services for Asynchronous messaging. I am able to do this
    successfuly. Now I am in need to do the same without using the Data
    Services piece.
    For doing this I have done the following ......
    I have created a JMS Webservice in the Oracle JDeveloper 10G
    along with Webservice Client.I am able to Listen to JMS Topic/Queue
    ( this has been created in the Oracle AS ) using this Webservice
    and receive the messages from this JMS Topic/Queue
    Asynchronously.....
    But If I need to use the Flex Client , I am not able to
    Communicate with this Webservice to listen to the JMS Topic/Queue.
    Did any one in this forum tried to communicate with JMS
    Topic/Queue without using Flex Data Service.If so please share your
    inputs.

    Here is my confusion (I'm using J2EESDK1.3).
    On a local server I did the following
    j2eeadmin -addJmsFactory jms/RemoteTCF topic -props url=corbaname:iiop:mars#mars
    In the app client running on the local server I had the code
    ic = new InitialContext();
    // JNDI lookup. The resource factory ref points to the
    // Remote Connection Factory I registered
    tcf = (TopicConnectionFactory)ic.lookup("java:comp/env/jms/TopicConnectionFactory");
    // The env ref points to jms/Topic of the local server
    pTopic = (Topic)ic.lookup("java:comp/env/jms/PTopic");
    So I'm assuming that I'm using a connection factory that connect to mars and a Topic on the local box.
    On remote server mars, I deployed a MDB which use
    jms/TopicConnectionFactory and jms/Topic. But I'm thinking this jms/Topic and the one I used on the local box are not the same one. Right? Then how could the app client and the MDB share messages?
    Some of my explanation I don't if it makes sense or not.
    ConnectionFactory is a way to tell what kind of connection it could generate (Queue, Topic, Durable etc) and Where the connection would go to (local or remote).'
    As for as destination, I'm not sure. How could two server share one Topic?

  • Abstract asynchronous message interface for fault (exception) messages

    Hi,
    Has anyone yet discovered how to create an abstract asynchronous message interface for a fault message so that said message can be referenced in an Integration Process? I am currently at a loss as to how to reference the exception message returned by a synchronous RFC call, and how to return the fault message of a synchronous MI from a BPM.
    Thanks for any help you can provide on this issue - please do not refer me to existing blogs or forum messages if they do not specifically answer this question in a positive manner. I have just been through the SAP Notes and the SDN forum and Google and while I have seen many questions about this topic I have not seen any answers. 
    Stephen

    hi stephen,
    never worked on this but out ofcuriosity after seeing ur question i tried to  create one:
    but i found these:
    fault message types will only be used in case of synchronous messages.....if it is asynchronous the fault message type radio button it self will not seen while creating message interface..just check.
    you need to create a Fault message type to use it in an interface...u can add your own fields also if u want.
    in your present case you mentioned you are using synchronous RFC...try creating a synchronous abstract interface there you can give fault message type also...just check by creating one...
    correct me if i am wrong...
    regards.

  • Erase asynchronous message

    Hi Gurus!
    i´already schuedule the job in sxmb_adm the deletion jobs
                  -DEFINE INTERFACES FOR ARCHIVING AND RETENTION PERIODS
           -SCHEDULE DELTES JOBS
    But I can´t find yet, some way to erase asynchronous message, any idea?

    Hi. Raul:
    When you "DEFINE INTERFACES FOR ARCHIVING AND RETENTION PERIODS", haven't you seen there is a option to specify "Retention Period for Asynchronous XML Messages in the Database"
    Under it, you can put the number of days for "XML Messages Without Errors Awaiting Deletion"
    That is the place to specify how long you want Asynchronous Message Persisted in database, once the specified days reached, the message should be deleted by your scheduled job: SAP_BC_XMB_DELETE_<Client>
    Regards !
    Liang

Maybe you are looking for