Unit Of Work (UOW) / Unit Of Order (UOO)

Hi,
Does anyone knows if the outbound JMS adapter supports UOO or UOW?
If yes, how do I use it?
Thanks

CEP does not support UOW. Basically, it's a provider specific feature while CEP is supporting JMS standards.

Similar Messages

  • 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

  • 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)

  • 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

  • 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.

  • 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.

  • 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

  • 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.

  • 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.

  • 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

  • All default routing value has to be changed, while changed the work center in production order

    Dear friends,
    our client they want to change the work center in production order.according to production version work center also they are changed.so while change the WC,all the default value has be changed as per routing what we maintained in routing.At present we have to enter the manually change the W.C as well as set up time and operation time enter manually.Any other option to do the automatically capture value from routing while change in Work center in production order.pl help me on this.
    Thanks&Regards
    Sabhapathy R

    Hi Rahul,
    Thanks for reply. I am maintained in diff value  maintained routing , Ex :First routing i have  work center 'X' value maintained as a setup time in 15 Min's and operation time 10 Min's
    second work center 'Y' I have maintained as set up time 10 Min's and operation time 30 Min's,
    Now I want to change the work center in production order as a 'Y' so whatever value maintained in routing , it has to be changed automatically (10 min's and 30 Min's), but system will not change only old value only picked (15Min's AND 10 Min's).
    Now I think you get to know what the client requirement, kindly do the need full.
    Regards,
    Sabhapathy R

  • Change Work Center during production order confirmation

    Dear All,
    I must to modeling this situation:
    I created an production order. In routing I used an work center A.
    After I confirmed a half of quantity, the work center A was damaged and I must to change it, with the work center B.
    The system allow this change, but when I checked the costing, the situation isn't real. The system counted the costs just for the work center A, and no for work center B.
    My question is: it's possible to change the work center, during production order confirmation and the costs updated with new cost?
    Thank you for your answer!
    Regards,
    Marian

    once a Order is released, the Process order detaisl for that order is frozen.
    however if you want to do it, change the order status to CRTD after reversing the Movements done.
    Do READ MAster data , this will copy the new Work center , redo the previously done Moevements.
    if the change is long term.
    or
    Just manually add the new work center and do the processing. if the change is temporary.

  • Confirmation Control Work Flow  in Purchase Order

    Hi Gurus,
       Can anyone explain me about the Confirmation Control Tab Work Flow in Purchase Order.
       If i select the Conf. Control in Purchase Order, next what process has to follow?
       Thanks in Advance
    Regards,
    Prabhakaran M

    Hi Prabhakaran
    The Confirmation Control tab has a field for selecting the COnfirmaiton control Key for the PO Item. This key Determines which confirmation categories are expected for a PO item (e.g. order acknowledgment, shipping notification).
    There are four categories delivered in the standard system, which decides whether you need only a ASN for a PO Item, or ASN with a rough GR, or Rough GR only etc.
    Once you have this key set up, system expects you to create that document for this item before you process the GR or Invoice.
    You can also set up automatic ASN creation if you have EDI Integration with the vendor.
    Benefit of ASN is that you ve the confirmed delivery dates and quantities well in advance and warehouse/Inventory team can plan their operations accordingly in advance...
    I hope this clarifies your questions
    Regards
    Virender Singh

Maybe you are looking for

  • Strange red/purple/magenta "shadow" that goes away and then comes back

    I'm having some issues with a weird discoloration that happens inside of LR.  When the file is loaded, it looks like this: Once you touch ANY slider (or do anything really), this happens: Note the weird red/purple/magenta area around her mouth and ch

  • Problems with Solaris 11 11/11

    Hi, I need your help because I have problems with Solaris 11 11/11 installed in a Dell Latitude E4310. Here, there are the problems: 1- No it power off with shutdown or init 5 or init 0 only work well the reboot. 2- It can not connect to the wifi wit

  • Have just upgraded to version 4 and when I go to Goggle search for a website it shows me a list but will not open any.

    Have just upgraded to version 4 and when I go to Goggle search for a website it shows me a list but will not open any. If I use the bookmarks all of the websites open perfectly. I've closed Firefox down and opened again and a message says "how embara

  • Discoverer Parameter : ICX: Discoverer Parameters

    Hi Experts, ICX: Discoverer Parameters profile option : is pointing to the EBS URL and is set as exitURL : ***** In the MOS : its is gives as : ICX: DISCOVERER PARAMETERS (ICX_DISCOVERER_PARAMETERS) at the site, user or responsibility level and it wi

  • CS4 Premium Design to CS5 Standard?

    Hi, I currently have CS4 premium design package I got for my school classes. Now they have updated to CS5. The only problem is I know I have to update the suite because it's under a student license. However, I want to update it to CS5 standard rather