Retrieve jms message by jmsmesage id

I need to retrieve a message from oracle Queue by the jmsId of the message from jdeveloper 10.1.2. I know the jmsId of the message. tried to use the message selector in java. it looks like the application hangs or never gets out of the loop.
TopicSubscriber subscriber = topicSession.createDurableSubscriber(topic,"mysub","JMSMessageID = '" + myjmsId+ "'",true);
Message msg = subscriber.receive();
TextMessage textMsg = (TextMessage) msg;
String messText = ((AQjmsTextMessage)textMsg).getText();
Any help would be greatly appreciated.
Thnaks
MM

you can't cast IFaultRecoveryContext into anything else, it's an Interface and it doesn't extend anything:
public interface IFaultRecoveryContext
public abstract String getIndex(int i);
public abstract Map getProperties();
public abstract String getActionId();
public abstract String getPolicyId();
public abstract String getActivityType();
public abstract String getActivityId();
public abstract String getActivityName();
public abstract String getWsdlLocation();
public abstract String getPartnerLinkName();
public abstract QName getPortType();
public abstract String getCorrelationId();
public abstract BPELFault getFault();
public abstract BPELProcessId getProcessId();
public abstract String getStatus();
public abstract void setStatus(String s);
public abstract String setTitle(String s);
public abstract String getTitle();
public abstract int getPriority();
public abstract void setPriority(int i);
public abstract long getInstanceId();
public abstract Locator getLocator();
public abstract void addAuditTrailEntry(String s, Object obj);
public abstract void addAuditTrailEntry(String s);
public abstract void addAuditTrailEntry(Throwable throwable);
public abstract Object getVariableData(String s)
throws BPELFault;
public abstract Object getVariableData(String s, String s1)
throws BPELFault;
public abstract Object getVariableData(String s, String s1, String s2)
throws BPELFault;
public abstract void setVariableData(String s, Object obj)
throws BPELFault;
public abstract void setVariableData(String s, String s1, Object obj)
throws BPELFault;
public abstract void setVariableData(String s, String s1, String s2, Object obj)
throws BPELFault;
}

Similar Messages

  • JMS Message ID retrieval using Java

    Hi,
    I have built a flow the sequence which is JMS Producer(BPEl)->JMS Consumer(Bpel)->A Bpel composite inserting into database. Now i have deliberately faulted the bpel instance. now i want to capture the faulted consumer bpelcomposite instance id which i have been able to do as well as retrieve the jms message id which i have been unsuccessful.
    i have imported the package javax.jms.Message and my code is as follows
    public class FaultHandlingPOC implements IFaultRecoveryJavaClass{
    public void handleRetrySuccess(IFaultRecoveryContext ctx) { 
    System.out.println("This is for retry success");
    handleFault(ctx);
    public String handleFault(IFaultRecoveryContext ctx) {
    BPELFaultRecoveryContextImpl bpelCtx = (BPELFaultRecoveryContextImpl) ctx;
    Message m = (Message)ctx;
    System.out.println("Composite Instance: " + bpelCtx.getCompositeInstanceId());
    try {
    System.out.println("JMS Message ID" + m.getJMSMessageID());
    } catch (JMSException e) {
    System.out.println("Insert Failed");
    return "RETHROW";
    The error generated is Class Cast Exception though i am able to retrieve the Bpel composite instance id
    Please help.

    you can't cast IFaultRecoveryContext into anything else, it's an Interface and it doesn't extend anything:
    public interface IFaultRecoveryContext
    public abstract String getIndex(int i);
    public abstract Map getProperties();
    public abstract String getActionId();
    public abstract String getPolicyId();
    public abstract String getActivityType();
    public abstract String getActivityId();
    public abstract String getActivityName();
    public abstract String getWsdlLocation();
    public abstract String getPartnerLinkName();
    public abstract QName getPortType();
    public abstract String getCorrelationId();
    public abstract BPELFault getFault();
    public abstract BPELProcessId getProcessId();
    public abstract String getStatus();
    public abstract void setStatus(String s);
    public abstract String setTitle(String s);
    public abstract String getTitle();
    public abstract int getPriority();
    public abstract void setPriority(int i);
    public abstract long getInstanceId();
    public abstract Locator getLocator();
    public abstract void addAuditTrailEntry(String s, Object obj);
    public abstract void addAuditTrailEntry(String s);
    public abstract void addAuditTrailEntry(Throwable throwable);
    public abstract Object getVariableData(String s)
    throws BPELFault;
    public abstract Object getVariableData(String s, String s1)
    throws BPELFault;
    public abstract Object getVariableData(String s, String s1, String s2)
    throws BPELFault;
    public abstract void setVariableData(String s, Object obj)
    throws BPELFault;
    public abstract void setVariableData(String s, String s1, Object obj)
    throws BPELFault;
    public abstract void setVariableData(String s, String s1, String s2, Object obj)
    throws BPELFault;
    }

  • Adapter Status Error :  Error in creating message ID map for JMS message:

    Currently in the SAP XI 3.0 JMS Adapter, I am receiving the following error
    Error in creating message ID map for JMS message:
    ie. Error while processing message 'de8265f6-c864-4479-1137-9bab17b78b3b';  detailed error description: com.sap.aii.adapter.jms.api.channel.filter.MessageFilterException: Error in creating message ID map for JMS message: ID:c3e2d840d8d4d7f14040404040404040c44f8e2213630b01 at com.sap.aii.adapter.jms.core.channel.filter.InboundDuplicateCheckFilter.filter(InboundDuplicateCheckFilter.java:103)
    Although I am receivng this error, when I check the details of the message processing, all steps are successful and the message is set to status : DLVD
    Audit Log for Message: de8265f6-c864-4479-1137-9bab17b78b3b
    Time Stamp     Status     Description
    09.06.2009 13:27:24     Success     New JMS message with JMS message ID ID:c3e2d840d8d4d7f14040404040404040c44f8e2213630b01 received. The XI message ID for this message is de8265f6-c864-4479-1137-9bab17b78b3b
    09.06.2009 13:27:24     Success     JMS message converted to XI message format successfully
    09.06.2009 13:27:24     Success     RRB: entering RequestResponseBean
    09.06.2009 13:27:24     Success     RRB: suspending the transaction
    09.06.2009 13:27:24     Success     RRB: passing through ...
    09.06.2009 13:27:24     Success     RRB: leaving RequestResponseBean
    09.06.2009 13:27:24     Success     Transform: using Transform.Class: com.sap.aii.messaging.adapter.Conversion
    09.06.2009 13:27:24     Success     Transform: transforming the payload ...
    09.06.2009 13:27:24     Success     Transform: successfully transformed
    09.06.2009 13:27:24     Success     Application attempting to send an XI message synchronously using connection JMS_http://sap.com/xi/XI/System.
    09.06.2009 13:27:24     Success     Trying to put the message into the call queue.
    09.06.2009 13:27:24     Success     Message successfully put into the queue.
    09.06.2009 13:27:24     Success     The message was successfully retrieved from the call queue.
    09.06.2009 13:27:24     Success     The message status set to DLNG.
    09.06.2009 13:27:25     Success     The application sent the message synchronously using connection JMS_http://sap.com/xi/XI/System. Returning to application.
    09.06.2009 13:27:25     Success     The message was successfully transmitted to endpoint http://sapxia.swets.nl:8000/sap/xi/engine?type=entry using connection JMS_http://sap.com/xi/XI/System.
    09.06.2009 13:27:25     Success     The message status set to DLVD.
    Not sure why this is occurring.......

    No, not using correlation id.
    I was able to resolve the issue on this queue by changing the following setting
    Under the PROCESSING tab, under XI SETTINGS
    Time period for Duplicate Check for EO(IO) (secs) it was set to 86400
    I have changed this to 300 seconds and the adapter has now gone green.
    BUT......
    That said, I have the exact scenario on another sender JMS channel set to 300 seconds and it exhibits the same issue.
    correlation settings:
    Set XI message id  to  = GUID
    Set Xi conversation

  • How to store and retrieve XML messages in AQ using ESB/ BPE

    Hello,
    I am having a requirement which I feel should be fairly common - store and retrieve XML messages in AQ. However, I am struggling to decide which type of queue to use AQ or JMS...Here is the requirement
    1. In an ESB, I want to read different kind of files using file adapter. Different kind as in, having different structure or schema
    2. I want to create a queue that is capable of storing any kind of xml data. To this queue, I want to enqueue the message read in step 1.
    3. In another process, say a BPEL, I want to dequeue the message and write into a file. The filename is retrieved from one of the header properties. I want to dequeue using a stored procedure, not by using a JMS or AQ Adapter (reason being that these adapters poll the queue, and consume a message immediately. However, I want to consume the message only when there is a business need)
    My questions are:
    1. What kind of queue I should create in the DB (What should be its payload type...XMLType? )... I guess the answer would also determine the adapter to be used - JMS or AQ
    2. How I should map the xml data read from the file in step 1 to this adapter
    Any help is highly appreciated.

    You are right in suggesting that I dont need to store my XML data as xml in the DB...I dont want to too :) but its just that, thats the only option I can see at this time (the other track i am exploring is :
    File adapter(XML) -> Convert to opaque (base64binary) -> Enqueue opaque to JMS (aq$_jms_bytes_message) ->Dequeue Opaque -> Write file opaquely.
    In this I have hit the roadblock in trying to convert XML to base64binary...maybe some custom java function is needed...anyway)
    Coming back to this thread, where I am trying the following
    File adapter(XML)  -> Enqueue as XML to queue  ->Dequeue XML -> Write file opaquely.
    PS: I think its important for me to mention that I am using SOA 10.1.3.1.0
    I tried the steps you gave...after creating the queue, I am trying to create a JMS adapter. But the queue I created doesnt show up in the browse window of destinations for the JMS Adapter..That had led me to infer that JMS adapter cant be used
    {color:#99cc00}CREATE OR REPLACE TYPE batchupdate_row_type AS OBJECT
    (update_queue_id NUMBER
    ,upc VARCHAR2(20)
    ,price1 NUMBER);
    {color}
    {color:#99cc00}CREATE OR REPLACE TYPE batchupdate_rec_type AS VARRAY(9999999) OF batchupdate_row_type;
    CREATE OR REPLACE TYPE payload_type AS OBJECT ( payload batchupdate_rec_type);
    EXECUTE DBMS_AQADM.CREATE_QUEUE_TABLE ( queue_table => 'jmsuser.batch_update_queue_table', queue_payload_type => 'payload_type');
    EXECUTE DBMS_AQADM.CREATE_QUEUE ( queue_name => 'batch_update_queue', queue_table => 'jmsuser.batch_update_queue_table');
    EXECUTE DBMS_AQADM.START_QUEUE ( queue_name => 'batch_update_queue'); {color}
    I also needed some opinion on whether the last step of my proposed solution ( Dequeue XML -> Write file opaquely) is possible. As I want to develop a service oblivious of the structure of the file, I dont want to create a file adapter based on a particular xsd...so I want to write whatever xml I am getting from the queue....is this step possible

  • Code to Retrieve the message from Queue in Oracle BPEL

    Actually I am placing the Message into JMS Queue using JMS Adapter.After Placing the message,I need to retrieve the placed message from same queue.
    Right now I am using the Receive Activity and the JMS Adapter to retrieve the message from Queue.But my receive activity is always in the waiting state itself and I am not able to retrieve the message from queue.What might be the issue????
    Can anybody give me a better suggestion so that I can go ahead??
    Thanks in advance for your help.

    Hi Raja,
    Is the process a empty bpel process which is used to get the message from the MQ?
    Regards
    Surya

  • JMS/AQ: Setting properties for JMS message using PL/SQL

    I have created a procedure in PL/SQL that uses JMS messages, and now I need to include a property so that the subscriber can use a message selector to filter out unwanted messages. Is this possible using PL/SQL?
    A previous post said: "... But you can have properties in the message payload itself and also define selectors on the message content ...". But I looked at Sun's tutorial and there it said: "A message selector cannot select messages on the basis of the content of the message body."
    I have 300 different screens and messages apply only to one screen at a time. When the user is looking at screen 'A' I want him to only recieve messages that apply to screen 'A'. I thought I would do this with message selector, but is there any other way?
    Here is my code(borrowed from an earlier post)
    PROCEDURE ENQUEUE_JMS_MESSAGE AS
    BEGIN
    DECLARE
    Enqueue_options DBMS_AQ.enqueue_options_t;
    Message_properties DBMS_AQ.message_properties_t;
    Message_handle RAW(16);
    User_prop_array SYS.AQ$_JMS_USERPROPARRAY;
    Agent SYS.AQ$_AGENT;
    Header SYS.AQ$_JMS_HEADER;
    Message SYS.AQ$_JMS_TEXT_MESSAGE;
    Message_text VARCHAR2(100);
    BEGIN
    Agent := SYS.AQ$_AGENT('',NULL,0);
    User_prop_array := SYS.AQ$_JMS_USERPROPARRAY();
    Header := SYS.AQ$_JMS_HEADER( Agent, '', 'aq1', '', '', '', User_prop_array);
    Message_text := 'Message 1 from PL/SQL';
    Message := SYS.AQ$_JMS_TEXT_MESSAGE(Header, LENGTH(Message_text), Message_text, NULL);
    DBMS_AQ.ENQUEUE(queue_name => 'tstopic',
    Enqueue_options => enqueue_options,
    Message_properties => message_properties,
    Payload => message,
    Msgid => message_handle);
    END;
    END;
    -Christer

    Thanks for the answer. I managed to set the Correlation id and retrieve it using getJMSCorrelationID(). But I did not manage to use the MessageSelector on it. I have used the Topicbrowser which is not part of the JMS standard? I tried to enqueue the messages using Java too and tried to use the topicbrowser on both JMSCorrelationID and user defined properties withou success. Is there some special requirements of the TopicBrowser?
    Enumeration messages;
    oracle.jms.TopicBrowser browser =tsess.createBrowser(topic, "TS", "JMSCorrelationID = 'TST'");
    int count = 0;
    messages = browser.getEnumeration();
    if(messages.hasMoreElements())
    System.out.println("message"); //never executed
    dtxtmsg = (TextMessage)(tsub1.receiveNoWait()) ; //returns a message
    String corrID = dtxtmsg.getJMSCorrelationID(); //returns: TST
    Thanks for your help so far...it would really save my day if you have some ideas on this too!
    -Christer

  • JMS Message Encryption

    Does Weblogic Server (any version) provide built-in support for JMS message encryption
    using digital certificates etc.?
    To be more precise I am asking about that similar encryption options for JMS message
    that is provided by Tibco JMS or SonicMQ.

    1. Does JMS provide an API call to retrieve the MQ
    Header information -- specifically the user id and
    password if any? Or does the JMS header hide/override
    the MQ header?There is a property defined by JMS called JMSXUserID which will give you the user id. MQSeries does not transmit the password of the user, this would probably be a security violation. If there is a JMS property which is matched in the MQ Message header the property is held there. There are some IBM specific properties to get at other information in the MQ Message header but these should not be used.
    2. Does JMS provide an encryption mechanism to encrypt
    the message body?JMS doesn't and neither does MQSeries, as far as I am aware. If you wish to encrypt then you can define a security exit on the queue when you bind it into JNDI, but this is an MQSeries feature not a JMS one.
    3. What is in the JMS header -- additional security
    information?Look in the MQSeries Information Center. There is lots of information on what is in the headers and how to access it.
    >
    Lastly, can we send binary data using JMS over
    MQSeries?Just use a bytes message.
    Hope this helps

  • Websphere-mq-messagelistener-similar-to-jms-message-listener is it possible in MDB?

    Hi,
          I have the MQConsumerClass that retrieves the messages from the MQ's working fine, but I want to create this class with MessageListener but I cannot find MessageListener or any example related to it.So, please tell me if there is any MessageListener function in WMQ Java API.
    Regards
    Mani

    Hi Bloodasp,
    What you are proposing sounds like a good plan and you should not encounter too many problems with it.
    If you are going to run several clients connected to the same queue and they are to be considered functionally equivalent then your message receivers connected to this queue will receive messages in an order determined by the JMS provider itself. The canonical form of this is round-robin.
    If you require targetting messages to particular message receivers then you can take a look at setting properties of the messages at the sender side and setting a message selector at the receiving side, it does not sound like this is what you are after though.
    Hope this helps,
    Tom Jenkinson

  • Why are my JMS messages automatically dequeued without consumer?

    I created a simple in-memory JMS queue.
    Now I wrote a BPEL process which writes (successfully ?) JMS message to this JMS queue.
    Another consuming BPEL process is deployed but not started.
    However I cannot see them in MBean JMSDestinationResource on the OC4J Enterprise Manager Web page.
    When I tell the AppServer to browse all currently existing (and waiting) JMS message then there are none.
    However the statistics for this queue show 17 messagesEnqueued and 17 messagesDequeued Messages.
    It seems to me that my JMS messages are automatically dequeued. But why?
    Are in-memory JMS messages not persistent (as long as the AppServer is up and running) ?
    Do I have to set a certain preference to let JMS live in the Queue as long as they are not retrieved by another BPEL process?
    Furthermore I tried the following:
    I started a consuming BPEL process. Yes, he is waiting at the JMS adapter until a new JMS message arrive.
    Then I send from the first BPEL process a JMS message. But even when consumption is possible the JMS message is dequeued and not forwarded to the consumer.
    Why?
    Peter

    It seems to me that my JMS messages are automatically dequeued. But why?
    This is how BPEL PM is designed; The activation-agent is running that belongs to the BPEL process. When a message arrives in a Queue or Table or File it is read into the dehydration store. Then an instance of the appropriate BPEL process is started. This functionality makes the system more stabel and reliable when something is goingin wrong in quees/files/db or any adapter that is used for polling.Are in-memory JMS messages not persistent (as long as the AppServer is up and running) ?
    As you desribed: in-memory messages are only persistent in memory, if you restart the server, the messages are gone.Do I have to set a certain preference to let JMS live in the Queue as long as they are not retrieved by another BPEL process?
    No you can not.Marc
    http://orasoa.blogspot.com

  • TB stopped retrieving new messages and trying to "reconfigure" my account to fix the problem, now I lost my old messages.

    [4/15/14 edit #3] I posted the requested troubleshooting information and made a backup of Profiles using MozBackup, so my remaining problem is the presence of two Inboxes, both receiving messages, and my not being sure which one can safely be deleted nor how to safely delete it.
    [4/14/14 edit #2] T'bird's Help taught me where my "Profiles" are stored but I found I had no backup of them. However, I now discover that I have TWO Inboxes - hadn't noticed that quirk before. Thankfully, one of them still contains all of my old messages! The Inbox that still has all of my old mail is listed as a subfolder under "Local Folders" and the Inbox that I thought was my only Inbox is listed as a subfolder under the top folder whose name is my email address. Both Inboxes are now retrieving my new mail. Does this mean I have somehow created two accounts? If so, how do I get rid of the account that uses the Inbox that does not have all my old mail in it? I don't want to get rid of the wrong account but I suspect the "right" one should be listed under my email address, not under "Local Folders". If anyone understands this mess that I've created, I'd really appreciate some advice so I don't make things worse. At least I've now learned what it is that I need to back up.
    [4/14/14 edit #1] Following is a major update of the problem I described before (see below). I disabled the Mail Shield portion of my Free Avast antivirus software and discovered that TB was again able to retrieve my email. Then I re-enabled Avast to see if it blocked TB again. It did not. So, apparently simply turning Avast's Mail Shield off and then back on again seems to have fixed the problem. However, I'm now left with the consequences of my having tried to "reset" TB as I described below, namely the loss of a very large number of emails that were stored in my Inbox. So the remaining problem I'd like help with is how to recover those seemingly lost emails. If they remain on my hard drive, where did TB store them and what specific files should I look for? I do have a backup of some of my hard drive (but nothing under Program Files), but I need to know how to identify them, where to look, and how to get them back into my Inbox without deleting its current contents. I'd really like to also retain their original dates, if possible. I'm running 64-bit Windows 8.1. [end of 4/14/14 edit]
    TB suddenly stopped downloading my mail today. After I click Get Mail, I can see at the bottom of the screen a very rapid succession of messages; first the "connected..." message, then "checking...", then "downloading 1 of 10...", then finally, "No messages to download" after downloading absolutely none of them. I also noticed that my list of mailboxes was missing the very first entry that showed my email address as the account name. Figuring something major must have been changed in my account configuration, I went through all the settings but saw no problems. Finally, I decided to try to re-establish my same account. That did place my email address again back at the top of the mailbox listings as my working account name but it also created a worse problem. There were now no messages in my inbox, I suppose because I must have created a new account using the same name as the old one, whereas before there were thousands of messages that I had saved for many years (since this is a business). Then when I clicked Get Mail, TB downloaded 383 messages that had not yet been deleted from the server, giving then all today's date (another loss since their original dates were important). But after it finished downloading all of them, clicking Get Mail still does not retrieve any messages past the time that it stopped retrieving them earlier today. Those newest messages remain on the server - but now there are 14 of them instead of 10. The same succession of TB messages appears at the bottom of the screen, but now it says "Downloading 1 of 14..." but still downloads none of them and ends with, "No messages to download". This sequence of messages will repeat as often as I try to retrieve mail but it can still count how many it is NOT downloading. Two questions: (1) Are the thousands of messages that were stored in my Inbox still stored somewhere on my computer and is there any way to recover them? (2) How can I get TB to start retrieving my current email again? I guess it's obvious that these are important problems to me and that I'm totally stumped. Many thanks in advance.

    Sorry. Here is the Troubleshooting Info:
    Application Basics
    Name: Thunderbird
    Version: 24.4.0
    User Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:24.0) Gecko/20100101 Thunderbird/24.4.0
    Profile Folder: C:\Users\Phil\AppData\Roaming\Thunderbird\Profiles\p8gz2q23.default
    (Local drive)
    Application Build ID: 20140316131045
    Enabled Plugins: about:plugins
    Build Configuration: about:buildconfig
    Crash Reports: about:crashes
    Memory Use: about:memory
    Mail and News Accounts
    account1:
    INCOMING: account1, Local Folders, (none) Local Folders, plain, passwordCleartext
    account2:
    INCOMING: account2, [email protected], (pop3) pop.att.yahoo.com:995, SSL, passwordCleartext
    OUTGOING: smtp.att.yahoo.com:465, SSL, passwordCleartext, true
    OUTGOING: smtp.att.yahoo.com:465, SSL, passwordCleartext, false
    account5:
    INCOMING: account5, [email protected], (pop3) inbound.att.net:995, SSL, passwordCleartext
    OUTGOING: outbound.att.net:465, SSL, passwordCleartext, true
    Extensions
    Check for Updates in Help Menu, 1.1, true, [email protected]
    CompactHeader, 2.0.8, true, {58D4392A-842E-11DE-B51A-C7B855D89593}
    Remove Duplicate Messages (Alternate), 0.3.9, true, {a300a000-5e21-4ee0-a115-9ec8f4eaa92b}
    ViewAbout, 2.0.1, true, [email protected]
    Extra Folder Columns, 1.1.5, false, extra-cols@jminta_gmail.com
    Important Modified Preferences
    Name: Value
    accessibility.typeaheadfind.flashBar: 0
    browser.cache.disk.capacity: 358400
    browser.cache.disk.smart_size.first_run: false
    browser.cache.disk.smart_size.use_old_max: false
    browser.cache.disk.smart_size_cached_value: 358400
    extensions.lastAppVersion: 24.4.0
    mail.openMessageBehavior.version: 1
    mail.winsearch.firstRunDone: true
    mailnews.database.global.datastore.id: 9bbfa749-eb91-4c2e-9a9a-d0e0146e393
    network.cookie.prefsMigrated: true
    places.database.lastMaintenance: 1397067237
    places.history.expiration.transient_current_max_pages: 52770
    places.history.expiration.transient_optimal_database_size: 85415034
    plugin.importedState: true
    privacy.donottrackheader.enabled: true
    Graphics
    Adapter Description: Intel(R) G45/G43 Express Chipset (Microsoft Corporation - WDDM 1.1)
    Vendor ID: 0x8086
    Device ID: 0x2e22
    Adapter RAM: Unknown
    Adapter Drivers: igdumd64 igd10umd64 igdumd32 igd10umd32
    Driver Version: 8.15.10.2702
    Driver Date: 3-11-2013
    Direct2D Enabled: false
    DirectWrite Enabled: false (6.3.9600.16384)
    ClearType Parameters: Gamma: 2200 Pixel Structure: RGB ClearType Level: 100 Enhanced Contrast: 100
    WebGL Renderer: false
    GPU Accelerated Windows: 0
    AzureCanvasBackend: skia
    AzureFallbackCanvasBackend: cairo
    AzureContentBackend: none
    JavaScript
    Incremental GC: 1
    Accessibility
    Activated: 0
    Prevent Accessibility: 0
    Library Versions
    Expected minimum version
    Version in use
    NSPR
    4.10.2
    4.10.2
    NSS
    3.15.4 Basic ECC
    3.15.4 Basic ECC
    NSS Util
    3.15.4
    3.15.4
    NSS SSL
    3.15.4 Basic ECC
    3.15.4 Basic ECC
    NSS S/MIME
    3.15.4 Basic ECC
    3.15.4 Basic ECC
    ISP is AT&T, anti-virus is (free) Avast, Windows firewall

  • Need suggestion on  implementing JMS message error recovery

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

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

  • IOS 7 downloaded fine but I can't back up restored. Tried 3 times. Tried turning off iCloud. Now I can only receive texts and phone messages. I cannot make calls, retrieve phone messages or send any texts. When I try I just get a blank screen. HELP

    I initially tried to do this at 11:39pm last night. I cleaned up my apps, backed up to my computer and then took the plunge. It downloaded fine, everything went ok until I tried to restore backup. I received a message that there was an error in iTunes and iPhone could not be restored. I tried this three times giving up at 2:00 am. I tried again at 7:30am. No fix. Now I can open up phone and browse in safari. I can get notifications that a text was received or a phone message left but I can't receive or make phone calls, retrieve phone messages, or access any text features. Also I have NO purchased apps. I use my phone got work and this has ruined my day - please help!!

    I would start with going to O2 with the phone and making sure it's set up properly - maybe the SIM they gave you isn't quite right or their network isn't acknowleding it like it should.
    Seeing as you've tried restoring to factory settings and resetting network settings, I'm assuming you've tried restoring the phone as new, just to see if that helped at all. If that didn't help, you definitely need to get in touch with O2 and work things out with them.
    ~Lyssa

  • Lost (and found) JMS - messages

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

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

  • Error while extracting values from SOAP Body using XPath (Retrieve from Message filter)

    Hi,
    I am using 'Retrieve from Message' filter to extract element value from the following SOAP response envelope:
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:math="http://example.com/math.xsd">
    <soapenv:Header/>
    <soapenv:Body>
    <math:DivideResponse>
    <iResult>10</iResult>
    </math:DivideResponse>
    </soapenv:Body>
    </soapenv:Envelope>
    I am using the XPath expression - /soapenv:Envelope/soapenv:Body/math:AddResponse/iResult
    soapenv = http://example.com/math.xsd
    math = http://schemas.xmlsoap.org/soap/envelope/
    ERROR
    4/19/15, 19:29:03.016
    Empty attribute retrieved from message via XPath
    ERROR
    4/19/15, 19:29:03.016
    The message [Id-59643455b76a00000000000045edd6a6] logged Failure at 04.19.2015 19:29:03,015 with log description: Failed to extract attributes via XPath
    ERROR
    4/19/15, 19:29:03.017
    Retrieve math result from SOAP response
    Could you please help me resolve it?
    Thanks,
    Aneesh.

    Hi Aneesh,
    XPath Expression: /soapenv:Envelope/soapenv:Body/math:DivideResponse/iResult
    You are using AddResponse in your XPath there is no element named like that.
    Cheers,
    Stefan

  • Problem in sending JMS message on remote OC4J

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

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

Maybe you are looking for

  • AIP-50143:  Transaction Instance Not found for Transaction Id

    Hey Guys, We have configured a Custom Document Exchange over Generic protocol to transfer a file. 1. Internal delivery channel is 'SFTP' - Picks file 2. External delivery channel is 'SFTP' - Puts file 3. Exchange protocol - Custom document over gener

  • Google app freezes in iOS 8 iphone 6 plus 128gb

    Google app freezes and is unusable in ios 8, is it the app of the phone?

  • Caret position in JEditorPane HTML

    Hi everyone, I need the position of caret in HTML source on JEditorPane. I The value of getCaretPosition() seems not what I wanted. CaretEvent.getDot() gives the same value of getCaretPosition. These methods only gets position on the view. Please hel

  • Calling: appleman And karsten Word is you may be able to help

    I have divx files from a flip original camera with all the latest firmware and software it records with the following audio: Microsoft ADPCM, Mono, 44.100 kHz. Does anyone know how I can convert this file to work in imovie or final cut. the audio alw

  • Error while using Motion tracker premiere elements 8.0

    Hi Using windows vista with this configuration: W vista hp 64 bit 6gb ram intel c2 quad 2.40 ghz intel g33/g31 express chipset family while using motion tracker in premiere elements 8.0 it is giving error happening with any video clip that I use. Ple