Removal of messages from persisted store

          Hi,
          If I'm using a JDBC store for my JMS server, are the messages removed from the
          DB when they are acknowledged? Are there config settings which play into this?
          Thanks,
          Bob
          

Elias Sinderson wrote:
          > Tom Barnes wrote:
          >
          >> An acknowledge deletes the associated
          >> messages from the store, whether
          >> it is a JDBC store or a file store. There is no config
          >> setting to turn off this behavior - and you are the first
          >> customer to ever ask if there was such a beast.
          >
          >
          > Actually, I looked for such a configuration but have been put in the
          > position of archiving JMS messages myself as this option is not provided
          > out of the box...
          Ah. Yes, I understand this use case. We are keeping it in mind
          for the future. The future solution may involve simply sending
          a duplicate message to another destination in the same
          transaction. The adminstrative interface might simply
          be something like an "ArchiveDestination" parameter on the
          original destination's configuration. Would that be sufficient?
          >
          > There are a number of reasons one may want to do wuch a thing, ranging
          > from record retention to simply allowing an end user to browse through
          > the set of delivered messages.
          I agree.
          > Personally, I believe that it is a
          > shortcoming of the JMS specification that it does not address this issue.
          Well pub/sub can address this issue. The drawback is that a durable
          subscriber is not the same as a queue - only one consumer can use
          it a time.
          >
          > The long and the short of it, in my case, is that I've now reimplemented
          > a good portion of the JMS specification on top of BEAs implementation.
          With WL, you can use standard JMS pub/sub to replicate messages
          and then use a messaging bridge to forward a subscription to a queue.
          This, of course, does not give great performance, but many applications
          are not sensitive to JMS performance.
          Another approach is to have senders send two messages, one to a
          pub/sub "monitoring" topic and one to the queue. Optionally
          using a transaction to ensure that it is atomic. Again, this is
          not a great performer.
          >
          >
          > Elias
          >
          Tom, BEA
          

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

  • How do I remove twitter updates from app store?

    How do I remove twitter updates from app store seeing as I don't have a twitter account?

    Perhaps you could try this to resolve your issue: https://discussions.apple.com/message/21973765#21973765

  • How do you remove credit card from apple store ios7

    How Do You Remove Credit Card From Apple Store With IOS7

    After establishing the Credit Card account (i.e. after you have made purchases), you can remove the credit card information by editing your payment info, choosing "None".
    Settings>iTunes and App Stores>Apple ID>View Apple ID>Sign-in>Payment Information

  • Remove trusted cert from cert store

    Hi,
    actually I think about a problem with a signed applet that contained a flaw. Of course the users have most probably already set the certificate to "always grant" when they first used the applet.
    I know that I can remove the cert from the store with the Java Plug-in Control Panel and that the users will then be asked again. And that the cert ends up in a user file called trusted.certs.
    (e.g. under WinXP in the user-path ...\Application Data\Sun\Java\Deployment\security\)
    So this is what I need to do BUT: As I have many users I would strongly prefer a programmatic way to remove the cert without deleting the whole file (as it may also contain other certs).
    Any ideas?

    http://java.sun.com/j2se/1.5.0/docs/guide/security/jsse/JSSERefGuide.html#Customization

  • I want to remove notification badge from app store. How is it possible?, I want to remove notification badge from app store. How is it possible?

    I want to remove notification badge from app store. How is it possible?, I want to remove notification badge from app store. How is it possible?

    there are many reasons not to update apps,  wow, you probably just buy anything people tell you!!  Sometimes you lose parts of an app with an update, like when shazam started limiting how many checks you could do. if you didn't update you would still be able to have unlimited downloads.  OF course eventually you will have to either update or it wont work with a new operating system roll out , but that buys you a lot of time to re-evaluate shazam and see if you really think it's all that or not.  if you would have updated your software right away like apple wanted you to last year, you would have been one of the millions that had all their info posted all over the web for every crook, hacker and thief to look over!!  I;m guessing from your reply you probably are one of the ones that was security compromised. there are just 2 reasons out of a whole list of reasons why someone might not want to  update their apps!!  If you don't have anything helpful to say when someone asks a question, your not doing them or anyone a favor just zip and move along to something you might be able to  help someone with

  • How do i remove recovered messages from my email

    I need help removing recovered messages from my email.

    I posted a very similar question.  The answers I received here did not help.  For anyone else looking, here is the solution that finally worked. My son found it via a Goolge search:
    Best answer - Sarah (Google Employee) Go to this answer
    chessop
    Please follow below steps.
    1.Take your gmail account offline from Mail and delete the recovered messages folder.
    2. Download the widget to show the hidden files fromhttp://www.apple.com/downloads/dashboard/developer/hiddenfiles.html
    3. Go to UserName/Library/Mail/IMAP-<username>@[email protected]/.OfflineCache
    4. Delete all the data under .OfflineCache folder - DO NOT DELETE the folder.
    5. Close Mail application and reopen.
    This should do the job.
    Best regards,
    Aadi
    338 of 359 people found this answer helpful. Did you? Sign in to vote. Report abuse
    See the answer in context

  • Removing superseded messages from the queue

    Does JSMQ provide any way for a producer to remove a message from the queue which it queued some time ago but which it no longer wishes to send?
    I am investigating the use of JSMQ in a military battlemap application connecting nodes over low bandwidth/unreliable connections. The reason we want to be able to remove messages is as follows: Say a producer sends a low priority message to the queue regarding a unit's position. Later on the same producer sends an update regarding the same unit to the queue. If the first message is still present in the queue (ie has not been sent yet) then we want the producer to be able to remove it as it is now superseded by the new message and we don't want to waste bandwidth sending the old message first.
    I know we can set an expiry time on messages, but this doesn't really solve our problem. We want the original message to stay in the queue indefinately (until it is read by the consumer) unless it is superseded by a new message in which case we want to remove it.
    Thanks
    Roger

    Hi Roger,
    JMS does not support the removal of messages from a queue
    as you described. I can't think of a way to not deliver the old
    message once it was already sent.
    Alternatives I can think of:
    - Adjust the interval at which the consumer reads the messages
    off the queue and/or the number of messages that are read;
    so that the consumer will see the old and new messages
    and can decide which one to use. This does not address the
    bandwidth issue but allows the consumer to behave smarter.
    - Similar to above, but on the producer side. The producer waits
    for some interval before sending a message, in case an
    updated position of a unit arrives at the producer. This might not
    be good if a consumer needs to know the location of a unit as
    soon as it is available.
    - Use a topic instead of a queue. When using queues, old
    messages (containing old positions) sent to a queue are kept
    until the consumer reads it. With topics, if no consumers are
    around, the message is tossed. However, if you really need old
    messages to lie around (e.g. need to know last position of
    unit), this won't suit your needs.
    Sorry I don't have a straight answer for you, hope this helps
    somewhat.
    -i
    http://wwws.sun.com/software/products/message_queue/index.html

  • Why am I getting unable to purchase message from App Store with free apps

    Why am I getting unable to purchase message from App Store for free apps on my I pad?

    Sign out of your Apple ID, reboot yor iPad and sign in again.
    Settings>iTunes and App Store. Tap your ID and sign out.
    Reboot the iPad by holding down on the sleep and home buttons at the same time for about 10-15 seconds until the Apple Logo appears - ignore the red slider if it appears on the screen - let go of the buttons. Let the iPad start up.
    Go go back to Settings>iTunes & App Store. Sign in. Try to download the free apps again.

  • Remove faces messages from context

    Hi,
    I am using below code to remove messages from context.
    But unable to remove messages.
    Please any one help me how to remove faces messages from context.
    Iterator iterator = FacesContext.getCurrentInstance().getMessages();
    while (iterator.hasNext()) {
            iterator.remove();
    }Thanks,
    sivareddy
    Edited by: sweetreddy2001 on Aug 26, 2009 6:56 PM

    Check the topic right below yours in the topic listing. The same question was asked and answered some hours ago.

  • I cannot update IPhoto or IMovie- Error message from App Store

    Hi there-
    I cannot update IPhoto or IMovie. I have the latest OS. I cannot use these Apps either- they both ask me to update to the newest version, but when I try to I get an error message saying that the App store could not complete my request and to please try again later (null). Any ideas??

    Launch the Console application in any of the following ways:
    ☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
    ☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
    ☞ Open LaunchPad. Click Utilities, then Console in the icon grid.
    Select
    /var/log ▹ appstore.log
    from the hierarchical list on the left. If you don't see that list, select
    View ▹ Show Log List
    from the menu bar. Then select the messages from the last installation or update attempt, starting from the time when you initiated it. If you're not sure when that was, click the Clear Display button in the toolbar of the Console window and then try the installation again.
    Copy the messages to the Clipboard by pressing the key combination command-C. Paste into a reply to this message (command-V).
    If there are runs of repeated messages, post only one example of each. Don’t post many repetitions of the same message.
    When posting a log extract, be selective. Don't post more than is requested.
    Please do not indiscriminately dump thousands of lines from the log into this discussion.
    Important: Some private information, such as your name, may appear in the log. Edit it out by search-and-replace in a text editor before posting.

  • HT204266 how do I remove a user from app store

    The app store will not allow me to update my apps without updating a user that was the previous owner of the laptop. How do I remove this person from the computer etc.

    If you mean an iTunes store id then Settings > Store - touch the id on the right and select sign-out from the popup. You can also do it via the bottom of the Feature tab in the App Store app. If you have any apps on the iPad that were downloaded/installed via that id then you may want to delete them - if updates for them ever appear in the App Store then you will only be able to update them via the id that was used to buy them (apps are linked to the account id, not to the device that they are on)

  • How do I remove my book from iBook store

    I have a time sensitive book in the iBook store and would like to remove it. How do I remove it so that nobody can continue to download it?

    Ever heard  of.. "Dont Shoot The Messenger".....
    A questions was asked - the asnwer was given.
    IF you were not happy with the answer and considered that unlike other you could not understand it... you could have - politely- asked for a clarification.
    Also..  you can contact iBooks support very easily. 
    My Question is
    who is allowing the fictitious answers that mean nothing but a waste of time
    Fictitious - ie not true?  What really wastes time is asking questions without looking on the  forum for  previous posts on the same subject.  Another waste of time is attacking the very  folk who try to help you.
    Nobody allows anything on this forum, it all done voluntarily by dedicated folk who give up their time to help others. KT is perhaps the most knowledgeable on this forum - but without FULL information he cannot be expected to know what's in your mind.
    Your  book and everybody who submits it to the review team for inclusion in the store and is accepted - can NEVER be removed by its author. Apple require its history  for accounting and inventory purposes.
    Any author can withdraw a book from the store wether its free or paid account by using  iTunes connect and navigate to the Rights and territories page and de-selecting either individual countries or all.
    Apple then remove it from public access.
    If you want to know  how to remove anything from your personal purchasing... assuming you mean books downloaded to your iPad... simply delete it and also delete it from your iTunes account. If thats not enough information - then  you  need to find a different forum that one dealing with  iBooks Author related issues.

  • Re: Remove log messages from loop

    CURSOR cur_item_rev_child IS
    SELECT ffv.flex_value, --org code
    mp.organization_id
    FROM fnd_flex_values ffv,
    fnd_flex_value_sets ffvs,
    mtl_parameters mp
    WHERE ffv.flex_value_set_id = ffvs.flex_value_set_id
    AND ffvs.flex_value_set_name = 'EMR Add Spec Org' -- Changed by WIPRO on 01-OCT-12 (SR # 1078990 )--
    AND NVL(ffv.enabled_flag, 'N') = 'Y'
    AND ffv.flex_value = mp.organization_code
    AND mp.master_organization_id = v_num_master_org;
    CURSOR cur_item_rev (i_num_organization_id NUMBER)
    IS
    SELECT /*+ index(xvasd XXINV_VLVS_ADD_SPEC_DETAILS_N1 )*/mirb.inventory_item_id,
    mirb.organization_id,
    MAX(mirb.revision) item_revision,
    msib.segment1, -- Added by Infosys on 19-May-09
    xvasd.spec_revision spec_revision -- Added by Infosys on 19-May-09
    FROM xxinv_vlvs_add_spec_details xvasd,
    xxinv_vlvs_item_add_spec xvias,
    mtl_parameters mp,
    mtl_system_items_b msib,
    mtl_item_revisions_b mirb
    WHERE xvasd.spec_number = xvias.spec_number
    AND xvasd.spec_type = xvias.spec_type
    AND xvias.spec_type = v_chr_spec_type
    AND xvasd.spec_status='ACTIVE'
    AND xvias.inv_item_id = msib.inventory_item_id
    AND mirb.inventory_item_id=msib.inventory_item_id
    AND xvias.organization_id = msib.organization_id
    AND msib.organization_id = mirb.organization_id
    AND mirb.organization_id = mp.organization_id
    AND mp.organization_id = i_num_organization_id
    --AND LPAD (xvasd.spec_revision, 3, 0) LPAD (b.revision, 3, 0)
    GROUP BY mirb.inventory_item_id,
    mirb.organization_id,
    msib.segment1,
    xvasd.spec_revision;
    BEGIN
    o_chr_errbuf := 'Program Completed Successfully';
    o_num_retcode := 0;
    fnd_file.put_line(fnd_file.output,
    fnd_file.put_line(fnd_file.output,
    ' EMR INV Item Revisions Update Program VLVS');
    fnd_file.put_line(fnd_file.output,
    fnd_file.put_line(fnd_file.output, '');
    --Starting the Program
    fnd_file.put_line(fnd_file.LOG,
    fnd_file.put_line(fnd_file.LOG,
    ' EMR INV Item Revisions Update Program VLVS');
    fnd_file.put_line(fnd_file.LOG,
    fnd_file.put_line(fnd_file.LOG, '');
    fnd_file.put_line(fnd_file.LOG, 'Input Parameter');
    fnd_file.put_line(fnd_file.LOG, '---------------');
    fnd_file.put_line(fnd_file.LOG, 'Debug Mode: ' || v_chr_debug_mode);
    fnd_file.put_line(fnd_file.LOG, '');
    fnd_file.put_line(fnd_file.LOG,
    -- Get the value of the spec type from the lookup. If no value is set then display the error message and raise exception
    IF v_chr_spec_type IS NULL
    THEN
    fnd_file.put_line(fnd_file.LOG,
    'Error: Set a value for the profile: XXINV : Additional Spec Type VLVS');
    RAISE excp_user;
    ELSE
    fnd_file.put_line(fnd_file.LOG,
    'Processing for the addition spec item type: ' ||
    v_chr_spec_type);
    END IF;
    -- Select all the eligible records for processing
    FOR rec_cur_item_rev_child IN cur_item_rev_child
    LOOP
    FOR rec_cur_item_rev IN cur_item_rev (rec_cur_item_rev_child.organization_id)
    LOOP
    -- v_chr_spec_rev := NULL;
    -- v_chr_item_number := NULL; Commented by Infosys on 19-May-09
    /* BEGIN --Start of comments by Infosys on 19-May-09
    SELECT segment1
    INTO v_chr_item_number
    FROM mtl_system_items_b
    WHERE inventory_item_id = rec_cur_item_rev.inventory_item_id
    AND organization_id=rec_cur_item_rev.organization_id;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    v_chr_item_number := NULL;
    fnd_file.put_line(fnd_file.LOG,'Item Number not found in MTL_SYSTEM_ITEMS_B Table for the inv item id '
    ||rec_cur_item_rev.inventory_item_id);
    WHEN OTHERS THEN
    v_chr_item_number := NULL;
    RAISE excp_loop;
    END;*/--End of comments by Infosys on 19-May-09
    /*BEGIN --Start of comments by Infosys on 19-May-09
    SELECT MAX(spec_revision)
    INTO v_chr_spec_rev
    FROM xxinv_vlvs_add_spec_details xvasd,
    xxinv_vlvs_item_add_spec xvias
    WHERE xvasd.spec_number = xvias.spec_number
    AND xvasd.spec_type = xvias.spec_type
    AND xvias.spec_type = v_chr_spec_type
    AND xvias.inv_item_id =rec_cur_item_rev.inventory_item_id
    AND organization_id=rec_cur_item_rev.organization_id
    GROUP BY xvias.inv_item_id,
    organization_id,
    xvias.spec_type;
    EXCEPTION
    WHEN NO_DATA_FOUND THEN
    v_chr_spec_rev := NULL;
    fnd_file.put_line(fnd_file.LOG,'Spec Revision not found in Additional Specs Table for the inv item id '
    ||rec_cur_item_rev.inventory_item_id);
    WHEN OTHERS THEN
    v_chr_spec_rev := NULL;
    RAISE excp_loop;
    END;*/--End of comments by Infosys on 19-May-09
    IF LPAD (rec_cur_item_rev.spec_revision, 3, 0) LPAD (rec_cur_item_rev.item_revision, 3, 0)
    THEN
    BEGIN
    v_num_total_cnt := v_num_total_cnt + 1;
    --to take count of the total records processed
    v_chr_error_flag := 'N'; reset the error flag to N before processing each record
    v_num_revision_id := NULL;
    IF v_num_total_cnt = 1
    THEN
    v_chr_output_hdr := 'ORG CODE' ||
    RPAD('|ITEM NUMBER', 51, ' ') ||
    '|ITEM REV' || '|SPEC REV' ||
    '|ERROR REASON';
    END IF;
    -- Check if the revision on the spec is greater that the revision on the item
    IF LPAD (rec_cur_item_rev.spec_revision, 3, 0) > LPAD (rec_cur_item_rev.item_revision, 3, 0)
    THEN
    BEGIN
    SELECT mtl_item_revisions_b_s.NEXTVAL
    INTO v_num_revision_id
    FROM DUAL;
    EXCEPTION
    WHEN OTHERS THEN
    v_chr_temp_msg := 'Error when getting the new revision id from the sequence MTL_ITEM_REVISIONS_B_S: ' ||
    SQLERRM;
    RAISE excp_loop;
    END;
    -- begin block for assigning values and calling API to update the item revisions
    BEGIN
    v_rec_item_revision.inventory_item_id := rec_cur_item_rev.inventory_item_id;
    v_rec_item_revision.organization_id := rec_cur_item_rev_child.organization_id;
    v_rec_item_revision.revision_id := v_num_revision_id;
    v_rec_item_revision.revision := rec_cur_item_rev.spec_revision;--v_chr_spec_rev;
    v_rec_item_revision.revision_label := rec_cur_item_rev.spec_revision;--v_chr_spec_rev;
    v_rec_item_revision.revision_reason := 'Updated the Item Revision';
    v_rec_item_revision.implementation_date := v_dte_sysdate;
    v_rec_item_revision.effectivity_date := v_dte_sysdate;
    v_rec_item_revision.attribute_category := NULL;
    v_rec_item_revision.attribute1 := NULL;
    v_rec_item_revision.attribute2 := NULL;
    v_rec_item_revision.attribute3 := NULL;
    v_rec_item_revision.attribute4 := NULL;
    v_rec_item_revision.attribute5 := NULL;
    v_rec_item_revision.attribute6 := NULL;
    v_rec_item_revision.attribute7 := NULL;
    v_rec_item_revision.attribute8 := NULL;
    v_rec_item_revision.attribute9 := NULL;
    v_rec_item_revision.attribute10 := NULL;
    v_rec_item_revision.attribute11 := NULL;
    v_rec_item_revision.attribute12 := NULL;
    v_rec_item_revision.attribute13 := NULL;
    v_rec_item_revision.attribute14 := NULL;
    v_rec_item_revision.attribute15 := NULL;
    v_rec_item_revision.description := NULL;
    v_rec_item_revision.creation_date := v_dte_sysdate;
    v_rec_item_revision.created_by := v_num_user_id;
    v_rec_item_revision.last_update_date := v_dte_sysdate;
    v_rec_item_revision.last_updated_by := v_num_user_id;
    v_rec_item_revision.last_update_login := v_num_login_id;
    v_rec_item_revision.request_id := v_num_request_id;
    v_rec_item_revision.program_id := v_num_program_id;
    v_rec_item_revision.program_application_id := v_num_prog_appln_id;
    mtl_item_revisions_util.insert_row(p_item_revision_rec => v_rec_item_revision,
    x_rowid => v_chr_ret_rowid);
    v_num_succ_cnt := v_num_succ_cnt + 1;
    COMMIT;
    EXCEPTION
    WHEN OTHERS THEN
    v_chr_temp_msg := 'Error when updating the revisions: ' ||
    SQLERRM;
    RAISE excp_loop;
    END;
    ELSE -- LPAD (cur_item_rev.spec_revision, 3, 0) < LPAD (cur_item_rev.item_revision, 3, 0)
    v_chr_temp_msg := 'Item Revision is greater than the Spec Revision';
    o_num_retcode := 1;
    v_num_err_cnt := v_num_err_cnt + 1;
    ROLLBACK;
    fnd_file.put_line(fnd_file.LOG, '');
    fnd_file.put_line(fnd_file.LOG,
    'Organization Code: ' ||
    rec_cur_item_rev_child.flex_value); -- added on 05-May-09 by infosys --
    fnd_file.put_line(fnd_file.LOG,
    'Item Number: ' ||
    rec_cur_item_rev.segment1);
    fnd_file.put_line(fnd_file.LOG,
    'Item Revision: ' ||
    rec_cur_item_rev.item_revision); -- v_chr_item_revision_child -- -- added on 05-May-09 by infosys --
    fnd_file.put_line(fnd_file.LOG,
    'Spec Revision: ' ||
    rec_cur_item_rev.spec_revision);
    fnd_file.put_line(fnd_file.LOG,
    'Error: ' ||
    v_chr_temp_msg);
    fnd_file.put_line(fnd_file.LOG,
    v_chr_output_msg := v_chr_output_msg ||
    RPAD(rec_cur_item_rev_child.flex_value, -- added on 05-May-09 by infosys --
    8,
    ' ') || '|' ||
    RPAD(rec_cur_item_rev.segment1,
    50,
    ' ') || '|' ||
    RPAD(rec_cur_item_rev.item_revision, v_chr_item_revision_child, added on 05-May-09 by infosys --
    8,
    ' ') || '|' ||
    RPAD(rec_cur_item_rev.spec_revision,
    8,
    ' ') || '|' ||
    v_chr_temp_msg ||
    CHR(10);
    v_chr_mail_body := v_chr_mail_body ||
    RPAD(rec_cur_item_rev_child.flex_value, -- added on 05-May-09 by infosys --
    8,
    ' ') || '|' ||
    RPAD(rec_cur_item_rev.segment1,
    50,
    ' ') || '|' ||
    RPAD(rec_cur_item_rev.item_revision, v_chr_item_revision_child added on 05-May-09 by infosys --
    8,
    ' ') || '|' ||
    RPAD(rec_cur_item_rev.spec_revision,
    8,
    ' ') || '|' ||
    v_chr_temp_msg ||
    -- Display the statistics details in the output file
    fnd_file.put_line(fnd_file.output, '');
    fnd_file.put_line(fnd_file.output,
    'Number of items selected for update: ' ||
    v_num_total_cnt);
    fnd_file.put_line(fnd_file.output,
    'Number of items updated: ' || v_num_succ_cnt);
    fnd_file.put_line(fnd_file.output,
    'Number of items not updated: ' || v_num_err_cnt);
    fnd_file.put_line(fnd_file.output, '');
    fnd_file.put_line(fnd_file.output, v_chr_output_hdr);
    * Print out the output message from CLOB variable "v_chr_output_msg"
    * Substr each line whenever we find the separator CHR(10)
    * Print each line with fnd_file.output function
    BEGIN
    v_num_offset := 1;
    v_num_instr := 0;
    LOOP
    EXIT WHEN v_num_offset > dbms_lob.getlength(v_chr_output_msg);
    -- Get the position of CHR(10) when first time appearence.
    v_num_instr := dbms_lob.instr(v_chr_output_msg,
    CHR(10),
    v_num_offset,
    1);
    v_num_line_length := v_num_instr - v_num_offset + 1;
    -- Substr the each line and print it out
    fnd_file.put_line(fnd_file.output,
    dbms_lob.substr(v_chr_output_msg,
    v_num_line_length - 1,
    v_num_offset));
    v_num_offset := v_num_offset + v_num_line_length;
    END LOOP;
    END;
    END IF; -- LPAD (cur_item_rev.spec_revision, 3, 0) < LPAD (cur_item_rev.item_revision, 3, 0) --
    EXCEPTION
    WHEN OTHERS THEN
    ROLLBACK;
    fnd_file.put_line(fnd_file.LOG,
    'Porcessing next record as a Error occured in cursor loop cur_item_rev : ' ||
    SQLERRM);
    END;
    END IF;
    END LOOP; -- cur_item_rev --
    END LOOP; -- cur_item_rev_child --
    -- calling the mail procedure --
    IF v_num_err_cnt > 0
    THEN
    BEGIN
    fnd_file.put_line(fnd_file.LOG, '');
    fnd_file.put_line(fnd_file.LOG,
    'Calling send_notification Procedure...');
    send_notification(o_chr_ret_code => v_chr_status,
    o_chr_ret_mesg => v_chr_temp_msg,
    i_chr_subject => 'EMR INV Item Revisions Update Program VLVS - ' ||
    v_dte_sysdate,
    i_chr_body => v_chr_mail_body);
    EXCEPTION
    WHEN OTHERS THEN
    v_chr_temp_msg := 'Error when calling Procedure send_notification .';
    fnd_file.put_line(fnd_file.LOG,
    'Error details : ' || v_chr_temp_msg ||
    ' - ' || SQLERRM);
    RAISE excp_user;
    END;
    END IF;
    EXCEPTION
    /*WHEN excp_loop THEN
    ROLLBACK;
    o_chr_errbuf := o_chr_errbuf ||
    'Program completed with error when getting the max revision';
    o_num_retcode := 2;*/
    WHEN excp_user THEN
    ROLLBACK;
    o_chr_errbuf := o_chr_errbuf || 'Program completed with error';
    o_num_retcode := 2;
    WHEN OTHERS THEN
    ROLLBACK;
    fnd_file.put_line(fnd_file.LOG,
    'Error in Item Revisions Update Program: ' ||
    SQLERRM);
    o_chr_errbuf := o_chr_errbuf || 'Program completed with error';
    o_num_retcode := 2;
    END update_item_revision;

    I need to remove the log messages from loop...As currently log file printing is in loop....Can you please tell how to remove log file messages from loop.

  • Dequeue with OCCI does not remove the message from the queue

    Hey there,
    I have this problem where no matter what dequeue option I try the messages never seem to be removed from the queue... I tried looking around and found only a similar un-answered question...
    Thanks in advance...
    void TryAnydataDequeue(oracle::occi::Connection * conn)
         try
              std::cout << "Dequeue Commence..." << std::endl;
              Consumer cons(conn);
              //Settings de dequeue
              cons.setCorrelationId("SPPC");
              cons.setQueueName("Anydata_queue");
              cons.setConsumerName("SNOOP");
              cons.setDequeueMode(cons.DEQ_REMOVE);
              //cons.setDequeueMode(cons.DEQ_LOCKED);
              std::cout << "Reception du message..." << std::endl;
              Message m2 = cons.receive(Message::ANYDATA);
              AnyData any(conn);
              any = m2.getAnyData();
              if(!any.isNull())
                   oracle::occi::TypeCode type = any.getType();
                   if(type == OCCI_TYPECODE_VARCHAR2)
                        std::string msg = any.getAsString();
                        std::cout << "Message Reçu: ";
                        std::cout << msg << std::endl;
                   else
                        std::cout << "Format du message invalide..." << std::endl;
                   std::cout << "Fin du message... (Press a key)" << std::endl;
              else
                   std::cout << "Message invalide..." << std::endl;
              System::String * theInput = System::Console::ReadLine();
         catch(SQLException ex)
              std::cout << "Exception: " << ex.getErrorCode() << " - " << ex.getMessage() << std::endl;
              System::String * tnput = System::Console::ReadLine();
    }

    The message from the queue will be removed when you do a commit after a successful dequeue call, depending upon your message retention settings.
    After you have done this processing and successfully performed a commit, what is the output of the following query:
    SQL> connect AQADMIN/password
    SQL> select msg_state from aq$<your_queue_table_name_goes_here> ;?
    If it is PROCESSED, check your queue retention settings.
    Additionally, make sure that the init.ora parameter AQ_TM_PROCESSES is set to a NON-ZERO value for this to happen.

Maybe you are looking for

  • What is the best way to create a DVD onsite?

    I have a challenge that I hope someone can help me with. I work with a company that shoots video of dance competitions.  The routines are typically 2.5 minutes long and are recorded to tape.  I would like to be able to capture the video, possibly fro

  • How to go to the thrid screen of transaction

    Hi, I m using transaction FB02, from the program i have to go to the third screen by skiping the first two,, is there any syntax for tht. I know how to go directly for second screen the syntax for tht is call transaction 'CU01' and skip first screen.

  • Problems with the Standard Greeting CUE

    Good Day All, I am running Cisco Unity Express version 3.2.2 in a Cisco 2851 router. A user has logged onto her voicemail and was attempting to change  the initial default settings for her Unity Express account. She is using a 7942 phone. I got aroun

  • Booking w/ AA Miles Experience...Disappointing

    Let me start by saying this is partly my fault and I accept that. I should have researched what options one has for using these AA miles before I got the US Airways card. The following is merely a personal experience of mine, not meant to discourage

  • MSI Gaming App Issues

    Hey, i just updated my video card 2 weeks ago. Im using MSI GTX 970, It seems very good at all, but yesterday my MSI gaming app didn't work, try to used silent and gaming mode and there's no difference, my GPU temp stuck at 55-60, any idea why? and h