Long Running Bpel Instance.

Hi All,
One of My bpel process spawns 100 child bpel process. out of which 60 are in recover(invokes), and 40 bpel processes are in running state.
These 40 bpel instances are still in open.running state, even though I restarted the server.
Can any one provide the reason for this?
Thanks in Advance.

Hi Ranjan,
Our BPEL process was not showing any activity after DB adapter invocation and state was showing as open.running.
So we went to "recover invoke" tab under "adminisrtation" tab and selected activity, so my process was recovered.
Thanks for responding.

Similar Messages

  • Checking for status of a long-running BPEL process

    Hi experts,
    I have one BPEL process for originating customers' loan which usually involves various steps which takes around 15-20 mins to complete per instance. I would like to implement a user interface that can check the process's progress and display how it is going to the user.
    I have thought of using an asynchronous process that updates a global variable listing status of each step inside the process and use a poller to invoke another operation (like "checkStatus" operation) of this process to retrieve this variable and display the value to the users. It may be achieved by using "OnEvent" activity waiting for "checkStatus" operation. It will run in parallel with the main process, have access to the global variable and reply this variable immediately to the caller.
    It sounds like an idea in theory but invoking a web service operation for polling status is very heavy-weight and may impact performance during high-load.
    I am just wondering if there is other solution to this problem as I believe the status checking is a very common expected requirement in long-running BPEL process. What might be the best practice to implement this?
    Look forward to your responses.
    Thanks and regards,
    Edited by: Nghia Pham on Nov 5, 2012 4:48 PM

    Hi.
    I apologize for the slow reply. I am just back from overseas and did not have chance to go to the forum!
    Thank you a lot for your responses!
    The BAM looks like a suggested out-of-the-box solution. But it ties too much to Oracle API and will be hard to customise the way you want to interpret the status to end-users. If you want to display the process status with BAM in a web application interface, ADF is the only solution (please correct me if I am wrong). I would prefer a stand-alone, free of proprietary API solution so that we can build a screen that is technology-independent. As ADF UI is not our only supported view technology. For example, a PHP web client should be able to interpret the BPEL process status.
    Will really appreciate your suggested solution.
    Thanks and regards,

  • How to kill a running BPEL instance

    Hi,
    I have started executing a BPEL process. If this BPEL process has an infinite loop or ( reading a large number of records) then it may take more time to execute. Mean while, if I want to terminate this process, then how can I terminate from the BPEL console? Or any other interface, if one is available.
    I hope choosing the retired and off options for that BPEl process will not stop the running process. So I need your help to find out if there is any more other ways.
    Thanks,
    Khaleel

    Hi,
    Could you givem the update statement? What need to be changed. If you have any document on the BPEL dehyderation databse structure and purpose and etc information, it will be a great help.
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Long running BPEL - transaction rollback

    Hi All,
    I have a bpel process that is taking over 30 minutes to complete. The process reads over 3000 records from database and transforms to EDI. The XSLT transform is taking 95% of the processing time. One option for me is to increase the Session timeouts.
    Is there a way or a solution to bypass the session timeout values and keep the BPEL process running till it completes. I would like to keep the timeouts to default 5 minutes but still want my process to keep running and complete. Please give your ideas or workarounds on how this can be achieved.
    Thanks
    Ismail.

    Hi Ismail,
    I am not sure if you can find any resolution on this with respect to session time out.
    Please try the below option which might work out for you.
    1) Slight modification to your current process. Rather than waiting for all the 3000 records to complete processing and write the file at the end, may be you can start writing the file from the first record it self into a temporary location.
    2) Later you can keep appending the rest of the lines to the file written above using the Append to existing file check box.
    3) May be you can write another simple BPEL process which will poll this file from the temporary location and then FTP it to the EDI.
    4) This way there will be a decrease in the processing time drastically and also there will not be any session time outs.
    Also your current BPEL process will become a bit light with respect to the amount of data that it need to keep in buffer.
    Might not be a perfect solution, but am sure it will work out.
    Thanks,
    Deepak.

  • Is it possible to get the scope name within a running BPEL instance

    I am currently adding some error handling for a business fault and wondered whether there is any way to get the scope name at run time. I am already catching the fault details using getFaultAsString but the support team have asked whether we can log any other additional information such as the scope name to help the diagnose the problems quickly.
    If any one has any ideas on other details that may be worth logging please let me know.
    Thanks Rich

    You can also use the DOM API to traverse the XML tree and generate your path. But I advice to look into XPath because it is very easy to get values with simple XPath strings. Here's a good start:
    http://www.w3schools.com/xpath/

  • Long running process instances

    Hi All,
    Can you please let us know if there is any way to timeout a particular composite(Not all processess) if it is running more than 120 minutes and send out a email notifcation for the same .
    thanks,
    venkat

    Any help highly appreciated.
    Thank again,
    kc

  • Invoke OnMessage activity of a running BPEL process instance...

    Hi,
    We are using Oracle BPEL 10.1.2.0.2. I am willing to invoke a running instance of a BPEL process (Timer) in following scenario:
    The 'Timer' BPEL Process gets initiated, and logs its instance-id into the database
    'Timer' process waits on an OnMessage activity for another process to invoke it
    Another BPEL process selects the instance-id of 'Timer' process from the database
    The question is: in the above scenario, can the 2nd BPEL process invoke the OnMessage activity of the Timer BPEL process. I did search through the Locator API but was unable to find a method which can invoke a running BPEL instance.
    I am not willing to use correlation here because correlation does not guaranty the invocation of the target BPEL process and also does not generate any error if no instance gets invoked.
    Thanks,
    Upendra Jariya.

    JDK 5.0 includes sample code for java.lang.management API in the <JDK>/demo/management directory. In particular, demo/management/VerboseGC demonstrates how to use the java.lang.management API to print GC statistics in a similar way to -verbose:gc.
    You can reference this demo program and make appropriate modification, for example, just to call java.lang.management.MemoryMXBean.setVerbose() operation to turn on/off the -verbose:gc tracing.

  • Invoking long running web service from BPEL

    I have a web service. It takes more than 5 minutes (could be up to a few hours) to run. Now I need to invoke it from the BPEL workflow. I tried it, but doesn't work. It seems that there is timeout problem. Does anyone know how to integrate the long-running process into workflow?
    Thanks a lot.

    Yes, I am using a sync process. Currently, I divide the process into two parts: launchProcess() and getResult(). Then in BPEL workflow, I use a loop to check getResult(). It works, but I am wondering if there is any better solution.
    I think my situation is very common in the community. Fortunately, I can split the process into two parts. But for some long-running process, it can be difficult to split. How can we implement the process as an async process and integrate it into BPEL workflow? My process is written in Java. I am not familiar to the async process. Any suggestions?
    Thanks a lot.

  • Request/Response From Long running Service to BPEL

    Hi,
    I have long running web service which I plan to implement as a EJB30 Webservice.
    I need to add support for Async callback Repsonse to the BPEL process calling this ejb service.
    Since jax-ws is not supported by the current version of Oracle I cannot use that.
    Can I use the Java concurrent api in side the EJB and implement the EJB as a stateful EJB with support for WS-Addressing?
    I do not want to use the JMS, becuse of the additional coding of multiple Message beans to send and receive the message.
    What other options do I have here?

    <con:fault xmlns:con="http://www.bea.com/wli/sb/context"> is an osb internal fault and not a soap:Fault
    BPEL process will fault if it receives either a soap:fault or a custom fault defined in the wsdl. so change your proxy service error handling to replace $body to one of these.
    If you don't have reply with failure action, osb will return a soap:Fault ( generated by the system error handler) and bpel will fault , but the error info in $fault will be lost..
    One way to address this is to define a Fault message for the service in the wsdl ( port type will have input, output and fault elements for the operation) and in the osb error handler transform $ fault to the fault message format and do a reply.

  • Event Viewer cannot open the event Log or Custom view. Verify that the Event log service is running or query is too long. The instance name passed was not recognized as valid by a WMI data provider(4201).

    "Event Viewer cannot open the event Log or Custom view. Verify that the Event log service is running or query is too long. The instance name passed was not recognized as valid by a WMI data provider(4201)"
    This error keeps cropping up now and again on most of our domain controllers (OS-2008 AND 2008R2)...Usually a restart fixes the issue however the issue repeats and security logs don't generate.
    Any advice on how to fix this issue permanently would be greatly appreciated.

    Please see this: https://social.technet.microsoft.com/Forums/windows/en-US/95987ca3-a1b2-4da6-95b7-d825d06cdac7/error-code-4201-the-instance-name-passed-was-not-recognized-as-valid-by-a-wmi-data-provider?forum=w7itprosecurity
    You can also try rebuilding the WMI repository: http://blogs.technet.com/b/askperf/archive/2009/04/13/wmi-rebuilding-the-wmi-repository.aspx
    This posting is provided AS IS with no warranties or guarantees , and confers no rights.
    Ahmed MALEK
    My Website Link
    My Linkedin Profile
    My MVP Profile

  • Question : Scheduling a Long Running Process in BPEL

    Hi All,
    I have a doubt regarding deployment and scheduling of a Long Running Process in BPEL console like the way we schedule a concurrent program in Oracle Apps.
    Business Scenario:
    We have developed a BPEL process to pull data from the Database, do the required transformation and then enqueue the transformed data in a queue present in another database.
    Then a Java program will pick the data from the queue and then generate an XML file and send it to FTPserver of the Trading Partners(TP's).
    We have two Trading Partners and hence the generated XML will be put into the appropriate FTP servers of the TP's.
    The BPEL processing for both the Trading Partners is identical. Only the generated XML is put in different FTP servers.
    My question here is:
    1. Since the processing is same for both the TP's, how can we use the same process for both the Trading Partners.Can we handle it in the BPEL process itself ?
    2. Is there any way to schedule the same process in BPEL console, to first run for Trading Partner TP1 and wait for say 15 mins and then run for another Trading Partner TP2 and this cycle should continue since we will be deploying it in production environment and continuous updation of the transactions will be happening in the database.
    So far my knowledge in BPEL goes, i could not find any way to schedule a process in BPEL console. If any one has come across similar scenario, please post your updates/approach which will help us in defining the architecture for our client.
    Thanks In Advance,
    Cheers
    Dibya

    Hi Marc,
    Thanks a Lot for ur inputs.
    Need some more clarification for quetsion no.1 in my previous post.
    From our BPEL process we are calling a package which takes the Trading Partner name as the input and some other parameters. Our BPEL process will be run for both the Trading Partners since the processing is identical.
    If we develop two different processes for both Trading Partners, then there will be locking issues in the database since both the processes will refer to the same table.
    Hence we were looking for an option where we can use the same process for both the Trading Partners. Is there any way to handle it in BPEL process.
    Your inputs will be really helpful.
    Thanks In Advance,
    Dibya

  • Long running DBAdapter partnerlink activities (transactions)

    Hello,
    I try to use nonBlockingInvoke = true for long running DBAdapter partnerlink activities,
    but i'm not succesfull.
    In BPELConsole the activity seems to be running, but there is an entry
    in Manual Recovery > Activity TAB and OraBPEL~OC4J_BPEL~default_island~1
    log says:
    <2006-02-10 09:32:05,130> <INFO> <test.collaxa.cube.ws> <AdapterFramework::Outbound> file:/ora/app/oracle/product/bpel/integration/orabpel
    /domains/test/tmp/.bpel_ZalozeniObjednavky_1.2.jar/ZapisObjednavky.wsdl [ ZapisObjednavky_ptt::ZapisObjednavky(InputParameters) ] - Using
    JCA Connection Pool - max size = <unbounded>
    <2006-02-10 09:32:05,390> <ERROR> <test.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "cube engine": Callback in
    vocation failed.
    An attempt to invoke the method "handleCallback" on the performer "bpel.p0.BPEL_BIN$$BPELC_BpInv0" failed. The reported exception is: "".
    Please ensure that the signature of the method "handleCallback" is: ( IWorkItem, ICubeContext ).
    <2006-02-10 09:32:05,406> <ERROR> <test.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ...
    exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.CallbackInvokerMessage";
    the exception is: Callback invocation failed.
    An attempt to invoke the method "handleCallback" on the performer "bpel.p0.BPEL_BIN$$BPELC_BpInv0" failed. The reported exception is: "".
    Please ensure that the signature of the method "handleCallback" is: ( IWorkItem, ICubeContext ).
    Does anybody succeed with nonBlockingInvoke = true on DBAdapter partnerlink?
    I use BPEL 10.1.2 patch02
    Thank you
    Karel

    Hi Jon,
    <br><br>
    <br>
    You can set the maxConnections which represents the Maximum number of connections in the pool in oc4j-ra.xml.
    Please refer to the section Oracle Application Server Adapter for Databases in Oracle® BPEL Process Manager Developer's Guide
    for more information.
    <br><br>
    <br>
    Aruna

  • ORABPEL-05002 for long running process

    Hi everybody,
    My question is related with a long running process I have designed and which, after running for a couple of days, ends by reporting the ORABPEL-05002 error:
    ===============================================================
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.PerformMessage"; the exception is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:152)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    ===============================================================
    Looking in the Manual Recovery screen, I can see an Activity I can recover. It's about an assign Activity where I'm doing a single boolean assignation.
    Of course, together with the ORABPEL-05002 error I got also the 'Transaction was rolled back: time out' message. Note that I have modified the transaction-timeout value to 180000. The error occurs during the night, with no heavy load of the server.
    Recovering the assign activity brings back the process in the running state.
    My process pattern:
    while (1 == 1) {
    do activity;
    wait_timeout();
    So, I have the following questions:
    1. Which is cause of this error?
    2. How may I automatically recover this lost activity? RecoveryAgent?
    Any suggestion is appreciated.
    Regards,
    amo
    P.S: the full stack of error messages reported in domain.log:
    ===============================================================
    <2006-09-18 08:08:34,101> <ERROR> <SRH.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
    javax.ejb.EJBException: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
    java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
         at com.evermind.server.ejb.EJBUtils.makeException(EJBUtils.java:873)
         at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.handleWorkItem(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:1479)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handle(PerformMessageHandler.java:45)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    Caused by: java.lang.Exception: No Exception - originate from:
         at com.evermind.server.ejb.EJBUtils.makeException(EJBUtils.java:871)
         ... 10 more
    javax.ejb.EJBException: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
         at ICubeEngineLocalBean_StatelessSessionBeanWrapper0.handleWorkItem(ICubeEngineLocalBean_StatelessSessionBeanWrapper0.java:1479)
         at com.collaxa.cube.engine.dispatch.message.instance.PerformMessageHandler.handle(PerformMessageHandler.java:45)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    <2006-09-18 08:08:34,129> <ERROR> <SRH.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.PerformMessage"; the exception is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.PerformMessage"; the exception is: Transaction was rolled back: timed out; nested exception is: java.rmi.RemoteException: No Exception - originate from:java.lang.Exception: No Exception - originate from:; nested exception is:
         java.lang.Exception: No Exception - originate from:
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:152)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    <2006-09-18 08:09:05,236> <ERROR> <SRH.collaxa.cube> <BaseCubeSessionBean::logError> Error while invoking bean "activity manager": Scope not found.
    The scope "BpSwt2.30995" has not been defined in the current instance.
    ORABPEL-02094
    Scope not found.
    The scope "BpSwt2.30995" has not been defined in the current instance.
         at com.collaxa.cube.engine.core.ScopeContext.getScope(ScopeContext.java:213)
         at com.collaxa.cube.engine.core.WorkItem.setCubeInstance(WorkItem.java:259)
         at com.collaxa.cube.engine.core.WorkItemFactory.init(WorkItemFactory.java:68)
         at com.collaxa.cube.engine.core.WorkItemFactory.create(WorkItemFactory.java:58)
         at com.collaxa.cube.engine.adaptors.common.BaseWorkItemPersistenceAdaptor.load(BaseWorkItemPersistenceAdaptor.java:147)
         at com.collaxa.cube.engine.data.WorkItemPersistenceMgr.load(WorkItemPersistenceMgr.java:75)
         at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5185)
         at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5173)
         at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2136)
         at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
         at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
         at IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
         at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    <2006-09-18 08:09:05,274> <ERROR> <SRH.collaxa.cube.engine.dispatch> <DispatchHelper::handleMessage> failed to handle message
    ORABPEL-02094
    Scope not found.
    The scope "BpSwt2.30995" has not been defined in the current instance.
         at com.collaxa.cube.engine.core.ScopeContext.getScope(ScopeContext.java:213)
         at com.collaxa.cube.engine.core.WorkItem.setCubeInstance(WorkItem.java:259)
         at com.collaxa.cube.engine.core.WorkItemFactory.init(WorkItemFactory.java:68)
         at com.collaxa.cube.engine.core.WorkItemFactory.create(WorkItemFactory.java:58)
         at com.collaxa.cube.engine.adaptors.common.BaseWorkItemPersistenceAdaptor.load(BaseWorkItemPersistenceAdaptor.java:147)
         at com.collaxa.cube.engine.data.WorkItemPersistenceMgr.load(WorkItemPersistenceMgr.java:75)
         at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5185)
         at com.collaxa.cube.engine.CubeEngine.load(CubeEngine.java:5173)
         at com.collaxa.cube.engine.CubeEngine.expireActivity(CubeEngine.java:2136)
         at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:145)
         at com.collaxa.cube.ejb.impl.ActivityManagerBean.expireActivity(ActivityManagerBean.java:116)
         at IActivityManagerLocalBean_StatelessSessionBeanWrapper52.expireActivity(IActivityManagerLocalBean_StatelessSessionBeanWrapper52.java:645)
         at com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessageHandler.handle(ExpirationMessageHandler.java:43)
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:125)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    <2006-09-18 08:09:05,275> <ERROR> <SRH.collaxa.cube.engine.dispatch> <BaseScheduledWorker::process> Failed to handle dispatch message ... exception ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: Scope not found.
    The scope "BpSwt2.30995" has not been defined in the current instance.
    ORABPEL-05002
    Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.engine.dispatch.message.instance.ExpirationMessage"; the exception is: Scope not found.
    The scope "BpSwt2.30995" has not been defined in the current instance.
         at com.collaxa.cube.engine.dispatch.DispatchHelper.handleMessage(DispatchHelper.java:152)
         at com.collaxa.cube.engine.dispatch.BaseScheduledWorker.process(BaseScheduledWorker.java:70)
         at com.collaxa.cube.engine.ejb.impl.WorkerBean.onMessage(WorkerBean.java:86)
         at com.evermind.server.ejb.MessageDrivenBeanInvocation.run(MessageDrivenBeanInvocation.java:123)
         at com.evermind.server.ejb.MessageDrivenHome.onMessage(MessageDrivenHome.java:755)
         at com.evermind.server.ejb.MessageDrivenHome.run(MessageDrivenHome.java:928)
         at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:186)
         at java.lang.Thread.run(Thread.java:534)
    ===============================================================

    These are the possible cause to the problem and their solutions:
    Poor performance of the dehydration database If you are using Oracle Lite as dehydration store, please switch to use Oracle 9i or 10g. If Oracle 9i/10g is already in use, check the database parameter 'process' and 'session' to make sure it can handle the expected throughput.
    OC4J has too few available connections to the dehydration database. Increase the maxConnection number of the BPELServerDataSource at the BPEL_HOME/integration/orabpel/system/appserver/oc4j/j2ee/home/config/data-sources.xml (for developer edition) or IAS_HOME/j2ee/OC4J_BPEL/config/data-sources.xml (mid-tier installation).
    Size of message is too big Two ways to deal with this problem:
    Increase the transaction timeout at PEL_HOME/integration/orabpel/system/appserver/oc4j/j2ee/home/config/server.xml (developer edition) or IAS_HOME/j2ee/OC4J_BPEL/config/server.xml (mid-tier installation)
    Decrease the auditLevel from BPELConsole -> Manage BPEL Domain -> Configurations tab. Doing so will reduce the amount of data saved to the dehydration store.
    Cheers
    Anirudh Pucha

  • Erorr calling long running sync web service

    Hello
    I have definied simple async process:
    assign (from process input to ws invoke input)
    sync ws invoke
    assign (from ws invoke output to process output)
    Sync Web Service is long running (few minutes). In order to avoid timeout I have accordingly set sync-max-wait-time property.
    I have observed that after starting process instance I can't see it in BPEL Console (however I know it is working). Furthermore when invoke activity ends (so instance state must be saved in database) I can see following error on system console:
    <BaseCubeSessionBean::logError> Error while invoking bean "delivery": Cannot ins
    ert audit trail.
    The process domain was unable to insert the current log entries for the instance
    "2314" to the audit trail table. The exception reported is: RollbackException:
    The transaction has been marked for rollback (timed out)
    Please check that the machine hosting the datasource is physically connected to
    the network. Otherwise, check that the datasource connection parameters (user/p
    assword) is currently valid.
    sql statement: INSERT INTO audit_trail ( cikey, domain_ref, count_id, log ) VALU
    ES ( ?, ?, ?, ? )
    <2005-01-06 13:14:10,268> <ERROR> <default.collaxa.cube.engine.dispatch> <BaseSc
    heduledWorker::process> Failed to handle dispatch message invoke instance messag
    e 0c92305db480f36d:149b290:10147dc1b2e:-7fd6 ... exception Message handle error.
    An exception occurred while attempting to process the message "com.collaxa.cube.
    engine.dispatch.message.invoke.InvokeInstanceMessage"; the exception is: Transac
    tion was rolled back: timed out; nested exception is: java.rmi.RemoteException:
    No Exception - originate from:java.lang.Exception: No Exception - originate from
    :; nested exception is:
    java.lang.Exception: No Exception - originate from:
    Best Regards

    Hi,
    There are 2 ways to work around the error that you are seeing.
    Option #1: increase the JTA timeout of the underlying application server.
    Option #2: in the bpel.xml of your process, add a "nonBlockingInvoke" property to the partnerLink representing the interaction with the long running service.
    Option #2 should also address the fact that the instance is not visible in the bpel console.
    Edwin

  • Correlating to long running process

    I'm trying to set up a long running process that handles item-storage. For handling of the BPEL I have a process which needs to tell the long running process which item is stored in that particular storage. For example: i have 200 bins, which can contain up to 100 items. As the bins are handled individually (when filled), I need the 100 bpels that handle the items to wait until the long running process is finished.
    So, I figured to make a BPEL that accepts 2 messages: 'initiate' and 'addItem'. Initiate sets up the bin and waits until filled before handling the bin.
    The addItem is placed in a onMessage branch. This branch should be 'create Instance = no", as the instance is created when the bin is initiated. I get one initiate message and 100 addItem messages. Initiate & additem are correlated, so I should only receive the messages for this particular bin. However, when I try to compile this process, I get the following message:
    Error(36): [Error ORABPEL-10050]: no create instance activity [Description]: in line 36 of "L:\workspaces\MyTests\LongRunningProcess\LongRunningProcess.bpel", There is not an activity (receive/pick) to start the process. [Potential fix]: You might want to set createInstance="yes" for this <receive> / <pick>.
    Well, the 'fix' is not quite what I had in mind. I cannot have a createInstance='yes' here, as the instance is already created when I started handling the bin. Besides, I have to handle 100 incoming messages, not just 1.
    I have a need for this kind of pattern, as I have a lot of converging & diverging messages in our processing. Diverging is easy, converging is giving me a lot of headaches.
    Anyone has ideas how to help me find a solution for this? Thanks in advance!

    Hi,
    1) You could use conversation for the first issue which are designed for this usecase.
    Conversations are essential for any web service involved in asynchronous communication. This includes web services that communicate with clients using callbacks or polling interfaces, and web services that use controls with callbacks.
    More info at http://e-docs.bea.com/workshop/docs81/doc/en/workshop/guide/converse/navMaintainingStatewithConversations.html
    Thanks
    Vimala

Maybe you are looking for