Polling + Bpel : polling ok, no bpel instance

Hello,
i have a simple pretty polling with logicalDeleteStrategy, and a Bpel that call a directBinding (OSB)
my problem is:
-the polling work fine (the logicalDelete is done)
-But there no bpel instance created.
thx
SOA Suite11.1.1.4

Have you checked the 'Create Instance' check box in the initial receive activity of your BPEL process.
user7741749 wrote:
Hello,
i have a simple pretty polling with logicalDeleteStrategy, and a Bpel that call a directBinding (OSB)
my problem is:
-the polling work fine (the logicalDelete is done)
-But there no bpel instance created.
thx
SOA Suite11.1.1.4

Similar Messages

  • Java.lang.OutOfMemoryError -- Is there a way to limit BPEL instances number

    Hi All,
    My BPEL process is using JMS adapter to read the JMS queue. Whenever a new message arrives, a new BPEL instance is created. However, when the message gets bigger and multiple messages arrive at queue at the same time, the OC4J gets java OutOfMemory (heap space) error and was forced shutdown. I'm wondering if there's any way to limit the BPEL instance created, say, only one at a time, and the messages would be processed in sequence. Would this be a good way to not use so much heap at one time? Is there a way to limit the BPEL instance created?
    Thanks for your help!
    Michelle

    Take a look at how to configure Jms polling interval (talks about a property that you can set to introduce a delay in between dequeues). That might be of some help to start with.
    It is supposed to work exactly the way you want it i.e the activation agent does a dequeue and hand off to bpel engine (which creates an instance and uses the same thread to run as much of that instance as possible i.e till the first dehydration point). So, if your process has a dehydration point right at the beginning (which could be due to invocation of another async process, or wait or ...), you could very well see this thread go right back and process the next available message.
    I believe this is a generic problem that is not necessarily jms adapter specific. One way would be to split up your process into three processes:
    1. "Kickoff" process which contains just a "receive" associated with the activation agent followed by an invocation of a "Controller" process
    2. "Controller" process which checks for the provided input as to which process it needs to invoke, and then goes on to check how many instances of that process are currently running; if this number is below a certain threshold, kick off the main process providing it the necessary payload gotten from the "KickOff" process
    3. "Main" process which is same as your current process except that it is a typical async process without the adapter "receive" partner link
    So, the idea being that for any process where you want to introduce a control-flow mechanism, you would split it into #1 and #3 above. Have one generic Controller process, which caters to all of the processes.
    Would be interested in learning if others have solved this in a generic way.

  • How to delete the BPEL instance in Java code

    Hi all,
    How to delete the BPEL instance which I initiate in Java code?
    Thanks
    Jayson

    Hi,
    take a look here
    http://download-uk.oracle.com/docs/cd/B31017_01/integrate.1013/b28986/toc.htm
    Interface IInstanceHandle
    void      delete()
    Delete the instance from the process domain.

  • Where is the BPEL Instance payload stored in soa database?

    Hi all,
    Given an instance id, I need to get the payload used to invoke the BPEL.
    I searched in the soa database. Also I went through the bpel client apis. But I couldn't find any. Is there any table in the BPEL dehydration store that can give me the entire bpel instance input payload given the instance_id?
    Thanks,
    Shyamala

    Hi,
    have you tried to unzip the blob inside the xml_document table?
    the dockey is availalbe via document_ci_ref

  • Looking to use BPEL Instance and counter inside of a transformation

    I'm trying to find a way to include the BPEL instance and a counter within a BPEL transformation to create a unique key.
    Example, picking up files with multiple lines and no unique keys, each file is processed as a unique BPEL instance (key 1), and would like to use the row number (of the file, but not specified in the file) as the second key.
    My process takes a file from a file adapter and loads it into a database adapter if that helps.
    Any ideas would be appreciated.

    We ended up finding a Node-set Function -> Position to return the position inside of the dataset.

  • 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

  • BPEL Instance Id

    Hi,
    How are the BPEL instance Ids assigned to each BPEL service instances? Is it some kind of a sequence generator?
    Is there a way to specify / change the Min_value for this Instance Id generator for BPEL so that it starts assigning sequence ids starting from the specified value?
    Thanks,

    To get access to the instance If of a newly started BPEL suitecase/process the build-in method
    getInstanceId() has to be used.
    This method can be used in the bpel:exec action only.
    <bpelx:exec name="Java_Embedding_1" language="java" version="1.3">
    <![CDATA[ setVariableData("instance", new Long(getInstanceId())); ]]>
    </bpelx:exec>
    <bpelx:exec name="Java_Embedding_1" language="java" version="1.3"><!--[CDATA[ setVariableData("instance", new Long(getInstanceId())); ]]--></bpelx:exec>
    In that case the instance ID is stored in the variable 'instance', which is of type 'long' and has been created in the scope in which the bpel:exec action resides.

  • OSB Instance ID like BPEL Instance ID

    Hi all,
    Are we going to have OSB unique instance ID like BPEL instance ID ???
    if not how to create a unique instance ID for OSB instance ??
    Thanks
    Phani

    Use the BEA service bus function fn-bea:uuid() to generate a Unique If for a Message Instance in OSB.

  • BPEL instance recreation for used correlation set.

    Hi,
    In our project we have deployed two composites in the first one we have used a fileadapter,mediator,webservice the flow is like from Fileadapter-->mediator-->webservice(1^st^ Composite) .
    In the second composite bpel interface is web service and wrting to an outbound location using a file adapter. The flow is like webservice-->BPEL-->Fileadapter(2^nd^ Composite).
    To achieve message aggregation,In the BPEL we have used co-relation set on ID.When we put file in inbound location having same unique ID it will be processed within the same BPEL instance and files having different ID will have different bpel instance.
    So it's working as expected after deployment only once.The message are aggregated.But when we are putting some new files in the inbound location having same ID(i:e new instance to be created)there is no files are aggregated at outbound location.In console we can see the flow from fileadapter-mediator-webservice invocation but it's invoking the bpel component..
    I am using BPEL instance corelation set to aggregate multiple message segment from same caller for 5 mins.It works fine no issues.
    For the same corelation ser if I repeat the same requests after 10 mins it won't instantiate BPEL also does not give any error .
    To make it work we have to redeploy the 2^nd^ composite everytime.
    So can anybody please help us out on this how to resolve this issue.
    Thanks In Advance!:)

    Hi,
    Even I am getting the same exception. Even tough my Process doesn't contain any conflicting Receive there is a pick activity that receives the Incoming call with two different messages. And logically it should not generate a conflicting receive.
    Did anyone get the root cause of this problem. If someone can update this . It will be really helpful. I am trying to create the PL for the particular branch instead of the global PL as suggested in one of he blogs. I will also update if i get any new clues.
    Thanks in advance.
    Yogesh

  • Make a BPEL instance recoverable from a BPEL fault hanler?

    Hi
    Does anybody know of a way to make a BPEL instance recoverable from a BPEL catch fault handler, e.g. using Java to programatically instruct the service engine to do the same thing as when using the fault management framework and fault policies to perform a human-intervention action?
    A scenario where this would be very useful is when you have a transformation that fails, e.g. due to missing values in a DVM or XREF. Then, instead of having to do a resend from the source system, you would solve the issue in the affected DVM or XREF and then recover the instance.
    Regards
    Lars

    Hi,
    I don't know of an expiclit way of achieving this directly from within a BPEL Fault handler (e.g. Java API Calls). However an approach i have used is to be a little creative with the use of additional components. You could either place the xForm in a spearate component. Thay way be invoking from the parent component the invoke will receive the fault. Hence your fault framework and fault policies can configure the appropraite actions beacuse the fault occurs on an invoke. Another approach is if you did not want to move the transform is to call a spearate component that just throws a fault. This would have a similar approach as the invoke would receive the fault.
    Regards Dave

  • BPEL instance recreation for corelation set.

    Hi,
    In our project we have deployed two composites in the first one we have used a fileadapter,mediator,webservice the flow is like from Fileadapter-->mediator-->webservice(1^st^ Composite) .
    In the second composite bpel interface is web service and wrting to an outbound location using a file adapter. The flow is like webservice-->BPEL-->Fileadapter(2^nd^ Composite).
    To achieve message aggregation,In the BPEL we have used co-relation set on ID.When we put file in inbound location having same unique ID it will be processed within the same BPEL instance and files having different ID will have different bpel instance.
    So it's working as expected after deployment only once.The message are aggregated.But when we are putting some new files in the inbound location having same ID(i:e new instance to be created)there is no files are aggregated at outbound location.In console we can see the flow from fileadapter-mediator-webservice invocation but it's invoking the bpel component..
    I am using BPEL instance corelation set to aggregate multiple message segment from same caller for 5 mins.It works fine no issues.
    For the same corelation ser if I repeat the same requests after 10 mins it won't instantiate BPEL also does not give any error .
    To make it work we have to redeploy the 2^nd^ composite everytime.
    So can anybody please help us out on this how to resolve this issue.
    Thanks In Advance!:)

    Hi,
    try the BPEL forum
    BPEL
    Frank

  • Bpel instance query by creation date

    Dear all,
    When I query bpel instance by creation date, i find there are only several options availble which inclue :
    "Past 10 minutes", "Past hour", "Past 24 hours", "Past 48 hours", "Past week","Past month" ,"Past 6 months", "Past year" .
    My question is, why don't they provide the option "creation date from"/"creation date to"(creation date between ? and ?)?
    Or , there have been patchs for this?
    Is anybody can answer?
    Thanks advanced!

    You want to do something else, you need to go to the database. Table CUBE_INSTANCE, field CREATION_DATE.

  • BPEL instance metrics

    Hi all,
    I'm trying to optimize some BPEL process for less memory usage. Is there any way how to check the gain of my manipulations? It is important to see how much memory each BPEL instance has used while executing.
    Thanks in advance..

    Not sure if this will be helpful: http://bpelknowledge.blogspot.com/2010/07/tables-in-bpel-dehydration-store.html
    -AR

  • BPEL instance number in the XSL

    How can I reference the current BPEL instance number in an XSL?
    I figure it would handy to have the unique BPEL instance number for trouble shooting if there is a problem with the interface.

    hi
    I am facing problems using getInstanceID inside XSLT
    the expression not only returns null, but also produces problem in transforming remaining nodes.
    I need to use this inside XSL map since i have multiple inputs ( using for-each in transform) and for each of these, i need instance id to be assigned
    Is there any way?

  • Manual Recovery of BPEL Instances -- Failed

    Hi
    I am facing some issue related to Manual Recovery Process. All my BPEL instances are sitting in the Manual Recovery Mode, when I try to Recover / Call the instances, the console if failing to deliver the Conversation ID.
    Can any one help me out..
    Regards
    Kirthi

    Hi,
    When I try to recover the instance that is waiting for manual recovery, I didn't see anything happening.
    Also the the fault policy is active and working fine during the retry intervals. That means If I disable one of the webservices and enable them during the retry it is success after some failure retries.
    Any ides why the recovery not working in SOA 10.1.3.3
    --Khaleel                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                       

Maybe you are looking for