Delivery/redelivery count

          Hi
          I guess this topic might have been discussed earlier - but I am still trying to
          put it up again.
          We somehow need to know how many times the message is being redelivered/delivered.
          Now I know that there is a optional JMS property which is JMSXDeliveryCount which
          can tell me how many times the message has been delivered. Does weblogic implement
          it?
          If not is there any Weblogic specific way that I can access that - because weblogic
          does use that feature to determine when to write to error queue ie the "Redelivery
          Limit:" feature. So there must be some way to get that. I dont mind using weblogic
          specific apis to get - but I really need that feature.
          Any pointers would be of great help.
          thanks
          Anamitra
          

          Anamitra wrote:
          > Hi tom
          > thanks for the quick reply. I know u cant make promises - but approxmately which
          > release are u talking abt - 9.x?
          Yes.
          > Also that you asked me to contact support - so they can provide me a custom api
          > to get that data with 7.x?
          It is rare to get custom features put into current releases,
          but not completely impossible. I was trying to let you know
          there is such an option.
          > thanks
          > Anamitra
          > Tom Barnes <[email protected]> wrote:
          >
          >>There is no WL specific API to get redelivery count. As usual,
          >>all I can tell you is to contact customer support. Such as a
          >>feature is scheduled for the next release (but it is not
          >>my place to make promises).
          >>
          >>Anamitra wrote:
          >>
          >>
          >>>Hi
          >>>I guess this topic might have been discussed earlier - but I am still
          >>
          >>trying to
          >>
          >>>put it up again.
          >>>We somehow need to know how many times the message is being redelivered/delivered.
          >>>Now I know that there is a optional JMS property which is JMSXDeliveryCount
          >>
          >>which
          >>
          >>>can tell me how many times the message has been delivered. Does weblogic
          >>
          >>implement
          >>
          >>>it?
          >>>If not is there any Weblogic specific way that I can access that -
          >>
          >>because weblogic
          >>
          >>>does use that feature to determine when to write to error queue ie
          >>
          >>the "Redelivery
          >>
          >>>Limit:" feature. So there must be some way to get that. I dont mind
          >>
          >>using weblogic
          >>
          >>>specific apis to get - but I really need that feature.
          >>>Any pointers would be of great help.
          >>>thanks
          >>>Anamitra
          >>
          >
          

Similar Messages

  • How to set maximum redelivery count

    hi,
    Within my JCD I am throwing an exception to roll back a message so that it will be redelivered in case of an error. From the log I can see that the message is redelivered.
    Now, I'm trying to find a way to set the maximum redelivery count within the JCD. Or a better way maybe find out how many times the message has been redelivered, so I can send it to a dead message/error queue when it reaches a certain number.
    Is this possible? Has anyone done similar thing?
    thanks
    Ari

    For JCAPS 5.1.1 see
    <CAPSInstallRoot>/lofgicalhost/extra/JMSJCA-readme.html, section named
    Redelivery Handling (deadletter queue).
    Thanks Frederic :-)

  • Re: Constant Message Redelivery Problem

    You can get redelivery for other reasons as well. Redelivery occurs if the message is
              participating in a transaction, and the transaction fails for any reason.
              For example, if the MDB in turn calls an EJB which in
              turn calls JDBC then the tx becomes two-phase. If the JDBC call fails then the tx
              will roll back. Or if the tx times-out: the default tx timeout is 30 seconds, so if
              the MDB takes longer than 30 seconds then the tx will roll-back and message the will
              get redelivered.
              Even if the tx succeeds, in some cases you may have error states that re-enqueue the
              received message but let the transaction commit (WLI, BEA's integration product, can do
              this).
              This looks like the redelivery of a failed message, but is actually the delivery of a new
              version.
              Duplicates occur if a Queue MDB's descriptor actually points at a topic destination.
              Check for this one by comparing the JNDI name in config.xml against the
              descriptor destination type field...
              Tom
              sunshine wrote:
              > I encountered the same problem of repeat message delivery. In our situation, we are
              > using JMS JDBC Store and when the database goes down and comes back up, the MDB starts
              > processing messages but the messages keep recycling in the JMS Store.
              >
              > The MDB code tried catching all possible exceptions like RuntimeException and Exception.
              > None of these exceptions are logged. When we re-start the WL managed servers, those
              > messages in the JMS Store were flushed off.
              >
              > Any idea what caused the repeat message redelivery?? Thanks.
              >
              > Tom Barnes <[email protected]> wrote:
              > >Your MDB may be throwing a RuntimeException, which forces message
              > >redelivery. Put a try/catch/Throwable in the outermost scope of your
              > >onMessage() code to see if this is case.
              > >
              > >Note that in 6.1 and up you can configure redelivery delays, max redelivery
              > >counts and error destinations to alleviate this problem...
              > >
              > >Tom
              > >
              > >Toad wrote:
              > >
              > >> I have a message-driven bean listening on a message queue and everything
              > >> appears to work the first time the message is sent. The message is processed
              > >> and the OnMessage method returns without incident. There are no errors
              > >and
              > >> no exceptions are thrown by the JMS client or in the MDB itself. PROBLEM:
              > >> Message continually redelivered pegging the CPU at 100%. Inspection of
              > >the
              > >> JMSSTORE and JMSSTATE reveals messages still queued. Any ideas?
              > >
              

    And make sure that your MDB is not throwing Errors or RuntimeExceptions,
              as these don't necessarily get logged, but they cause rollbacks.
              Put a "try {} catch (RuntimeException re)
              { log; throw re; } catch (Error er) { log; throw er; }"
              around all the code within the MDB's "onMessage()" callback
              to see if this is happening.
              Manikyala Peddi wrote:
              > Hi,
              >
              > I have a MDB which is calling an EJB. The redelivery override period was set at 60 sec.
              >
              > Before completing the first message the same message is redelivered.The processing time in onMessage in MDB takes more than the Redelivery Override Period. Is there a way to prevent the delivery of the duplicate message before completing the first message.Iam using Weblogic 7.1
              >
              > Thanks
              >
              > Manikyala
              

  • Setting up re-delivery attempts in Foreign JMS Configuration !!!

    Hi All
    Could anyone please let know if it's possible to set number of re-delivery attempts for a JMS message in case of foreign JMS server configuration.
    I am using weblogic 8.1 SP6. If it is possible, the please let me know how to set it up.
    Thanks in advance.

    Redelivery limits in WebLogic are implemented within WebLogic JMS - not in the MDB container.
    If the foreign destination happens to be WebLogic JMS, then you can set a redelivery limit by configuring it on the MDB's source destination.
    If the foreign destination is not WebLogic JMS, then I can think of three options:
    -- Check with the foreign vendor to see if they have a redelivery limit feature.
    -- Consider changing the producer application to set expiration times on the messages (whether this is a useful approach for you depends on your application).
    -- Custom code your MDB application to take a different action once it detects a high redelivery count, or perhaps even code a separate application that only dequeues messages that have a high delivery count. Some JMS vendors (such as WebLogic JMS 9.0 and later), include a "JMSXDeliveryCount" property in each message that simplifies such coding.
    Hope this helps!
    Tom Barnes
    WebLogic JMS Developer Team

  • JMS (bea 9) redelivery does not work ?

    I'm a bit at a loss. Any help is therefore welcome.
    I am using Bea 9 and Java 1.5.
    I have a MDB bean that attempts to transmit data to a foreign site via ftp. When it fails to transmit files, it errors and the message's content (a file) that I attempted to send to remote system is rollbacked. I have set the redelivery count to -1 and the redelivery delay to 1 minute. After a minute, the message is replayed and this as long as the bean is unable to transfer the file. This is what I wanted to do. And all is fine.
    But...
    If I stop the server while messages are waiting to be redelivered and then launch again the server just after, then the server only replays 2 or 3 messages (or 2 or 3 times the same message) and then stop replaying messages which should be redelivered every minute. New messages sent to the bean are also not presented to the bean. Everything seems frozen as far as this bean is concerned..
    But, if I look at the console and display the monitoring info of this MDB after a restart, I read :
    Beans In Use Count 0
    Waiter Current Count 0     
    Timeout Total Count     0
    Access Total Count     2
    Destroyed Total Count     2
    Connection Status Connected     
    Destination FtpQueue
    JMS Client ID
    Status running
    Last Exception      java.lang.Error: com.mycompany.FtpException: Could not connect to server ftpsrv2
    It is "running"...
    Any ideas ?
    Thanks in advance for any tips.
    P.Z.

    Hi,
    Redelivery delays themselves are not persisted - messages that are subject to a redelivery delay should be immediately redelivered if their host JMS server is shutdown and restarted.
    MDBs that are causing rollbacks/recovers have a built in pause/retry algorithm that causes them to automatically shutdown after a certain number of failures and then restart after an interval. The purpose is to prevent failing MDBs from running in a tight loop. The MDB edocs provide a bit more detail.
    If this doesn't help, I have some questions that might help narrow down the problem:
    -- Are the messages persistent?
    -- Is the JMS server running on the same server as the MDB? If not, which server are you stopping?
    -- How are you stopping the server?
    -- What do the pending and current counts look like on the destination?
    -- Are you using the "unit-of-order" feature?
    Tom Barnes
    WebLogic Messaging Developer Team

  • Iphone 5 delivery time

    I ordered my iphone three days after it was released. I chose for it to be delivered to my house and I have just looked at the shipping dates and it says it will deliver on the 2nd October is that normal should it not be delivered sooner?

    If you ordered 3 days after pre-orders were being taken and you have a 10/2 delivery date, count yourself as lucky.  I ordered 3 hours after pre-orders were open and my delivery date is 10/5.  Apple has now sold 10,000,000 phones in 7 days.  They can only make them so fast.  So, your delivery date is actually quite fantastic in reality.

  • JMS timeout and redelivery

    I have two simple questions:
    1. Let's suppose a situation when a table lock is present in our database and the MDB regularly runs into this lock every time when the onMessage method is called. It always reserves a new MDB because the MDB created by the previous call is not capable to move back to the pool becaus of the lock. It means if there is no more free bean in the pool a new bean will be created. Hence a simple database lock can cause application server to run out of system resources.
    Is there any way to catch the timeout or how can I avoid this situation?
    2. If consumption of the message fails the message is redelivered successively but the reason of the failure is still present. I wouldn't like to lose these failed messages. Do I have to move these to another queue or is there any standard scenario for this kind of situation? Can I delay the redelivery?
    Thanks in advance

    To the second question, it is dependant of your JMS providers. It may include these configuration parameters to fine-tune redelivery:
    * Redelivery count: The number of times to redeliver a message. Redelivery count is important because poison messages, messages the application can never successfully process, can eventually crash the system.
    * Exception destination: What happens to a message that is redelivered redelivery-count times? The JMS provider can do any of the following:
    o Log the message
    o Forward the message to an exception or error destination
    o Lose the message
    * Time to redeliver: An application that has just rolled back messages might not be ready to reprocess the same messages. This parameter specifies the time to wait before redelivering the message. This delay lets the JMS provider and the application recover to a stable state.
    I know that in weblogic, you can specify this parameters when you specify your JMS settings.
    Actually I work with BES 5.2.1, and I can not specify this settings. It will be a new feature of BES 6.

  • Valid JMS Message status

    Hello All,
    I have two WLS domains. One WLS 10.3.X, another is WLS 8.1.X
    Each domain have one queue each (e.g. 10.3.X => Q1 & 8.1.X => Q2) and the 10.3.X domain have been configured with a MessageBridge to deliver the messages from Q1 to Q2
    Each domain have ConnectionFactories XA enabled and the Bridge adapter is also set to "eis.jms.WLSConnectionFactoryJNDIXA"
    Now the Bridge is showing active, but if we put a test message in Q1, it is taking long to be delivered to Q2. There is no error in the logs (Debug Flgs have also been enabled).
    Sometimes it is also not being delivered at all.
    During this, the status of the message in the Q1 is showing "receive transaction".
    So can anyone tell me :
    1> what are the valid status of any message in wls jms queues and what are the meaning of them.
    2> what is the lifecycle of a message.
    Thanks in advance

    http://docs.oracle.com/cd/E24329_01/apirefs.1211/e24391/weblogic/jms/extensions/JMSMessageInfo.html#JMSMessageInfo(long,%20int,%20java.lang.String,%20long,%20java.lang.String,%20weblogic.jms.extensions.WLMessage,%20java.lang.String,%20boolean)
    "visible - The message is visible on the destination and may be consumed.
    send - The message is pending because it is associated with an in progress send operation.
    receive - The message is pending because it has been received by a consumer but not yet acknowledged.
    transaction - The message is associated with a transactional “send” or “receive” operation that is in progress.
    ordered - The message belongs to a Unit-of-Order (UOO).
    delayed - The message is pending because it has a scheduled delivery time or is otherwise delayed.
    expired - The message has expired and is no longer available for consumption.
    redelivery-count-exceeded - The message has exceeded the redelivery count set for the destination and is no longer available for consumption.
    paused - The message is pending because of a destination pause operation .
    sequenced - The message that is part of a SAF sequence.
    unit-of-work-component - The message is part of an Unit-of-Work (UOW).
    deleted - The message is marked for deletion."
    You can enable message life cycle logging
    - http://docs.oracle.com/cd/E24329_01/web.1211/e24385/troubleshoot.htm#i1128815
    "The message life cycle is an external view of the events that a JMS message traverses through once it has been accepted by the JMS server, either through the JMS APIs or the JMS Message Management APIs. Message life cycle logging provides an administrator with easy access to information about the existence and status of JMS messages from the JMS server viewpoint. In particular, each message log contains information about basic life cycle events such as message production, consumption, and removal."
    There is also a WLST script provided here (Re: Example using of getMessage(s) with JMS error queues? for browsing messages on a given destination.

  • Dead message queue - DLQ for foreign JMS providers

    Is there a way to configure Error-queue or 'Dead message/letter queue' in MDB listening to foreign JMS provider like JBoss? (Automatic routing of failed messages to error-queue after specified retries to preserve JMS messages)
              I did all the docs from BEA and it doesn't cover this DLQ for foreign JMS providers :). For Weblogic JMS service, DLQ can be configured in the config.xml. But for <ForeignJMSServer> there is no way to configure dead-queue.
              Could some please validate this before I start coding this piece in the application instead of appserver configuration.
              JMS provider is Tibco and JMS destinations are pre-defined and can't/doesn't need to be created
              Thanks in advance.

    Interesting idea! But no, there's no facility for redirecting failed foreign provider messages to a DLQ. This is a feature normally supplied by the foreign provider itself.
              Some foreign providers, in addition to WebLogic 9.0 JMS, provide a "redelivery count" property in the message. If the foreign provider provides no automatic DLQ capability, you might be able to leverage this property to have your MDB application code automatically forward messages with high redelivery counts to the DLQ.
              Tom

  • Transaction Timeout behaviour

    I am doing some testing to reproduce a production scenario where we ended up with messages stuck in JMS queue in receive state ( weblogic 10.3.3)...
    The flow is as below:
    JMS Queue --> Transactional MDB with resource reference
    The MDB makes a callout to http service . No read time out configured for the http invocation
    Transaction Timeout : 10 minutes for the MDB
    I put a Thread.sleep in the target http service for 11 minutes
    Tested by placing a message in the queue. MDB picked the message and made http call. Message substate was receive-transaction. Queue had redelivery delay of 55 seconds and redelivery limit of -1.
    I would like to know what is the designed behaviour in this scenario when transaction timeout occurs at 10 minutes. ?
    The behaviour I observed,
    From JTA Monitoring ,At 602nd second, transaction was marked for rolled back, though the MDB code was executing [ I think this is the correct behaviuor]
    Message substate was receieve-transaction till end of 660th second, when it got redelivered. Redelivery count increased by 1. I was expecting message substate to change to delayed, but it didn't,. New substate after 660th second was also receive transaction. In JTA monitoring I could also see a new transaction spawning up.
    The whole purpose of my experiment was to reproduce the scenrio we are observing messages in 'receive' state when http service goes out. Any suggestion how i can get this, all I could get is receive transaction.
    Thanks In Advance.

    So if the delay is set to 11 minutes, but the message is trapped in a receive transaction that times out after 10 minutes, there will only be a 1 minute redelivery delay... Thanks Tom. This is eaxctly the behaviour I am observing. And if redelivery delay is less than transaction timeout period, message is redelivered instantaneously when the transaction timeout occurs.
    It seems you're looking into the final details of the "redelivery delay" feature's behavior? I am looking at how to trap the message in receive state. We are seeing messages stuck in receive state in production when http service goes out and it occurs randomly. My guess is since we have not configured http read time out, the socket timeout occurs at a time beyond transaction timeout and some of the complex underlying behaviours at transaction timeout event is the reason for this [ could even be a bug when dealing with this abnormal condition].
    A solution for this is to set out the http read time out less than transaction timeout. We have done this in prod now and since we cant reproduce the issue , we dont know whether it fixes the problem. We are now waiting to see if the issue reoccurs . The customer doesn't like this and wants us to reproduce the issue for confirmation.
    I am looking at the message substate transitions. I know for transactional weblogic MDB's and non UOO messages, the state transition will be :
    Visible --> receive --> receive transaction --> transaction committed or rolled back
    In this transition , it is possible for messge in receive transaction to revert back to receive status ?
    P.S. we have spent huge amount of time and effort with Oracle support with no real solutions. They want us to tell them the method to reproduce the issue.

  • JMS bridge and MQSeries. looking for statistics

              Hi !
              I have to use Weblogic 7 SP4 in cluster with a distant MQSeries queue manager.
              I know I can't have a "exactly once" quality of service. I use a MDB (deplyed
              on each instance of the server).
              I'm looking for statistics about how often a message can be treated 2 (or more)
              times.
              Thanks a lot for any help !
              Florent
              

    Hi Florent,
              Since these are MQ messages, it might be possible to find
              such statistics in MQ. Also, I think that MQ stores a
              redelivery count in their messages - so you can likely
              instrument your application code to get at the count.
              Note that 7.0 actually does support exactly once with WL MDBs driven
              by MQ. If you use transactions you can infer some stats on redeliveries
              by checking the relevant transaction statistics for rollback counts.
              I'm attaching some notes on JMS integration for your
              convenience.
              Tom
              florent wrote:
              > Hi !
              >
              > I have to use Weblogic 7 SP4 in cluster with a distant MQSeries queue manager.
              > I know I can't have a "exactly once" quality of service. I use a MDB (deplyed
              > on each instance of the server).
              >
              > I'm looking for statistics about how often a message can be treated 2 (or more)
              > times.
              >
              > Thanks a lot for any help !
              >
              > Florent
              JMS Integration of Foreign Vendors with BEA WebLogic Server
              The following notes are derived mostly from "http://dev2dev.bea.com/technologies/jms/index.jsp".
              For additional questions, a good forum for WebLogic questions in general is "newsgroups.bea.com". These can be mined for information by using Google's newsgroup search function.
              JMS Integration Overview
              - For integration with "non-Java" and/or "non-JMS" platforms, see "Non-Java Integration Options" below.
              - For a foreign JMS vendor to participate in a WL transaction it must support XA. Specifically, it must support the javax.jms.XA* interfaces.
              - In WL versions 6.0 and up it is possible to make synchronous calls to foreign JMS vendors participate in a WL transaction as long as the foreign vendor supports XA.
              - WL 6.0 and 6.1 MDBs can be driven by foreign vendors non-transactionally. They can be driven transactionally by a select few foreign vendors (MQ is not part of the select few)
              - WL 7.0 and later, MDBs can be driven by foreign vendors transactionally and non-transationally.
              - WL 6.1 and later WL provides a messaging bridge feature. Messaging bridges forward messages between any two JMS destinations, including foreign destinations, and can transfer messages transactionally or non-transactionally.
              - WL 8.1 JMS provides additional features that simplify transactional and JNDI integration of foreign vendors. See http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
              Integration with 8.1 Details
              A good overview of 8.1 JMS interop capability is the presentation "Integrating Foreign JMS Providers with BEA WebLogic Server" here:
              http://www.bea.com/content/files/eworld/presentations/Wed_03_05_03/Application_Servers/1097-Foreign_JMS_Providers_WLS.pdf
              This document refers to helpful new 8.1 features, which simplify integration. These include:
              http://edocs.bea.com/wls/docs81/ConsoleHelp/jms_config.html#accessing_foreign_providers
              http://edocs.bea.com/wls/docs81/jms/j2ee_components.html#1033768
              And are also summarized here (under interoperability):
              http://edocs.bea.com/wls/docs81/jms/intro.html#jms_features
              Also read the extensive MDB documentation, which extensively covers integrating foreign vendors:
              http://edocs.bea.com/wls/docs81/ejb/message_beans.html
              The 8.1 features are likely sufficient for most 8.1 integration needs, and you may not need to refer "Using Foreign JMS Providers With WLS" white-paper mentioned below.
              Integration with 6.1 and 7.0 Details
              Read the "Using Foreign JMS Providers With WLS" white-paper:
              http://dev2dev.bea.com/products/wlserver/whitepapers/jmsproviders.jsp
              Note that this white-paper does not take into account 8.1 features.
              For 7.0 read the extensive 8.1 MDB documentation, which largely also applies to 7.0:
              http://edocs.bea.com/wls/docs81/ejb/message_beans.html
              Non-Java Integration Options
              - WL JMS has a JNI based C client which is available for Windows and some UNIX platforms. This C client supports 7.0 and up, and will be officially packaged with WLS in 9.0 (virtually unchanged). The C API is currently only supported through the jms newsgroup. See "JMS C API", here:
              http://dev2dev.bea.com/technologies/jms/index.jsp
              - WL supports direct Windows COM access through its "JCOM" feature. This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
              http://e-docs.bea.com/wls/docs61/jcom.html
              http://e-docs.bea.com/wls/docs70/jcom/
              http://e-docs.bea.com/wls/docs81/jcom/
              - Similar to JCOM, but more advanced, WL supports IIOP standard based access on multiple platforms. You can use the BEA Tuxedo C client for this purpose (no license fee). This doesn't include the JMS API, but one can invoke EJBs which in turn invoke JMS. See
              http://e-docs.bea.com/wls/docs81/rmi_iiop/
              http://e-docs.bea.com/wls/docs70/rmi_iiop/
              http://e-docs.bea.com/wls/docs61/rmi_iiop/
              Unlike most other approaches, the IIOP client approach also allows the client to begin and commit user (JTA) transactions (not configured).
              - If you already have a BEA Tuxedo license, one option is communicate through BEA Tuxedo (which has various APIs on Windows) and configure a WebLogic Server to respond to these requests via the WTC bridge. Search for "WTC" in the BEA docs. Unlike most other approaches, the Tuxedo API approach also allows the client to begin and commit user (JTA) transactions.
              - Another approach is to interop via web-service standards. Or even to simply to invoke a servlet on the WL server using a basic HTTP call from Windows. These in turn can invoke the JMS API. There is a white-paper on "Interoperability Study of BEA WebLogic Workshop 8.1 and Microsoft .NET 1.1 Web Services", that demonstrates web-services here:
              http://ftpna2.bea.com/pub/downloads/WebLogic-DotNet-Interop.pdf
              - Yet another approach is to use a third party product that is designed to wrap any JMS vendor. There are even open source versions. In no particular order, here are some examples: Open3 WinJMS, CodeMesh, Active JMS, SpiritSoft
              - Finally, there are .NET/C/C++ integration libraries that not specific to JMS, some examples are JNBridge, Jace, and CodeMesh.
              Notes on MQ Remote Capable XA Clients
              Until recently, IBM MQ JMS clients could not work transactionally unless they were running on the same host as their MQ server. This is a limitation unique to MQ that was relaxed with the introduction of IBM's new "WebSphere MQ Extended Transactional Client". See:
              http://publibfp.boulder.ibm.com/epubs/pdf/csqzar00.pdf
              The product is new, and for some reason, configuration of this client seems to be tricky, even when WebLogic is not involved at all. Oddly, the main sticking point seems to be simply making sure that class paths refer to the required IBM jars:
              - Required on WLS where MQ objects are bound into JNDI:
              com.ibm.mq.jar, com.ibm.mqjms.jar
              - Required only if MQ objects are bound into JNDI on a different server:
              com.ibm.mq.jar
              If there are problems when using this client, first get it to work using a pure IBM client without any BEA classes involved. Once that is working, search the WL JMS newsgroup for answers and/or contact BEA customer support.
              Notes on Oracle AQ Integration
              If problems are encountered integrating Oracle's built-in queuing (Oracle AQ) JMS client, there is publicly available wrapper code that can aid integrating AQ directly into MDBs, JMS, or the messaging bridge. The solution is titled "Startup class to bind AQ/Referenceable objects to WLS JNDI", is not supported by BEA, and is posted to:
              http://dev2dev.bea.com/codelibrary/code/startupclass.jsp
              Caveats:
              The solution doesn't directly support concurrent consumers. Perhaps Oracle requires that concurrent consumers each have a unique JMS connection? As a work-around, parallel message processing can be achieved indirectly by forwarding AQ messages into a WL JMS destination - which do support concurrent processing.
              Up-to-date versions of Oracle may be required. For more information, google search the weblogic.developer.interest.jms newsgroup for "Oracle" and "AQ".
              The solution doesn't seem to support transactions, it may be possible to extend it to do so.
              MDB Thread Pool Notes
              WL7.0SP? and WL8.1 and later support the "dispatch-policy" field to specify which thread pool an MDB uses to run its instances. In most cases this field should be configured to help address potential performance issues and/or dead-locks:
              http://edocs.bea.com/wls/docs81/ejb/DDreference-ejb-jar.html#dispatch-policy
              (Note that "dispatch-policy" is ignored for non-transactional foreign vendors; in this case, the MDB "onMessage" callback runs in the foreign vendor's thread.)
              MDB Concurrency Notes
              Queue MDBs driven by foreign providers can run multiple instances concurrently. Topic MDBs driven by foreign providers are limited to one instance (not sure, but transactional foreign driven topic MDBs may not have this limitation). The size of the thread pool that the MDB runs in and the "max-beans-in-free-pool" descriptor limit how many instances run concurrently.
              Design Guide-Lines and Performance Tuning Notes
              The "WebLogic JMS Performance Guide" white-paper contains detailed design, performance, and tuning information for Clustering, Messaging Bridge, JMS, and MDBs.
              http://dev2dev.bea.com/products/wlserver/whitepapers/WL_JMS_Perform_GD.jsp
              

  • How to increment the delivery Count using Xquery

    How to increment the delivery Count in the JMS using the Xquery Expression editor?
    or is it possible to increment it manaully ?
    If so please let me know how to do the required..
    Thank you!

    There is a JMS header JMSXDeliveryCount for redelivery purposes. However, I think this header is read only and you should leave it up to JMS provider (WebLogic) to handle it. WebLogic will increase the value on its own every time the message failed to be delivered.
    set the JMSXDeliveryCount in onMessage in a MDB
    You can also take a look at WebLogic JMS documentation.
    http://download.oracle.com/docs/cd/E12840_01/wls/docs103/jms/fund.html#wp1024070

  • Order of delivery schedule line counter at schedule agreements from MRP run

    Currently we are using schedule agreements for our long term external suppliers, but we are facing a problem with the order of new delivery schedule lines created during MRP run.
    Because of master data settings like, lot size, rounding value, plan delivery time and planning time fence to set as firm new requirements, multiple schedule lines are created with no order for schedule line counter.
    Does anyone is aware of a BADI, user exit or customizing control to have this schedule line counter in order?
    Thank you
    Daniel Guillen
    IT
    Skyworks Inc.

    Hi,
    Pls put this query in SD fourms  and get immly help because this is technical fourms.
    Anil

  • Link between Delivery schedule line counter from PO and the material docume

    Dear Gurus,
    I have one PO with single line item having delivery schedule -
    Material 1 -
    delivery schedule 01.01.2009     2000
                                                         01.03.2009    5000
    I have received quantity against this Po
    I want to know where I can find the link between Delivery schedule line counter from PO and the material document
    Best regards
    Sar

    There is no link from the MAterial document line item (Table Mseg) to the PO Schedule Line (EKET).
    If this is for Evaluating an on time delivery or GR, you may consider the following approach.
    PO details Po Date  QTY
    Sch1   01Jun2009   200   
    SCH2  08Jun2009   100
    GR Details
    GR1   01Jun2009   180
    GR2   07Jun2009   110
    GR3  09Jun2009      10
    Calculate a *** total qty for the PO Line.
    PO details Po Date  CUMUL QTY
    Sch1   01Jun2009   200   
    SCH2  08Jun2009   300
    Calculate a *** total qty for the ontime GR.
    PO details Po Date  CUMUL PO QTY  CUMUL GR on time
    Sch1   01Jun2009   200                180
    SCH2  08Jun2009   300                 290 (180+110)  the 3rd GR was too late
    Evaluate the PO SChedule Lines as follows:
    Po SCL qty + CUMUL GR QTY - CUMUL PO QTY = ADJ GR ON Time Qty
    SCH1 01Jun2009
    200 + 180 - 200 = 180 on time for 01Jun2009 date ( 90% fill rate)
    SCH2 08Jun2009
    100 + 290 - 300 = 90 on time for 08Jun2009 date (90 % fill rate) the first 20 of the GR on 07Jun2009 went to fill the late, early date.
    Best of luck !
    SCH2 100 +290 - 300 = 90 on time for 07Jun2009 date

  • Smartform for output type CHKL (count list ) as Inbound Delivery(E1)

    At this moment, I know the Sapscript form RT_CHECK_LIST & program RTCHECKL for count list (output type CHKL) as inbound delivery (E1), but I need  the PROGRAM and SMARTFORM for this output?!
    Thanks in advanced

    I don't think we have a similar print program and smartform available, if you want to use it in Smartfrom.. copy SAPscript and migrate to smartform using SF_migrate and copy the print program of SAPscript and make necessary changes.
    Regards,
    SaiRam

Maybe you are looking for