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.

Similar Messages

  • 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

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

  • 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

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

  • 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

  • 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

  • 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

  • Handling unit output determination questions

    I have configured a new output type for a custom label we need to implement for handling units.   It is assigned as V6, for Ship-to Party/Shipping Material.
    In VL01N or VL02N, I am able to create the handling units and pack the delivery line item materials into them.
    I am able to manually assign the output type to the handling unit in VL01N/VL02N, but have not been successful in getting the output type to auto populate.  I have verified that it is not populated after packing the HU and saving from VL01N, or when doing from VL02N, or after PGI.
    I have been searching the forums and have not found the answers I need.
    1.  Is it possible for the output type to automatically populate for a handling unit?  If so, at what point should this happen?  I would think based on how our custom label output types for delivery documents behave, it would assign after save from either VL01N or VL02N.
    2.  When I create the HU, I specify a VERP packaging material number that represents the carton in order to create the HU.  I do not have the material on the sales order or delivery as a line-item, and I am not getting any error messages indicating that it should be. 
    If this should work the way we expect it to, any suggestions on what I have overlooked that would prevent my output type from automatically assigning?
    Thanks in advance for your help.
    Dave

    Hi Joan,
    Thank you for your answers.  They were most helpful.  I was finally able to get the new Output Type to assign after I created the HU's and saved the delivery.
    Hopefully you won't mind if I ask some related questions.
    1.  If I went to VL02N for a delivery where I had already created the handling unit, it did not automatically get the Output Type assigned when I saved.  (Like it does for our delivery based labels when I add a user in NACE that previously wasn't identified to get the label.)   Is this the normal behavior for HU-based output or am I still missing something in my setup?
    2. I did the VHAR step and specified both the Output Determination Procedure and the Output Type of my new label,as suggested.   This did work once I finally tested by creating a new HU for a delivery, rather than checking an existing delivery/HU.  Is entering the Output Type here critical?  If another customer has a different label format, I think assigning the Output Type here this will cause a problem for us.  (I haven't had a chance to change the config to remove this and see if the Output assigns based on references elsewhere, now that I know it seems to assign only when the HU is initially created.)
    Thanks again!
    Dave

  • Moving Multiple Albums & Album Sort Order Questions

    Hopefully this is a really easy question to answer, but I just can't figure out how to do this.
    1. Can you move multiple albums around in Aperture? I just imported my iPhoto libraries and I'd like to groups a set of the albums that I have into one project. The problem is that I can only move one album at a time.
    2. Can you specify the sort order or manual set the order that albums appear in projects or folders? It seems that Aperture automatically sorts them alphabetically.
    Thanks!

    1. Can you move multiple albums around in Aperture?
    unfortuantely, as far as i am aware you can only move one at a time
    2. Can you specify the sort order or manual set the
    order that albums appear in projects or folders? It
    seems that Aperture automatically sorts them
    alphabetically.
    you are correct, automatically alphabetically only ... i haven't been abble to change this at all ... the only way to force something else is by adding a ~ or other character that is ahead of 0 ...

  • Drop shipment Orders Question

    hi experts ,,,,
    1- i create a sales order with one line and the source for this line is EXTERNAL to get the goods from the supplier and move it to customer directly
    2- run Requisition Import in Oracle Purchasing to generate purchase requisitions for the processed order lines. and approve it
    3- create purchase order for this requestion and approve it
    4- Make receipt at inventory for this PO
    the problems are :-
    1- the AR Invoice for this sales order, i can't see it from the order although the status of the order is "Invoice Interface - Complete"
    2- I can't create the AP Invoice for the Purchase order created , and generate error when match with receipt say , you must receieve the po first ,
    So when i open the receieve transaction for to receieve according to po it return no lines (it is logical because the goods ship to customer directly)
    Urgent Please
    thanks

    I think you are not logged into the correct operating unit when you are trying to look up the AR invoice or AP invoice.
    Make sure that the operating unit on the sales order/po is the one you use when creating/viewing invoices.
    Hope this helps
    Sandeep Gandhi
    Omkar Technologies Inc

  • Pre-Order Question

    So I pre-ordered Titanfall for Xbox1, but I won't be in town when it comes out and one of my friends really wants to pick it up on the 11th at the midnight release. Is there any way to change the name on the pre-order, or would I have to cancel the one I have and create a new pre-order?

    Hi cgarvey4,
    I hate to be the bearer of bad news, but we don't currently offer a way to update the name associated with pre-orders. To have a friend pick up the game for you, you would need to cancel your existing pre-order and place a new one in their name. Also, remember that pre-orders must be picked up within 5 days of the title's release! If you aren't able to pick up your copy of Titanfall within that timeframe, then it will be returned to store inventory and made available for purchase to other customers.
    Let me know if you have any other questions!
    Aaron|Social Media Specialist | Best Buy® Corporate
     Private Message

Maybe you are looking for

  • Open Crystal report from SAP BW

    Hi, is it possible to open and refresh (thus passing parameters/values) a certain Crystal report (version 2008 SP3) from a SAP BW system (version 7.10), e.g. with a RFC call? If it's possible, which transaction do I have to call to setup this call? W

  • ICal on a second user account won't work

    I recently purchased a new iMac with OS Lion. Software is fully updated.  Using the Time Machine copy from my laptop, I basically cloned my laptop to this computer. All my services work fine.  I set up a new user account for my wife. We are not able

  • My sound worked perfectly last night and now it won't work even though my volume is on high. Any suggestions??

    My sound worked perfectly yesterday but today when i went to go listen to music it no longer worked. THe volume on the computer as well as youtube was on high but there was no sound. Any suggestions?

  • ABAP Webdynpro Table Control

    Hi all, I am a Webdynpro beginner, I am developing a ABAP Webdynpro program. I have a table in my View, And I want to the Row became READ ONLY based on the context. For Example, there is a user name field in the table, if the user name is equal to th

  • Adding a field to an Event Booking form and modyfying the results module.

    I am trying to use the Events/Booking system to book casual days at a child care centre for a client. I can customise the Events Detail form layout but I need some additional fields and to make some changes to the auto responses. The form/page is onl