Mediator delaying the instantiation of BPEL

Hello All,
Have a question. Need your input please
I have SCA with a Mediator component which picks/monitors message in Oracle AQ queue (implemented as JMS queue). In the Mediator I parse the payload of the message and through different case statement instantiate a BPEL process accordingly.
What I observe in the Mediator Audit Tail :-
1. The messages gets picked up (say at 10:15:49 AM)
2. Validate payload completed (at 10:15:49 AM)
3. Time stamp on all "OnCase" Statement is 10:19:26 AM
4. BPEL process instantiates at 10:19:26 after satisfying one OnCase condition.
Basically it took close to 5 min for the OnCase statement to complete. I am not sure why the delay here. Could this be related with the delay in picking/reading message/payload behind the scenes. But based on the time stamp the message gets picked up 5 min earlier and also the payload gets validated 5 min earlier. The delay is not consistent 5 min. This happens sporadically and the problem resolved on it's own. I bounced SOA services which did not help.
Our backend database is Oracle which has the Queue which the Mediator is picking he message from.
I cannot paste the screen shot here - hopefully the above explanation is clear. Any inputs appreciated

Hello All,
Have a question. Need your input please
I have SCA with a Mediator component which picks/monitors message in Oracle AQ queue (implemented as JMS queue). In the Mediator I parse the payload of the message and through different case statement instantiate a BPEL process accordingly.
What I observe in the Mediator Audit Tail :-
1. The messages gets picked up (say at 10:15:49 AM)
2. Validate payload completed (at 10:15:49 AM)
3. Time stamp on all "OnCase" Statement is 10:19:26 AM
4. BPEL process instantiates at 10:19:26 after satisfying one OnCase condition.
Basically it took close to 5 min for the OnCase statement to complete. I am not sure why the delay here. Could this be related with the delay in picking/reading message/payload behind the scenes. But based on the time stamp the message gets picked up 5 min earlier and also the payload gets validated 5 min earlier. The delay is not consistent 5 min. This happens sporadically and the problem resolved on it's own. I bounced SOA services which did not help.
Our backend database is Oracle which has the Queue which the Mediator is picking he message from.
I cannot paste the screen shot here - hopefully the above explanation is clear. Any inputs appreciated

Similar Messages

  • Sequential Instantiation of BPEL instances for a BPEL process

    Hi,
    We are using Oracle SOA 10.1.3.4 & AIA2.5. We have a situation where the instances of a particular bpel process have to be executed in sequence. Also, the new instance should NOT be instantiated unless the previous instance is completed.
    For example.. Lets say a SyncBPELReqABCS is invoking SyncBPELProvABCS via ESB. SyncBPELReqABCS is looping and spawning multiple instances of SyncBPELProvABCS in a certain sequential order in Asynchronous Fire-and-Forget model. Lets say bpel-instance#1, bpel-instance#2 and bpel-instance#3 are instances of SyncBPELProvABCS process. Even though SyncBPELReqABCS invokes (spawns) SyncBPELProvABCS in a fire and forget model, the bpel-instance#2 should not begin unless bpel-instance#1 is completed and bpel-instance#3 shuld not begin unless bpel-instance#2 is completed. This is because there is a dependancy between instacnes of SyncBPELProvABCS process.
    Can this be achieved in Oracle SOA?? Can we restrict the instacnes of SyncBPELProvABCS to be created in this manner?
    This is similar to "incompatability" of concurrent programs in ORACLE EBusiness Suite where one concurrent program waits till another concurrent program completes.
    Please let me know if I am not clear. Appreciate an immediate help!
    Thanks,

    Hello,
    Now that I look back at this tread, I can see that the questions I was asking and those of the original poster were somewhat different.
    But they both fall under the heading of "Sequential Instantiation of BPEL instances for a BPEL process", and so I thought I would post some findings we've come across regarding that topic here.
    There were a couple steps that helped us achieve the behavior we were looking for, and the were...
    1) Change the BPEL oneWayDeliveryPolicy from "async.persist" to "sync"
    This can be done in a couple locations. The first is within the EM application that comes bundled with SOA 11g, and the place to go is:EM > [farm name] > SOA > soa-infra (right click) > SOA Administration > BPEL Properties > More BPEL Configuration Properties > OneWayDeliveryPolicyOnce that value has been changed to "sync" (without the quotes), you'll need to stop and start the managed servers that run your SOA instance(s).
    As you might expect, making a change at the "server level" like this impacts the default behavior of all composites deployed within your SOA instance. The second place to make this change - within the deployment descriptors for your BPEL process - impacts only the BPEL process that is being modified. To make the change at this level, you would edit your project's composite.xml file and, for each BPEL component, specify:  <component name="BPELProcess1" version="2.0">
        <implementation.bpel src="BPELProcess1.bpel"/>
        <property name="bpel.config.oneWayDeliveryPolicy">sync</property>
        <property name="bpel.config.transaction">required</property>
      </component>What does this change do? Well, I don't claim to have a complete understanding, but in theory it prevents a thread handoff from taking place between the service that is initiates your BPEL process (like a receive) and the actual BPEL engine thread that processes the request.
    In our case, where calls between (and within) composites were all of the synchronous "fire and forget" variety, this change also caused the entire processing of a message (across three different composites) to happen in a single thread (each message handoff was one-way, and with the oneWayDeliveryPolicy set to "sync", each was handled in a synchronous manner).
    This also seemed to have the effect of serializing our message processing. For example, in a test case where a BPEL process reads from a JMS queue and 250 messages are enqueued, with the oneWayDeliveryPolicy set to "async.persist", I'd typically go in to EM and, on each refresh, find 5-8 instances of the composite that processes those messages to be in a "Running" state. Once the change to "sync" was made, I'd only see at most only 2 (where one had actually already finished; the audit system just hadn't yet caught up to that fact yet).
    This also means that, with a "sync" delivery policy, messages (at least in our environment) are processed more slowly, but that was ok with us as we were more concerned with the behavior than the speed.
    For details on this and other BPEL deployment descriptor properties, see:
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/bp_app_deploydesc.htm
    Also, it's important to note that making the above change will alter the boundaries of your transactions as well as how faults are propagated. For more details, see:
    http://download.oracle.com/docs/cd/E17904_01/integration.1111/e10224/soa_transactions.htm
    2) Front BPEL process with a Mediator object and enable message resequencing
    While we're using the above change as a standard practice in our environment, this second change has only been nominally tested - but it could be of interest and so I'll mention it here.
    Once you've updated your composite to include a mediator object in front of your BPEL process (if there isn't one there already), edit the .mplan for your mediator and change the "Resequence Level" from the default value of "operations" to "component". Then change the "Resequence Mode" from "off" to "FIFO" and specify an X-Path expression by which the mediator will be able to group your messages. This will help ensure that the messages are being processed in the order you expect.
    More information about resequencing within the mediator component can be found:
    http://download.oracle.com/docs/cd/E14571_01/integration.1111/e10224/med_resequencer.htm
    Hopefully the above information is useful - if not for the original poster, then for someone who comes along later with similar questions.
    - Nathan

  • Issue in propagating the fault in BPEL

    Hi,
    I have an issue in propagating the fault in BPEL.
    This is the scenario,
    a) I have a BPEL process which inserts data to a table, where a column is a primary key.
    b) I invoke this BPEL as a partner link in another BPEL process.
    c) I have provided catch for primary key violation in the invoking BPEL process.
    Here, it throws below remote fault:
    When invoking locally the endpoint 'http://localhost:7777/orabpel/default/InsertExceptionGen/1.0', ; nested exception is:
         com.oracle.bpel.client.delivery.ReceiveTimeOutException: Waiting for response has timed out. The conversation id is bpel://localhost/default/HandlingESBFaultInsert1~1.0/20502-BpInv0-BpSeq1.6-2. Please check the process instance for detail.
    But In the case of ESB, I could able to handle the primary key violation fault.
    ie)
    a) An esb process inserts data into a table, where a column is a primary key.
    b) A BPEL process invoke this esb as a partner link.
    c) In the invoking BPEL process, provided catch for primary key violation.
    Pls. someone throw some light on this.
    Thanks
    Jude.

    BPEL process should get a bindingFault for any application related errors.
    since it received remote fault, may be some problem with connectivity.check the timeout values in the bpel configuration.

  • Using Coherence in the context of BPEL

    Hi,
    I am planning to try the use of coherence in BPEL to leverage the cache capabilities to improve the performance. I am successfully able to do this in OSB 11.1.1.4 as its achievable much through some simple configuration.
    I am trying to do the same from BPEL as well. So do we have a similar way of configuring the BPEL composites as well?
    I have seen the forum posts where it was achieved by using java embedding activities. Is this the only way currently in BPEL? Then i had to take care of all the following activities manually using these java embedding activities:
    - Caching the result, this result may be simple string or can be entire xml document or variable in BPEL
    - Retrieving the result from cache
    - Modifying the existing BPEL flow to retrive from the cache first and if not found cache it and then use it.
    - Strategy to clear the cache whenever required and the way to do it.
    I am using the WLS 10.3.4 where the in-process coherence servers can be administered through admin console of WLS itself. So i want to leverage this feature for my BPEL composites.
    Thanks & Regards
    Siva

    Any updates on this?? Now i am successfully able to put the strings in the cache and able to retrieve them as well. But facing an issue.
    Once the BPEL instance is run completely, the corresponding cache is getting cleared. Seems to be this is happening because of the local storage.
    So modified the startWeblogic.cmd to include -Dtangosol.coherence.distributed.localstorage=false in java vm parameters.
    After this its giving the error saying 'Storage is not defined'. that means the created cache in my BPEL has not joined the already started server.
    Am i missing any other settings??

  • How can i delay the present of direct connected route?

    Hi, I got 2 3550SMI switch interconnecting by Etherchannel. Each 3550 has an uplink to its upstream router (R1-SW1=SW2-R2). R1 and R2 connects to the remote site routers (say R3 and R4).
    With EIGRP redistribute connected, R1 update the direct connected network via WAN link A to R3 where R2 does the same thing updating R4 via WAN link B.
    The failover is fine after SW2 powered off. However, problem occured when I powered up SW2. During the bootup of SW2, there was carrier signal which brought up the ethernet port of R2 and the direct connected route presented in R2 then updating R4. Some of the traffic had started to come over from R4 via WAN link B to R2 while SW2 is still booting. (or Etherchannel was not yet ready). As a result, workstation connecting to SW1 cannot be reached for those traffic came from R4->R3->SW2.
    I have tried to use "carrier-delay 60"on the ethernet port of R2. It seems solve the problem since the direct connected route delay 60sec. Within that 60 sec, no update via EIGRP from R2 to R4 so that all traffic still went through R3->R1. After that 60 sec, SW2 had already bootup and the etherchannel was also ready.
    However, i can only do it with C3725 router. I've tried 1750, 25xx, 26xx and 3640-12.3T but the behavior was not expected (route still present immediately after carrier signal detected).
    My questions are:
    Is that command valid on Eth or FE interface?
    Is there any different using that command with diff. router series, eg. ISR (18xx,28xx,38xx)?
    Is there any condition that I could make it work? (at least 3725 worked)
    Is there any other way to delay the present of that direct connected route?
    Thanks.

    Hello,
    instead of the 'carrier-delay' command, you could try to change the EIGRP hello and hold-time intervals (which default to 5 and 15 seconds respectively on broadcast media such as Ethernet), in order to delay EIGRP convergence. So, on your Ethernet interfaces when you use the interface commands:
    ip hello-time eigrp x 60
    ip hold-time eigrp x 180
    the redistributed routes will show up only after 60 seconds, which effectively does the same as the 'carrier-delay'...
    Can you try that and see if that works for you ?
    Regards,
    GP

  • How to call the WS in BPEL 11g

    Hi,
    I have a WS externally provided, which need the following soap header...
    <soap:Header><fmw-context xmlns="http://xmlns.oracle.com/fmw/context/1.0"/><wsse:Security soap:mustUnderstand="1" xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd">
    <wsse:UsernameToken>
    <wsse:Username>MASKED</wsse:Username>
    <wsse:Password Type="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-username-token-profile-1.0#PasswordText">MASKED</wsse:Password>
    </wsse:UsernameToken>
    </wsse:Security></soap:Header>
    Please let me know how do i call the WS in BPEL 11g.
    Please let me know the entire solution, kind of urgent...
    Thanks,
    Rosh

    Hi All,
    got the solution.
    Its working...
    http://soa-howto.blogspot.com/2008/09/how-to-set-security-credentials.html
    Thanks,
    Rosh

  • Is it possible to delay the startup of automatic wifi sync?

    Here is my problem:
    Wifi sync works just fine.
    There is wifi coverage in my driveway.
    I plug my iphone to my car in the morning to drive to work.
    The iPhone sees the wifi and is now connected to power and it starts another sync.
    I start to drive to work and leave the wifi coverage.
    Now itunes displays a error that must be 'OK'ed before sync will work again.
    So is there a way of delaying the sync like for example start the sync when on the wifi and connected to power for at least 15 minutes?
    Ideally this should be user configurable.
    Say start after 5 hours connected. (to synk at morning after a long night charge)
    Or just to stop problems like mine with a bit too god wifi coverage..

    Here is my problem:
    Wifi sync works just fine.
    There is wifi coverage in my driveway.
    I plug my iphone to my car in the morning to drive to work.
    The iPhone sees the wifi and is now connected to power and it starts another sync.
    I start to drive to work and leave the wifi coverage.
    Now itunes displays a error that must be 'OK'ed before sync will work again.
    So is there a way of delaying the sync like for example start the sync when on the wifi and connected to power for at least 15 minutes?
    Ideally this should be user configurable.
    Say start after 5 hours connected. (to synk at morning after a long night charge)
    Or just to stop problems like mine with a bit too god wifi coverage..

  • How do i delay the screensaver kicking in? I want to have the music function available without havingto constantly press slide to open. Ipod touch.  Thanks

    how do i delay the screensaver kicking in? I want to have the music function available without havingto constantly press slide to open. Ipod touch.  Thanks

    On the iPod, go into Settings/General/Auto-Lock and set that for the amount of time you want, form the choices given.
    However, a note of caution; this isn't a screensaver function, it's there to prolong battery life. The longer the screen is on before turning itself off, the more battery you are using and the shorter the time before you run out of power.
    There's possibly a better way for you to use you iPod than to keep the screen on. Why are you constantly going into the music function? If it's to select a new track, you could possibly use the Shake To Shuffle feature, which will select a new track at random when you shake the iPod. Alternatively, use the basic Shuffle feature. Or create a Playlist (on the iPod), where you can select the songs you want to play at that time, put them in one list and let the iPod play them.

  • How to delay the audio to lip sync? (of the entire system)

    I`m using a LED 32" LG screen via hdmi, but the audio is outputing directly via usb to my Mbox Mini, and the image have a small delay (5 frames) but the audio not, so the result is out of sync videos.
    Of course there`s tons of apps that can solve the problem by compensating, like VLC and MPlayer X, but the problem is that i`m a video editor and use FCP and Motion all the time. For playbacking with these apps (after making the 5 frames compensation) turns into a perfect results, but during video editing it`s a pain to lip sync.
    Of course as i know that the delay is 5 frames, when i output i could delay the entire audio, but it would be a pain making this everytime and for internet streaming the videos would still off sync.
    There`s anyway i can delay the audio of the entire system?
    PS: I`m using Lion 10.7,

    > I wonder if there is any way to delay the opening of a
    MIAW. In particular i
    > have the following
    If you want other activity to take place, you could use a
    timeout object:
    dialogue = window().new("D_XML_Test (Greek2)")
    dialogue.filename = "path to file"
    t = timeout().new("mOpenWindow", 60000, #mOpenWindow,
    dialogue)
    -- #movie script:
    on mOpenWindow aWindow, aTimeout
    if ilk(aTimeout, #timeout) then aTimeout.forget()
    if ilk(aWindow, #window) then aWindow.open()
    end
    If you don't mind locking out activity, you could use the
    delay()
    function, but I wouldn't recommend that approach

  • What is the role of BPEL in EBS Release 12

    Hello Everyone,
    Just I am curious to know the scope of BPEL in Release 12.
    What are the integration points that R12 offers to work with BPEL.
    Any information or documents are really appreciated.
    Thanks
    Saikrishna

    Hi,
    Probably this guide will give fair enough idea of means to integrate Ebiz suite with BPEL PM.
    "http://download.oracle.com/docs/cd/B31017_01/integrate.1013/b28351/toc.htm"
    Though the guide is not for R12. But Oracle Application Adapter does provide support (not sure if full) for R12.
    thanks

  • Delay the startup of certain applications

    I am having a problem in that when I start my G4 PowerBook, iChat AV starts BEFORE the Airport connection is completed (I have an old, old, old, did I mention it was old, Graphite Airport). I have iChat set to start up automatically so it tries to start before the computer connects with the Airport. Is there a way to delay the startup of Applications until the Airport connection is made? Is there another way I can have iChat start automatically when booting, but start AFTER it's found the Airport connection? Yes, I know I need to buy a new Airport, but I spent all my money on the G4 PowerBook!
    Thanks in advance for any advice.
    G4 Powerbook 17"   Mac OS X (10.4.6)   Beige G3, Wallstreet, Clamshell

    Delete the apps from Login items and simply click on their Dock icons to launch. That will speed up the boot process. Yes, you could probably write a script, but manually launching is the simple way.

  • How to delay the license days in XI-NW2004s?

    I have successfully installed the XI-NW2004s,but only used in 30days.
    I think I can adjust time back to setup day to use longer. To my disappointed, there were many j2ee service failed in Visual J2EE administrator.
    How to delay the license days in J2EE service ?
    Can I install a temp license in Tcode "slicense" just like Minisap developer?
    Thx !
    points will be award !
    best regard!

    Hi Raymond,
    You need to make sure that the date to which you are changing should be greater then the date of installation. why don't you try this
    1.Use <b>SU01</b> transaction to find the date when the user was created.
    2. Now change the system date to that particular date or one day greater.
    Make sure all the instances of 2004's are down before changing the system date.
    once done restart the system.
    That should work.....
    Regards
    Gopi

  • Delaying the redirection

    After the users logout's i wanted to display a gif image stating that the user is being logged out so i wanted to delay the redirection to the home page.So how do i delay the redirection for about 5 seconds from the currect JSP page to the net HTML page.Any help will be highy appreciated Thanks

    Hi,
    You can very well do this by setting 'Refresh' header in response written to client by JSP. Specify Refresh value as 5 Seconds and specify the url, which client's browser should request after 5 seconds.
    Hope this satisfies your requirement.
    Do let me know after you try it.
    Sandesh

  • Delaying the erase with the Write On behavior

    Hey everyone.
    Does anyone know how to delay the "erase" with the write on behavior.
    When I apply the write on effect to my outline the behavior and set it to draw and erase. Motion draws the shape and as soon as it's drawn motion starts the erase the shape. I want to delay that erase and have the entire shape stay drawn for a few seconds.
    I thought I could play with it in the keyframe editor but there are no options to adjust that specific ability of the write on effect.
    Thanks.

    Hi,
    this had me stumped for a bit too. All you have to do though is drag the start point of the shape to an earlier point in the time line. This will automatically drag the start point of the write-on behaviour with it (annoying!). Then drag the start point of the behaviour to a later point on the time line. (It will allow you to this independently of the start point of the shape as long as you drag it forward in time.) Now just reposition the shape on the timeline accordingly. Hey presto! - A delayed writeon/erase effect. Hope this is clear enough.
    M.

  • Delay the mounting of network drives at startup?

    Can i delay the mounting of my network drives (cifs) at the boot up?
    I want to do this to be able to start network in the background at the boot up since thats the procedure slowing down the boot up at the moment.
    Thank you in advance.
    Last edited by djungelmums (2011-02-08 21:31:50)

    Inxsible wrote:
    Ahh ! I wasn't sure which statement you were refuting.
    but this confuses me a little. We normally background DAEMONS to increase boot speed (or atleast one of the reasons). So I assume that when you background it, you run it parallely along with moving ahead in your startup process -- namely starting up other daemons and bringing up the login screen/Display Manager or booting straight to X.
    Correct
    Inxsible wrote:OTOH, unmarked daemons actually get started before going ahead in the start up process. So wouldn't that mean that they might get started before anything else is processed...?
    Why?
    Here is the code:
    # Start daemons
    for daemon in "${DAEMONS[@]}"; do
    if [ "$daemon" = "${daemon#!}" ]; then
    if [ "$daemon" = "${daemon#@}" ]; then
    start_daemon $daemon
    else
    start_daemon_bkgd ${daemon:1}
    fi
    fi
    done
    if [ -x /etc/rc.local ]; then
    /etc/rc.local
    fi
    Translated into human language:
    For every daemon in the DAEMON array do:
       If daemon has not the prefix "!" do:
          if daemon has not the prefix "@" do: start the daemon --> AND wait for comletion 
          else do: start the daemon in background --> AND don't wait for completion
    Process rc.local
    Hope thats clear now

Maybe you are looking for