Avoid 2 instances of a BPEL process executing an activity at the same time?

Hi,
Is there a way I can avoid execution of an activity from two or more different instances of the same BPEL process at the same time?
I would like to know if I can lock the activity across BPEL instances so that only one instace can execute an activity at a time?
Kindly give me possible ways I can achieve this? We are using BPEL PM 10.1.2.
Thanks,
Sasi Bhushan

As HEWizard said, you need to look at 'singleton'
http://blogs.oracle.com/matt/2006/08/23
http://orasoa.blogspot.com/2007/05/create-singleton-process.html
the idea behind a singleton is you can only make one instance of the process. In the process you can handle the sap-activity.

Similar Messages

  • Execute 4 jobs at the same time

    Hello guys,
    Is it possible with DBMS_SCHEDULER to execute 4 jobs at the same time. I'd like to use DBMS scheduler to refresh 4 different materialized view at the same time. After that, I'd like to start another job if they refreshed correctly.
    So, can this be achieved?
    Thanks for your help

    It can be achieved using a chain job. Here is how you would do it:
    Call DBMS_SCHEDULER.create_program to create 5 programs corresponding to the 4 MV jobs + the one extra job.
    Call DBMS_SCHEDULER.create_chain to create a new disabled chain.
    Call DBMS_SCHEDULER.define_chain_step to create 5 chain steps corresponding to the 5 programs you created earlier.
    Call DBMS_SCHEDULER.define_chain_rule to create 3 chain rules:
    -- Rule1:
    condition => 'TRUE'
    action => 'START step1, step2, step3, step4'
    -- Rule2:
    condition => 'step1 SUCCEEDED and step2 SUCCEEDED and step3 SUCCEEDED and step4 SUCCEEDED'
    action => 'START step5'
    -- Rule3:
    condition => 'step5 SUCCEEDED'
    action => 'END'
    Call DBMS_SCHEDULER.enable to enable the chain.
    Call DBMS_SCHEDULER.create_job to create the corresponding chain job of type chain.
    Hope that helps.

  • Execute several workitems at the same time

    Hi everybody, we are implementing the Release Payment Funcionality, but due to a big volume of workitems it's necessary to execute a lot of workitems at the same time.
    I mean, we manage 3000 workitems per week and all of them follow a procedure in wich in some cases there is only one "Releaser", so he needs to release payments in a mass way.
    Is it possible to do that??
    Regards

    If the Approval step is a User Decision, the Approver can first select all that he/she shall Approve or, all that he/she shall Reject, or whatever other options you configure. 
    Once selected, click on the "Execute" button found on the toolbar immediately above the list of workitems in the Business Workplace.
    The Approver will then be presented with the User Decision for the first selected work item.  Now, whatever choice he/she wants applied to this and all selected work items, they should click it.
    Next, the Approver will be prompted with a question asking if they want the same choice applied to the selected work items that remain.
    I don't suggest this method for all 3,000 at once, but in a pinch, for a few hundred at a time, it works pretty well.
    Hope this is relevent...apologies if not.
    Tom Carruth

  • Will USB-6251 execute multiple tasks at the same time?

    Hi all,
    I have an application controling an experiment and logging data using a USB 6251. One measurement uses Two Edge Seperation , and takes a while to complete (20 to 30 seconds). Meanwhile I need to execute another task repeatedly to sense a digital input pin. Does anyone know if the USB 6251 can execute a second task while it's busy doing the edge seperation task? So far I haven't found anything in the documentation or on the forums.
    BTW I can't just 'try it and see', or at least it's very tricky to do so. The control system is at the top of a scaffold tower, a long way from my development system. Every code change has to be deployed and installed to test it.
    I recomend you avoid such an installation if you can  )  It makes for a tough time debugging.
    Thanks for any help.
    Bandit.
    Message Edited by Bandit on 03-20-2007 12:05 PM

    A small addition to YatimM's answer
    You can execute two tasks together as long as they are not accessing the same channels or digital lines.
    For acquisiton on analog input channels, you cannot execute 2 tasks simultaneously even if they scan for 2 seperate sets of channels
    For Ex: task 1: acquiring from analog channels 0 to 3 and task2 : acquiring from analog channels 4 to 6, will still give a 'device reserved' error, because a single ADC is available and used for multiplexing all channels in a task/ scan list and the second task will give up this error

  • Executing two commands at the same time from Runtime.getRuntime

    Hi everybody,
    I m executing a command of imageMagic from javacode to crop and for changing the quality of image.The code is as below :
    String changeQuality = new String("convert " + originalImage
                        + " -crop " + imageWidth + "x" + imageHeight + "+" + imageX
                        + "+" + imageY + " -quality " + quality + " " + finalImage);
                   Runtime.getRuntime().exec(changeQuality);
    But before going to next page of jsp I want the size of the finalImage. So I m calling a new function from the base file, from which i m calling the above function, for getting the size of image:
    public String getSize(String finalImage) {
                   proc = Runtime.getRuntime().exec("identify " + finalImage);
    As identify cmd gives the size and various values of image but this command is showing the size zero. and if try to read the file then it shows FileNotFoundException.It means the file is not on the server.
    What should i do to execute both the command and getting the right result.
    Any help is appreciated.
    Thanks in advance.
    Vivek Kumar Gupta

    Hi everyone,
    Nobody ans my question but finally i got the ans of my question.
    I use a input stream for reading the first one imagemagic command. through this the second command execute after the first command finished its execution.
    And my images are now displaying without error.
    I know now you all are thinking how great mind I am!!! hai na
    Hmm woh to main hoon.
    post a question if u have over here. Perhaps i can solve your prob.

  • The display goes black intermittently, Processing seems to stop at the same time, It picks up where it went blank.

    The display on my older imac goes blank intermittently. It seems that the computer also freezes temporarily, usueall for a second or two, then comes right back where it left off. There doesn't seem to be any predictable timing to the events. They occur a few times daily.  Help!  the computer is no longer under warrantee. Any ideas on how to troubleshoort this. I'm not sure that it is a display issue althought that is what i see. The freezing of the computer during the blackouts might indicate a power supply issue.
    Thanks

    The display on my older imac goes blank intermittently. It seems that the computer also freezes temporarily, usueall for a second or two, then comes right back where it left off. There doesn't seem to be any predictable timing to the events. They occur a few times daily.  Help!  the computer is no longer under warrantee. Any ideas on how to troubleshoort this. I'm not sure that it is a display issue althought that is what i see. The freezing of the computer during the blackouts might indicate a power supply issue.
    Thanks

  • Avoid Concurrent Instances of A BPEL Process

    Hi:
    We have a BPEL Process and we need The instances of the same process not run concurrently. Is there any configuration for this?
    This is an Asyncronous process.
    The process inserts in a Table from one system to another as an interfase and when more than one instances run at same time we are having "duplicate key errors".
    Ignacio...

    Hmm, this is an interesting requirement. I am not sure if there is an easy way to implement this but this seems like something that the BPEL PM engine should provide. Just to make sure that I understand the requirement:
    do you want:
    1) wait process #1 to finish before you can initiate process #2
    or
    2) do you just want to make sure that process #1 does not execute at the same time process #2 is executing (by this I mean that it is OK for process #2 to run when process #1 is waiting for async callback or time.
    Thank you,
    Edwin

  • 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

  • Why UPD processes execute report RSM13000 for very long time?

    Hi,
    When I use sm50 or sm51 to check my CRM system which version is 5.0, I found some UPD processes execute report RSM13000 for very long time. And some DIA processes are executing report SAPMSSY1 for verly long time too. They are occupy lot of processes of system. How does this happen? What's the reason and how to solve it? Thanks for your help!
    Many thanks and Best regards,
    Long

    Please check the configurtion of your system.As per your reply it seems that the work processes are not sufficient in the system.
    Hi wait time and response time  ,is  problem in the system.Either you have a lot of load on the system or you CPU's are over loaded.
    Please check the system status from st06 and look for the cpu utilisation /memory utilisation.
    SM66 to see the long running online and background jobs.
    St03n - look for the workload and wait times for all transactions.
    st02-may help in checking the memory paramaetrs.
    Hope it will help you in resolving the issue.
    Thanks
    Amit

  • Execute 2 processes at the same time same session

    is it possible to execute 2 (or 3, 4 would be better =) store procedures at the same time trough the same session?
    (something like parallelism)
    I need to to that, I don't care too much the result of the execution, some ideas???
    I made a store procedure that makes ping to 400 ip's but is kind of slow, I have one DB trigger to execute it, that is the reason to execute it "trough parallelism".

    MikeWasouski wrote:
    is it possible to execute 2 (or 3, 4 would be better =) store procedures at the same time trough the same session?
    (something like parallelism)
    I need to to that, I don't care too much the result of the execution, some ideas???
    I made a store procedure that makes ping to 400 ip's but is kind of slow, I have one DB trigger to execute it, that is the reason to execute it "trough parallelism".Don't use triggers. Triggers are there to guard the integrity of the data of the table. It is not the best of ideas to make use of triggers to perform other work that's not relevant to that integrity of that row's data - like sending an e-mail or pinging an IP for example.
    Triggers however can trigger work that needs to be done when a row is inserted. The triggers can schedule a DBMS_JOB. This becomes part of the transaction that trigger is subjected to.
    When that transaction is committed, the DBMS_JOB is committed for execution. When the transaction is rolled back, that DBMS_JOB is removed and not executed. Unlike doing the work in the trigger where the work is done (e.g. sending an e-mail) when the transaction can still be rolled back.
    When scheduling a once-off job, you also need to decide how you are going to deal with errors in the job. Bad firing off 400 jobs to ping IPs and your code is broken somewhere (run-time error) and have these 400 job executing (and failing) 16x times each, before clogging up the job queue as broken jobs.

  • OIM - Same tasks being executed at the same time

    Hi,
    I'm using Lotus Notes and SAP User Management connector to provision users to these target systems.
    Both Lotus Notes and SAP has a issue related to same tasks being executed at the same time. In other words, if we try to create two or more users in these systems, an error is thrown because a user is currently being created.
    So, when I run a trusted reconciliation, I'm getting many errors related to this issue because OIM is trying to create more than one user at the same time in the same target system.
    Does anyone knows if I can configure OIM to run the same provisioning process only when the previous process is already completed?
    Best Regards.
    Nitto.

    Frankly, I haven't thought about using OVD yet. I just assume that OIM should be able to deal with 2 instances of the same kind of ITResource. Because this requirement is very common.
    I did a little experience. For the second OID, I created manually a new set of ITResource, Resource Object, Process Form, Process, AttrName Lookup Code, Recon Rule. The apporach seems working. I can successfully provision the OIM user to the OID now.
    But a problem is in the original OID User Process definition created by the OID connector installation, there are almost 20 Process tasks, how do I copy those tasks to my new Process definition? I just mannually created a "Create User" task, which is needed for provisioning.

  • The DSO is included in two deamon processes how can i load at the same time

    Hi Gurus,
    i am working on BI7.0 and our application is based on RDA(real time data acquisition) and we are pushing the data using web services and the problem is now we have a DSO which is included in 2 deamon processes and its allowing us to load after the completion of first one.i just want to load them parallely and want to execute at the same time to the DSO.so please let me know how can it be possible and how we can achieve this..
    your help will be appreciated greatly..
    Thanks & Regards.
    Ashok

    Hi
    We managed this requirement by closing the DTP request. You have to ask your ABAP team to code this closing.
    Thanks and regards
    Kwong Tat

  • Is there any version of Indesign that allows to open multiple instance at the same time

    I am using Indesign CS3 to generate the bulk reports automatically(programmatically) using Adobe indesign library . One of the key limitation to this tool is it allows to open only one instance at a time unlike word where multiple instances can be opened at the same time. Is there any adobe indesign too version desktop/server which allows to open multiple instances at the same time. Any help on is appreciated. Thanks.

    @PeterG
    You said "You might want to examine the End User Licensing Agreement (EULA) for  any prohibition against using these two instances at the same time with  the same license; the license does permit two installs for the same user  that are not used simultaneously." I thought that meant you had read the EULA. It's pretty unambiguous on that point.
    For everyone's edification about multiple installations and server use with a standard license here's the relevant text:
    2. Software License.
    If you obtained the Software and any required serial number(s) from Adobe or one of its authorized
    licensees and as long as you comply with the terms of this agreement, Adobe grants you a non-exclusive
    license to install and use the Software in a manner consistent with its design and Documentation and as
    further set forth below. See Section 16 for specific provisions related to the use of certain products and
    components, for example font software, Acrobat, After Effects, Adobe Presenter, Contribute, Adobe
    Device Central, Flash Player, Flash Builder, and Adobe Runtimes.
    2.1 Limited Use. The Software, or portions of the Software, may allow installation and use without a serial
    number. If so, you may install but not use such non-serialized Software on any number of Computers as
    part of an organizational deployment plan. Further, you may install and use such non-serialized Software
    on any number of Computers for demonstration, evaluation and training purposes only and only if any
    Output Files or other materials produced through such use are used only for internal, non-commercial and
    non-production purposes. You may not use such non-serialized Software after any applicable time-out
    period has ended, unless you input a valid serial number under Section 2.2. ACCESS TO AND USE OF
    ANY OUTPUT FILES CREATED WITH SUCH NON-SERIALIZED SOFTWARE IS ENTIRELY AT
    YOUR OWN RISK.
    2.2 General Use. You may install and use one copy of the Software only on the Permitted Number of your
    compatible Computers into which you enter a valid serial number.
    2.3 Distribution from Server. You may copy an image of the Software onto Computer file server(s) within
    your Internal Network for the purpose of downloading and installing the Software onto Computers within
    the same Internal Network for use as permitted by Section 2.1 and 2.2.
    2.4 Server Use. You may install the Software on Computer file server(s) within your Internal Network only
    for use of the Software initiated by an individual from a Computer within the same Internal Network only
    as permitted by Section 2.2. The total number of users (not the concurrent number of users) able to use the
    Software on such Computer file server(s) may not exceed the Permitted Number.
    By way of example, the foregoing does not permit you to install or access (either directly or through
    commands, data or instructions) the Software: (a) from or to a Computer not part of your Internal Network,
    (b) for enabling Web hosted workgroups or services available to the public, (c) by any individual or entity
    to use, download, copy or otherwise benefit from the functionality of the Software unless licensed to do so
    by Adobe, (d) as a component of a system, workflow or service accessible by more than the Permitted
    Number of users, or (e) for operations not initiated by an individual user (e.g., automated server
    processing).
    2.5 Portable or Home Computer Use. Subject to the important restrictions set forth in Section 2.6, the
    primary user of the Computer on which the Software is installed under Section 2.2 (“Primary User”) may
    install a second copy of the Software for his or her exclusive use on either a portable Computer or a
    Computer located at his or her home, provided that the Software on the portable or home Computer is not
    used at the same time as the Software on the primary Computer.
    2.6 Restrictions on Secondary Use by Volume Licensees. If the Software was obtained under an Adobe
    volume license program (currently known as Adobe Open Options) by any licensee other than an
    educational volume licensee, the second copy of the Software made under Section 2.5 must be used solely
    for the benefit and business of that volume licensee. For more information about secondary use by volume
    licensees, please visit our Web Site at http://www.adobe.com/go/open_options.
    There is also language stating that if you have a dual boot or other system capable of running more than one OS you will need a separate license for each platform if you want to run the software on more than one.

  • How to process two files at the same time using BPM

    Hi experts,
    I have a Integration Process it takes two files one Header xml and one Lines xml. These files shoudl be processed at the same time because them will be mappend in a Idoc.
    The realy trouble is that these inbound xmls never are executed at the same time. Then a IP is executed for each inbound xml.
    This is the IP:
    http://picasaweb.google.com/hose86/SapXi#5377539387476591346
    This is related documentation:
    http://help.sap.com/saphelp_nwpi71/helpdata/en/cb/15163ff8519a06e10000000a114084/frameset.htm
    I try to do all what I know, but It don't work fine :S
    Thanks in advance and Regards,
    Jose Antonio.

    Hi Jose,
    Don't specify any end condition for  fork step and check the start process check box in both the receive step.
    Also put all steps inside the block.. so that the control step in deadline branch can throw exception and after that the BPM ends. As per the design now, if a deadline exception is raised (it will b handled) but after that the transformation step and send step is executed. There the BPM fails.
    Regards
    Suraj
    Edited by: S.R.Suraj on Sep 4, 2009 5:39 AM

  • Time Division Multiplexing and Processing Different Loops at the same time

            Hi, I am new in Labview so you may find my questions too silly, sorry about that
    I want to design an interface to control the test&measurement devices remotely. I have two desks and there are several devices on these desks. The real problem is to use two different devices at the same time. To do this I heard that I can use time division multiplexing. But I couldn't find enough information about it in Labview. Another advice I heard was to use a matrice and hold the on/off state of the devices in this matrice. 
    Where should I start the design to create such a system? Do you have any advices? Thank you in advance.
    My basic GUI is attached.
    Attachments:
    InterfaceAli.zip ‏42 KB

    As Mike pointed out you cannot communicate in parallel on the GPIB bus - unless you have separate buses for each instrument - and that defeats the purpose of a bus. I am not sure about LXI.
    With regard to your VI:
    1. Do not use global variables to pass your data around.
    2. You should use the Array data type, not the Matrix data type. The Matrix data type in LabVIEW should only be used for matrix mathematical operations (linear algebra) which cannot be easily performed on the array data type. You have many more tools in LV to work with arrays.
    3. The Event structure needs to be in a parallel loop. This is basic data flow. If you do not understand this concept, get some training, either though the online tutorials or through a class.
    4. Use Value Changed events and place the button terminals inside the event case for that control.
    5. The parallel loops need to have a Wait or some other function which causes a delay. Otherwise, the first one to start executing could consume all available processor resources. These are called "greedy loops." 
    6. Use integer data types for case structure selector inputs. Floating point values are coerced to integers at the inputs. If the values resulted from calculations, unexpected rounding effects may occur, resulting in the wrong case being selected. In some cases using type defed enums may be even better. The underlying data is integer and the enum item names show up in the case selector labels, helping to document what the case does or why it was selected.
    7. Remove the timeout case from the event structure since it never executes. Also avoid Use Default if Unwired on the terminal with your matrix (array) data. You never have a situation where an empty array is appropriate.
    Before going any further with the program questions, you need to carefully define your requirements.  How many instruments will you have? How many can be active at one time? What kinds of communication between the program and the instruments is required? This includes commands to the instrument, data returned from the instrument, error handling, and timing requirements. What will be done with the data? Display, save to file, use to automatically control another device? What safety requirements or constraints need to be met? Once you have a good requirements document, then you can begin to determine what kind of program architecture is best suited to meet the needs.
    I suspect that you may be making some things much more complicated than they need to be while ignoring other important issues.
    Lynn

Maybe you are looking for

  • Automatic update of form

    I have a problem with form. suppose there is a table. this table is related with stock exchange data. stock exchange data updates after every second or two seconds. Now i need when the data of this table become update the form should be update automa

  • Flex 3 and Java - Integrated Development on Eclipse

    I am new to flex as well as to eclipse. I have downloaded Adobe Flex Builder 3.0 and installed it. I want to use java at the back-end, but I don't have Java perspective option in eclipse. Therefore, I am currently using 2 IDE(s), one is flex-builder,

  • Why can't I run the latest Java on Firefox to operate my network camera? It does not find Java. Please Help!!

    I just installed a network camera in my home correctly and signed in to view what was on the camera. But after logging in , info comes up with" cannot find Java" with an install button. I have the latest update of Java and the Firefox browser. There

  • Character set change? Help!

    Hi, I am doing imports and the export client uses ZHS16GBK character set (simplified chinese) and my imports are done in US7ASCII which is not a super set of the aforementioned character set. I want to change to ZHS32GB18030 which is a super set of U

  • Mac mini G4 will not reboot after Onyx upgrade

    DURING UPGRADE OF ONYX INSTRUCTED TO RUN REPAIR DISK FROM MAC OSX INSTALL DISK. SYSTEM WILL NOT REBOOT. ANY SUGGESTIONS?