Unit of Order Exception

Hi,
I have distributed Queue(Q1) which sends message to another distributed Queue(Q2).Before sending messages to Q2,I set unitofOrder property to my wlMessageProducer and send the message.
Everthing works in a single managed server.But when It is deployed in a clustered Env, and when we send in messages 1) all the messages are only processed by ManagesServer1's Q1
2) If any messages made in to managedServer2' Q1,all those message fail to write to Q2 on either of the server;they fail with the following exception :
*"weblogic.jms.extensions.JMSOrderException: hashed member of jms!Queue2 is jms!JMSServer001@Queue2 which is not available"*
I checked both the managed servers and they are running.
These are the steps I followed while configuring the UOO on my distribyuted Queue :
Created a distributed Queue1,left the default values on it.
While sending the messages to the Queue2,I used WlMessageProducer to send messages and I did set the property called setUnitofOrder(passed a String).
On the connection Factory setting unchecked the Server Affinity Enabled.(for load balancing)
Is their any additional setting I need to make or which I might be missing.
Thanks

Hi Richard,
          Could you supply more details about how UOO is leveraged by the application? Specifically:
          As you know, UOO is specifically designed to enforce ordering within a semantically related group of messages -- so how is it possible for your application's producers to arbitrarily change the UOO within a message stream without breaking a semantic grouping?
          Tom

Similar Messages

  • JMS Uniform Distribute Queue Unit Of Order, problem when one node goes down

    Hi ,
    I have the following code which post a message (with Unit of Order set ) to a Uniform Distribute Queue in a cluster with two member servers (server1 and server2).
    --UDQ is targeted to a subdeployment that is mapped to two JMS servers pointing to each member servers
    --Connection Factory is using default targeting ( i tried mapping to Sub deployment also)
    javax.naming.InitialContext serverContext = new javax.naming.InitialContext();
    javax.jms.QueueConnectionFactory qConnFactory = (javax.jms.QueueConnectionFactory)serverContext.lookup(jmsQConnFactoryName);
    javax.jms.QueueConnection qConn = (javax.jms.QueueConnection)qConnFactory.createConnection();
    javax.jms.QueueSession qSession = qConn.createQueueSession(false, Session.AUTO_ACKNOWLEDGE);
    javax.jms.Queue q = ( javax.jms.Queue)serverContext.lookup(jmsQName);
    weblogic.jms.extensions.WLMessageProducer qSender = (weblogic.jms.extensions.WLMessageProducer) qSession.createProducer(q);
    qSender.setUnitOfOrder("MyUnitOfOrder");
    javax.jms.ObjectMessage message = qSession.createObjectMessage();
    HashMap<String, Object> map = new HashMap<String, Object>();
    map.put("something", "SomeObject");
    message.setObject(map);
    qSender.send(message);
    } catch (Exception e) {           
    Steps followed:
    1. Post a message from "server1"
    2. Message picked up by "server2"
    3. Everything fine
    4. Shutdown "server2"
    5. Post a message from "server1"
    6. ERROR: "hashed member of MyAppJMSModule!MyDistributedQ is MyAppJMSModule!MyJMSServer-2@MyDistributedQ which is not available"
    WebLogic version : 10.3.5
    Is there a way (other than configuring Path Service ) to make this code work "with unit of order" for a UDQ even if some member servers go down ?
    Thanks very much for your time.

    If you want to avoid use of the Path Service, then the alternative is to make the destination members highly available. This will help ensure that the host member for a particular UOO is up.
    One approach to HA is to configure "service migration". For more information see the Automatic Service Migration white-paper at
    http://www.oracle.com/technology/products/weblogic/pdf/weblogic-automatic-service-migration-whitepaper.pdf
    In addition, I recommend referencing Best Practices for JMS Beginners and Advanced Users
    http://docs.oracle.com/cd/E17904_01/web.1111/e13738/best_practice.htm#JMSAD455 to help with WL configuration in general.
    Hope this helps,
    Tom

  • Using weblogic unit-of-order (UOO) in osb proxy service

    Hi,
    I have a JMS Queue deployed to Weblogic server. The messages inside the queue are grouped using the JMS_BEA_Unit-of-order (UOO) Weblogic feature.
    Now i have a OSB 10g Proxy Service which reads messages from this Queue. The problem is, on recieving a message, acknowledgement is send immediately, thus removing the message from the Queue and next message with same Unit-Of-Order is ready for processing.
    But the business scenario needs the first message to be read, processed and then decide to acknowledge or not. The second message should not be read unless the previous message is processed successfully.
    Can anyone help with this scenario?
    Thanks,
    Alex
    Edited by: user9024636 on Feb 11, 2010 2:57 AM

    Hi Steve,
    I don't know what you need UOO for, but, for some use cases, its sufficient just to configure a default UOO on the sender's connection factory.
    Propapagation of a UOO from one desitnation to another is not automatic (except via SAF, or unless OSB somehow does it for you). Plain vanilla JMS apps do this by calling msg.getStringProperty("JMS_BEA_UnitOfOrder") on the received message and setUnitOfOrder() on the javax.jms.WLProducer.
    You might find that there's more OSB expertise on an OSB newsgroup (I think it's one of the newsgroups under [url http://forums.oracle.com/forums/category.jspa?categoryID=194]SOA & Process Management).
    Regards,
    Tom

  • Weblogic Unit Of Order on Javax.JMS

    Hi I want to use Weblogic Unit of Order on Javax.jms and not on Weblogic.jms, does anyone know how to do that.

    You need to use WLS JMS extension interface to programmatically set a Unit-of-order. In order for applications that use pure javax.jms interfaces to take the advantage of Unit-of-order feature, WLS allows administrators to enable unit-of-order via configuration. Once you enable Unit-of-order on a connection factory, all messages sent from one session will belong to the same unit-of-order either with a system-generated name or a user-generated name. In addition, you could enable unit-of-order on a per destination basis as well.
    For details, please refer to http://docs.oracle.com/cd/E17904_01/web.1111/e13727/uoo.htm#i1040257.

  • Requistion and Purchase Order - base unit and order unit

    People,
    I have a basic doubt in MM:
    I have a Requisition with a item using the base unit, for instance 20 litres.
    When I create a Purchase Order in ME21N passing the requisition and item number, I must be converted to the order unit, correct?
    In this case, we have 1 UN (order unit) corresponds to 20Liters (base unit).
    I did believe the Purchase would be converted to 1 UN, but I got 20 Liters.
    What is correct?
    Thanks a lot!

    If you maintian the order unit in the mateiral master purchaisng screen than whenever you create the PO system will convenrt in to that order unit and in the Po item details you will see the conversion of base unit to order unit.
    now suppose you have more than one order unit than you activate the Variable order unit in the material master and maintiqan the conversion of that and create the diff info record for diff order unit based on the vendor so whne oyu create the PO as per the vendor system will pull the order unit in the PO.
    Hope this will give you clear picture.

  • Unit-of-order questions

    Hi,
    suppose that there are 2 messages in jms queue with unit-of-order configurated (createCustomer and modifyCustomer), what happened if the process that works the first message crashes? The second message remain in the queue or is removed from queue?
    Thk
    Leo

    In this example i would assume you would have set UOO to customer ID. Weblogic JMS ensures all messages with the same UOO are delivered to the client in the same order in which it is published. It would be upto the jms client to handle for situations like system crash ( e.g. by using transacted MDB ). From weblogic JMS perspective it will deliver the 2nd message with the same UOO to the client only if it is assured that the first message was delivered successfully to the client.
    E.g. when using transactional delivery, the transaction has to commit, when using client acknowledgement mode, the ack has to be received from the client and so on.

  • ME22N Show Numerator for Conversion of Order Price Unit into Order Unit

    I hide Price in Me22n, when we do this, system hide the "Numerator for Conversion of Order Price Unit into Order Unit",  but i want show this field on screen.
    This field is : in Me22n -> view "Quantites/Weights "->"Order Unit <-> Ord. Price Unit".
    How  do i  for this?

    Hi Paul,
    The field for Denominator for Conv. of Order Price Unit into Order Unit is MEPO1311-BPUMN and for Numerator it is MEPO1311-BPUMZ. Try hiding only the Denominator field using Loop at Screen. <CODE> ENDLOOP and see.
    Hope that it helps. Reward if useful.
    Thanks and Regards,
    Maddineni Bharath.

  • Scalability of Unit of Order

    1. We are considering using Unit Of Order (UOO) in an Active-Active weblogic cluster.
    What are the vertical and horizontal scalability options of UOO in such a case?
    2. To ensure strict sequencing requirements of messages, could we consider using a w s reliable messaging session as an alternative to UOO?
    Thanks,
    B.

    Hi,
    I read the document, Michal, chapter 3.1.3 about load balancing is quite helpfull. Thank's.
    As I understand it right for scaling up the adapter engine (java stack) I would need a web dispatcher but for scaling up the integration engine (ABAP stack) this would do the message server. Right?
    As I understand it, Jaime, most of the performance/memory is needed for the mapping in general? That's why normal mappings don't use XSLT?
    Kind regards,
    Horst
    PS: The quicksizer did not work for me (with firefox)

  • Diff bet Base Unit and Order Unit

    Hi All,
    I was going through the table MARA. I found tht there are two columns named 'Base Unit' n 'Order Unit'. I found interestingly that for couple of materials the units are diff in both coloumns (e.g: For a material Base Unit is EA but the Order unit is in KG). What is the diff bet Base unit and Order unit?
    Please inform how is it possible to have two diff units for a single material??
    Thanks in Adv.

    Base Unit of measure is generally the smallest unit that can be used for a material.
    But a company may never issue orders in this base unit.
    So in the material master, order unit can be configured which may be separate then Base unit.
    As a result orders will always will be placed in this unit.
    For ex:
    Base unit is set an Inch but the company always issues material always in foot.
    Therefore in the material master Base unit of measure is set to Inch and Order Unit of measure is set to Foot

  • Ordering using Unit-Of-Order

    Hello All,
    I was going through the oracle docs to understand how Unit Of Order works and came across this case study below:
    The sequence is
    Joe clicks the order button from his shopping cart.
    The order message (message A) is placed on Queue1
    Joe cancels the order
    My question is since the order message is still on Queue1 and is not in the database yet; there is no order to cancel. So, in step 3 Joe cancels which order?
    I hope to get some clarification about the unit of order from the experts in the group.
    Thanks
    Purnima
    Workflow for Joe’s Order Using Unit-of-Order
    Joe clicks the order button from his shopping cart.
    The order message (message A) is placed on Queue1.
    Joe cancels the order.
    The cancel order (message B) is placed on Queue1.
    MdbX takes message A from Queue1.
    MdbY takes message B from Queue1.
    Message B on MdbY is blocked until MdbX acknowledges the order message. See What Happens When a Message Is Delayed During Processing?.
    Message A is committed and written to the database.
    Message B is committed and written to the database.
    Because there is a corresponding order message, Joe’s order is removed from the database and he does not receive a book.

    use xa connection factory

  • JMS: Unit of Order Scope (Producer or Message)

    Is it the intent of "Unit of Order" to be used at the Producer layer or at the message layer? The documentation seems to imply the former.
    The documentation describes the method WLProducer.setUnitOfOrder(uooName). This implies that the intent is to set the Unit of Order name, and then send many messages within the Unit of Order.
    I have a stream of messages that are mostly unrelated. Each message affects one entity, and the system has many (10s-of-thousands) entities. Unrelated messages can be processed in any sequence. However, every once in a while there are two messages for the same entity that are in close time proximity. These messages must be processed in sequence.
    Since the Unit of Order is different for every message, the natural approach would be to set it in the send method. But WLS does not offer that.
    The alternative is to call WLProducer.setUnitOfOrder( entityId) before each send. Would that be reasonable, or is that against the intent of Unit of Order?
    Thanks...
    Roger

    I am assuming a single queue, non-Distributed Queue for this post, and that your CPU and memory for your WebLogic server have some headroom per queued message.
    I agree that you should try UOO, if the server has enough memory headroom to accommodate Unit of Order data structures for the messages that are in the Queue.
    There are some small coordination objects and the user defined string per UOO.
    These objects are for the UOO messages that are currently in the queue rather than all the ones the server has ever encountered.
    Though you may have tens of thousands of UOOs possible in your application, it sounds like a message for each one is probably not in the queue at the same time.
    If you have a few hundred messages in the queue, and your server already has ample memory and CPU,
    then adding the memory overhead of UOO is worth the investment for the correctness you get in return, see below.
    If you really have tens of thousands of messages in the queue, and your server already has ample memory and CPU to accommodate the UOO objects,
    then adding the memory overhead of UOO may still be worth the investment for the correctness you get in return.
    The hard part here is the extra memory usage since UOO is not paged out the way message bodies are.
    So you will have more memory use and Garbage Collection.
    There is also more CPU since you have to look up the UOO when you produce the message.
    This makes trying it more important before you go into production.
    In both cases, you should certainly see less database lock and internal lock contention if your lock objects are related to your UOO names, since there will be only one thread in execution with that UOO name.
    So you may see a database throughput improvement, which may be the heaviest part of your application.
    Choosing the UOO name is always important, long enough to reduce contention, short enough to have as message payload and in memory.
    I hope you post the results of your evaluation,
    -Sal

  • JMS: Unit of Order Scope (Producer or Message) [WLS]

    Is it the intent of "Unit of Order" to be used at the Producer layer or at the message layer? The documentation seems to imply the former.
    The documentation describes the method WLProducer.setUnitOfOrder(uooName). This implies that the intent is to set the Unit of Order name, and then send many messages within the Unit of Order.
    I have a stream of messages that are mostly unrelated. Each message affects one entity, and the system has many (10s-of-thousands) entities. Unrelated messages can be processed in any sequence. However, every once in a while there are two messages for the same entity that are in close time proximity. These messages must be processed in sequence.
    Since the Unit of Order is different for every message, the natural approach would be to set it in the send method. But WLS does not offer that.
    The alternative is to call WLProducer.setUnitOfOrder( entityId) before each send. Would that be reasonable, or is that against the intent of Unit of Order?
    Thanks...
    Roger
    PS: My appologies, I posted this in the wrong group. It relates to WEbLogic Server.
    Message was edited by: rfischer
    rfischer

    I am assuming a single queue, non-Distributed Queue for this post, and that your CPU and memory for your WebLogic server have some headroom per queued message.
    I agree that you should try UOO, if the server has enough memory headroom to accommodate Unit of Order data structures for the messages that are in the Queue.
    There are some small coordination objects and the user defined string per UOO.
    These objects are for the UOO messages that are currently in the queue rather than all the ones the server has ever encountered.
    Though you may have tens of thousands of UOOs possible in your application, it sounds like a message for each one is probably not in the queue at the same time.
    If you have a few hundred messages in the queue, and your server already has ample memory and CPU,
    then adding the memory overhead of UOO is worth the investment for the correctness you get in return, see below.
    If you really have tens of thousands of messages in the queue, and your server already has ample memory and CPU to accommodate the UOO objects,
    then adding the memory overhead of UOO may still be worth the investment for the correctness you get in return.
    The hard part here is the extra memory usage since UOO is not paged out the way message bodies are.
    So you will have more memory use and Garbage Collection.
    There is also more CPU since you have to look up the UOO when you produce the message.
    This makes trying it more important before you go into production.
    In both cases, you should certainly see less database lock and internal lock contention if your lock objects are related to your UOO names, since there will be only one thread in execution with that UOO name.
    So you may see a database throughput improvement, which may be the heaviest part of your application.
    Choosing the UOO name is always important, long enough to reduce contention, short enough to have as message payload and in memory.
    I hope you post the results of your evaluation,
    -Sal

  • Purchase order exception message

    Does anyone know what table the exception messages generated via MD04 /MD06 are stored.
    Thank you

    Thank you , very helpful , would you happen to know which tables i would need to link this back to a purchase order or sales order.
    Thank you

  • Purchase order exception messages

    hi all,
    i want to know the table and field name of purcahse orders linked with PO exception messages in MD04
    Transaction
    thanks in advance..
    sathish..

    HI,
    check the table PRON with matnr and werks will do i hope..

  • Handling unit production order process flow

    Hi Experts,
    Can anybody please tell me process steps involved in packing for Production order. What configuration need it. Please tell step by step with T-code.

    Go through this help link it will help you about Handling unit management.
    [http://help.sap.com/saphelp_47x200/helpdata/en/19/7f6d36f74c7505e10000009b38f839/frameset.htm]
    Configuration path is
    SPRO>IMG>Logistics General-->Handling Unit Management..
    For complete configuration
    [http://help.sap.com/bestpractices/BBLibrary/Documentation/G74_BB_ConfigGuide_EN_DE.doc]
    hope this helps..
    karthick
    Edited by: karthick PP on Apr 15, 2009 12:31 PM

Maybe you are looking for

  • Updates to Pages 5.0 and Numbers 3.0 not working

    I recently updated to Maverick and have been updating the other software on my iMac as it has rolled out. In my App Store it shows that I have updated Pages to version 5.0 and Numbers to version 3.0. However, when I launch the apps they are still run

  • When trying to save photos get error (memory RAM, CS6)

    After working on the photo, if you try to keep getting the error could not save as ***.jpg because there is not enough memory ram. try saving without optimization or as baseline jpeg My notebook config: core i3 M380. 2.53 GHz memory 2gb hdd ~ 40gb fr

  • How to get the Maximum of two calender dates in OBIEE 11g Analytics

    Hi, I have requirement like getting the  maximum calendar date from two calendar dates in obiee 11g reports and  the requirement is like the following max(Reported.Calendar date, Returned.Calendar Date) can anyone help me to solve this issue. Thanks,

  • Update program not working

    hi i have a n95 its on version 10.0.018 i have just installed the update software but after the restart the program will not start up.i have tryed all the f.a.q's but still no luck does anyone have any ideas on how to get this program working i have

  • Best way to manage photos btwn 2 comps

    Hello, You will see my spec of my computers below. I use the iMac for Logic and sometimes set it up in recording studios for my clients to use. But most of the time it's home with me. I'm debating whether I should keep any pictures on it at all or if