Periodic Execution of Work Instances [ JCA 1.5 ]

Hi folks!
I have studied JCA for a little while now and i have successfully deployed a jca adapter that reads and writes files.
Now, I need implement a periodic execution of work instances. And JCA�s specification recomends to use java.util.Timer, because the resource adapter can use the BootstrapContext instance to obtain a Timer instance from the application server.
But, I prefer to use java.util.concurrent.ScheduledExecutorService for schedule of TimerTasks.
Am i wrong?
Is This an break of the best practices for use of threads on the JCA Spec or on the J2EE spec ?
Could someone give me the bigger picture?
regards
Paulo Alberto

Can you let me know how you went about with file read and write. Is there a place where I can get details on working with JCA

Similar Messages

  • RBBP_OFFLINE_EVAL No e-mails exist for execution of work items

    Hi ,
    We are trying to implement SRM offline approval. The system is able to send the email to the approvers, but when they click on approve, the work item does not get updated.
    When i try to run report RBBP_OFFLINE_EVAL it says that No e-mails exist for execution of work items. No Work Item Found for Processing. What do i need to check to resolve this. If I approve thru SRM, it is working.
    Thanks,
    Jograd

    Hi
    refer related links too
    SRM : Offline approval process
    Offline approval not working?
    Check WF-BATCH user id has email ID?
    regards
    Muthu
    Edited by: muthuraman on Aug 18, 2008 8:00 AM

  • Time management issue -Employees dont have any periodic interval of working

    Hi Experts,
    We are implementing negative time management for one of the client where there are dynamic work schedules exist.
    The employees dont have any periodic interval of working. The off days for employees are also not fixed.(even holiday calender is not fixed)
    Currently they have legacy system where time administers (around 35 time admins ) put in DWS and off days for the employees for that month,
    and based on that the time administrition happens with the help of time machine. after payroll run happens in legacy system.
    what is the SAP solution - for such type of work styles? where dynamic work shcedules are there.
    People dont have fixed shifts to work on.
    points will be rewarded fully, people who are not sure about their solution - please sorry
    Thanks
    Jay

    Hi,
    We had implemented such a scenario for our customer.
    For this you have to implement 'OPEN WORK SCHEDULE RULES' which means employee can work at any time throughout the week and can take 'OFF' at any day of the week.
    Employee can work from any time in the day to any time he/she wants.
    follow the steps below to create the OPen WSR:-
    1.Create one DWS with 24 hours as planned working hours.
    2. Create the PWS with all 7 days working using the 24 hours DWS.
    3. Create the WSR rule using the above PWS.
    4. Generate the WSR.
    5. Assign to your employees and check it will work.
    Thanks & Regards, SWapnil Mishra

  • Task execution start and Instance entered the activity

    In the Audit Trail of the Workspace, how to set the instance to Task execution start or Instance entered the activity?

    I know the problem. One instance does not finish the commit method

  • Is this roughly how the labVIEW Execution Systems work?

    I've not taken a class in OS design, so I don't know the strategies used to implement multitasking, preemptive or cooperative. The description below is a rough guess.
    LabVIEW compiles Vis to execute within its own multitasking execution environment. This execution environment is composed of 6 execution systems. Each execution system has 5 priority queues (say priorities 0->4). Vis are compiled to one or more tasks which are posted for execution in these queues.
    An execution system may either have multiple threads assigned to execute tasks from each priority queue, or may have a single thread executing all tasks from all priority queues. The thread priorities associated with a multithreaded execution system are assigned according to the queue that they service. There are therefore 5 available thread priority levels, one for each of the 5 priority level queues.
    In addition to the execution queues, there are additional queues that are associated with tasks suspended in various wait states. (I don't know whether there are also threads associated with these queues. It seems there is.)
    According to app. note 114, the default execution environment provides 1 execution system with 1 thread having a priority level of 1, and 5 execution systems with 10 prioritized threads, 2 threads per priority queue. NI has titled the single threaded execution system "user interface" and also given names to the other 5. Here they will be called either "user interface" or "other".
    The "user interface" system is responsible for all GUI actions. It monitors the keyboard and mouse, as well as drawing the controls. It is also used to execute non-thread-safe tasks; tasks whose shared objects are not thread mutex protected.
    Vis are composed of a front panel and diagram. The front panel provides an interface between the vi diagram, the user, and the calling vi. The diagram provides programmatic data flow between various nodes and is compiled into one or more machine coded tasks. In addition to it own tasks, a diagram may also call other vis. A vi that calls another vi does not actually programmatically branch to that vi. Rather, in most cases the call to another vi posts the tasks associated with the subvi to the back of one of the labVIEW execution system�s queues.
    If a vi is non-reentrant, its tasks cannot run simultaneously on multiple threads. This implies a mutex like construction around the vi call to insure only one execution system is executing the vi. It doesn�t really matter where or how this happens, but somehow labVIEW has to protect an asynchronous vi from simultaneous execution, somehow that has to be performed without blocking an execution queue, and somehow a mutex suspended vi has to be returned to the execution queue when the mutex is freed. I assume this to be a strictly labVIEW mutex and does not involve the OS. If a vi is reentrant, it can be posted/ran multiple times simultaneously. If a vi is a subroutine, its task (I think there is always only one) will be posted to the front of the caller's queue rather than at the back of the queue (It actually probably never gets posted but is simply mutex tested at the call.) A reentrant-subroutine vi may be directly linked to its caller since it has no restrictions. (Whether in fact labVIEW does this, I don�t know. In any event, it would seem in general vis that can be identified as reentrant should be specified as such to avoid the overhead of mutexing. This would include vis that wrap reentrant dll calls.)
    The execution queue to which a vi's tasks are posted depends upon the vi execution settings and the caller's execution priority. If the caller's execution priority is less than or equal the callee's execution settings, then the callee's tasks are posted to the back of the callee's specified execution queue. If the caller's execution priority is greater than the callee's specifications, then the callee's tasks are posted to the back of the caller's queue. Under most conditions, the vi execution setting is set to "same as caller" in which case the callee�s tasks are always posted to the back of the caller's execution queue. This applies to cases where two vis are set to run either in the other execution systems or two vis are set to run in the user interface execution system. (It�s not clear what happens when one vi is in the �user interface� system and the other is not. If the rule is followed by thread priority, any background tasks in the �other� systems will be moved to the user interface system. Normal task in the �other� systems called by a vi in the �user interface� system will execute in their own systems and vice versa. And �user interface� vis will execute in the caller�s �other� system if the caller has a priority greater than normal.)
    Additionally, certain nodes must execute in the "user interface" execution system because their operations are not thread-safe. While the above generally specifies where a task will begin and end execution, a non-thread safe node can move a task to the �user interface� system. The task will continue to execute there until some unspecified event moves it back to its original execution system. Note, other task associated to the vi will be unaffected and will continue to execute in the original system.
    Normally, tasks associated with a diagram run in one of the �other� execution systems. The tasks associated with drawing the front panel and monitoring user input always execute in the user interface execution system. Changes made by a diagram to it own front panel are buffered (the diagram has its own copy of the data, the front panel has its own copy of the data, and there seems to be some kind of exchange buffer that is mutexed), and the front panel update is posted as a task to the user interface execution system. Front panel objects also have the advanced option of being updated sequentially; presumably this means the diagram task that modifies the front panel will be moved to the user interface execution system as well. What this does to the data exchanged configuration between the front panel and diagram is unclear as presumably both the front panel and diagram are executing in the same thread and the mutex and buffer would seem to be redundant. While the above is true for a control value it is not clear whether this is also true for the control properties. Since a referenced property node can only occur on the local diagram, it is not clear it forces the local diagram to execute in the user interface system or whether they too are buffered and mutexed with the front panel.
    If I were to hazard a guess, I would say that only the control values are buffered and mutexed. The control properties belong exclusively to the front panel and any changes made to them require execution in the �user interface� system. If diagram merely reads them, it probably doesn�t suffer a context switch.
    Other vis can also modify the data structure defining the control appearance and values remotely using un-reference property nodes. These nodes are required to run in the user interface system because the operation is not thread-safe and apparently the diagram-front-panel mutex is specifically between the user interface execution system and the local diagram thread. Relative to the local diagram, remote changes by other vis would appear to be user entries.
    It is not clear how front panels work with reentrant vis. Apparently every instance gets its own copy of the front panel values. If all front panel data structures were unique to an instance, and if I could get a vi reference to an instance of a reentrant vi, I could open multiple front panels, each displaying its own unique data. It might be handy, sort of like opening multiple Word documents, but I don�t think that it�s available.
    A note: It is said that the front panel data is not loaded unless the front panel is opened. Obviously the attributes required to draw an object are not required, nor the buffer that interfaces with the user. This rule doesn�t apply though that if property references are made to front panel objects, and/or local variables are used. In those cases at least part of the front panel data has to be present. Furthermore, since all data is available via a control reference, if used, the control�s entire data structure must be present.
    I use the vi server but haven�t really explored it yet, nor vi reference nodes, but obviously they too make modifications to unique data structures and hence are not thread-safe. And in general, any node that accesses a shared object is required to run in the user interface thread to protect the data associated with the object. LabVIEW, does not generally create OS level thread mutexes to protect objects probably because it becomes to cumbersome... Only a guess...
    Considering the extra overhead of dealing with preemptive threading, I�m wondering if my well-tuned single threaded application in LV4.1 won�t out perform my well-tuned multithreaded application in LV6.0, given a single processor environment�
    Please modify those parts that require it.
    Thanks�
    Kind Regards,
    Eric

    Ben,
    There are two types of memory which would be of concern. There is temporary and persistent. Generally, if a reentrant vi has persistent memory requirements, then it is being used specifically to retain those values at every instance. More generally, reentrant code requires no persistent memory. It is passed all the information it needs to perform its function, and nothing is retained. For this type of reentrant vi, memory concern to which you refer could become important if the vis are using several MBytes of temporary storage for intermediate results. In that case, as you could have several copies executing at once, your temporary storage requirements have multiplied by the number of simultaneous copies executing. Your max memory use is going to rise, and as labview allocates memory rather independently and freely, the memory use of making them reentrant might be a bit of a surprise.
    On the other hand, the whole idea of preemtive threading is to give those tasks which require execution in a timely fashion the ability to do so regardless of what other tasks might be doing. We are, after all, suffering the computational overhead of multithreading to accomplish this. If memory requirements are going to defeat the original objective, then we really are traversing a circle.
    Anyway, as Greg has advised, threads are supposed to be used judiciously. It isn't as though your going to have all 51 threads up at the same time. In general I think, overall coding stategy should be to minimize the number of threads while protecting those tasks that absolutely require timely execution.
    In that sense, it would have been nice if NI had retained two single threaded systems, one for the GUI and one for the GUI interface diagrams. I've noticed that control drawing is somewhat slower under LV6.0 than LV4.1. I cannot, for example, make a spreadsheet scroll smoothly anymore, even using buffered graphics. This makes me wonder how many of my open front panel diagrams are actually running on the GUI thread.
    And, I wonder if threads go to sleep when not in use, for example, on a wait, or wait multiple node. My high priority thread doesn't do a lot of work, but the work that it does is critical. I don't know what it's doing the rest of the time. From some of Greg's comments, my impression is it in some kind of idle mode: waking up and sleeping, waking up and sleeping,..., waking up, doing something and sleeping... etc. I suppose I should try to test this.
    Anyway that's all an aside...
    With regard to memory, your right, there are no free lunches... Thanks for reminding me. If I try this, I might be dismayed by the additional memory use, but I won't be shocked.
    Kind Regards,
    Eric

  • Period key stopped working

    Is there a setting that alters the period key? Only seems to work when pressing the function key or when using num lock F6 key. Makes error sound if presed alone

    Open the Speech pane of System Preferences and check whether either the listening key or the speech key has become set to the period; if so, change the setting.
    (19056)

  • Importing metadata in an execution-only work-repository

    Hi all,
    I have to migrate my ODI-environment to another machine, in another LAN.
    But..., I am not allowed to install the complete work-repository there; they want to have the execution-only repository.
    Now I wonder how I am able to 'install' my scenarios on that machine.
    On my development-machine, I have the scenarios, and I have also batchfiles for them, to execute from the DOS-prompt.
    But.. since I have no Designer on my new machine (I did the runtime-only install), I wonder how to migrate the scenarios to this machine.
    Has anyone done this before?
    Any hints&tips are appreciated.
    Steffen

    Hi Craig,
    Thanks for your reply. This seems indeed the way to appoach this.
    I also got the hint to look at some notes on metalink and found this information there. Must say, I hadn't found this in the documentation - maybe I didn't look well ;-))
    Regards,
    Steffen

  • Cannot Start Execution from Work repository of ODI

    I'm unable to start any execution with ODI agent from my work repository, getting the following error,
    "oracle.odi.runtime.agent.invocation.InvocationException: ODI-1274: Agent Exception Caused by: Create DwgConnectConnection to work repository failed; nested exception is java.sql.SQLException: Exception occurred while getting connection: oracle.ucp.UniversalConnectionPoolException: Cannot get Connection from Datasource: java.sql.SQLException: Listener refused the connection with the following error:
    ORA-12505, TNS:listener does not currently know of SID given in connect descriptor"
    The SID of the data base where my work repository lies has been changed. I have updated the new SID in topology with work repository connection JDBC and all the data servers pointing to the DB.I'm able to successfully test connections with agent and no agent. I'm able to connect with ODI studio to the work repository and regenrate my scenario's. Where as during execution with logical agent getting the above error. Why is the agent unable to recognise the change in SID made in topology? Any suggestions would help!!

    I have not updated odiparams with the repository details. I have one master and almost 7 work repository repository associated to it. I have congigured only the master and one of the work repository in odiparams rest are not added.
    But i haven't faced any issue due to this so far.

  • Access denied in Windows 2012 Server Manager after a period of time working without problems

    Hello,
    I had 2 servers with windows 2012 installed in a domain (dc is in a 3rd server) and both added to server manager of each other. Both servers had Failover cluster installed and configured roles. After startup in both servers i can see the other and manage
    it without problems (in server manager and failover cluster manages) but after a period of 30-40 minutes in both servers I see "Online - Data Retrieval failures Ocurred" for the partner server and "Online - Access Denied" for local server.
    When I access de Failure Cluster Manager I had errors accessing resources and roles and can´t failover the cluster.
    I removed the failover cluster thinking that could be the original problem, remove servers from domain, change names and add again to the domain without install failover cluster.
    Now, the servers have not the failover cluster feature and the problem persists. 30-40 minutes after boot the server manager show messages of inaccesible partner with same messages. I tried to execute powershell commands to add a new ip to the NIC and I
    receive a Access Denied Message and show Access Denied message in other events in log.
    I´m using Domain Administrator Account and tried different solutions but not solved. I saw that this message can occur in a variety of different scenarios, but i don´t know why works during a period of time before failing. It´s frustrating
    Regards
    EDITED: in detail of Online - Data retrieval failures i see that: Configuration refresh failed with the following error: The metadata failed to be retrieved from the server, due to the following error: The WS-Management service cannot process the request.
    The WMI provider returned an 'access denied' error.

    Hi PabloVDL,
    It seems is this two server has register the incorrect DNS, please try to add this server manage NIC IP to your manager hosts file or if possible trmpory disable the useless NIC DNS register. This issue also some times caused by when you installed
    the HP insignth management, if in your environment you have this tools please temporarily uninstall it.
    More information:
    Windows Server 2012 - Server Manager Troubleshooting Guide, Part III: Common
    Events and Errors in Server Manager
    http://social.technet.microsoft.com/wiki/contents/articles/13445.windows-server-2012-server-manager-troubleshooting-guide-part-iii-common-events-and-errors-in-server-manager.aspx
    I’m glad to be of help to you!
    We
    are trying to better understand customer views on social support experience, so your participation in this
    interview project would be greatly appreciated if you have time.
    Thanks for helping make community forums a great place.

  • Commit work and wait after bapi execution not working

    Hi experts,
    I have a requirement from my client that consists on posting 2 documents and then clearing them.
    Right now Iu2019m posting the first 2 documents using BAPI_ACC_DOCUMENT_POST and for clearing both documents Iu2019m using Tcode F-51 but sometimes it's giving me an error clearing the documents because after the second bapi run, posting the second document, apparently all went right and a document number it's returned but the database doesnu2019t updated the doc number.
    Iu2019m using commit work and wait, and already tried BAPI_TRANSACTION_COMMIT,  but it doesnu2019t work sometimes, and the only solution that i found was the Wait up 1 second command , which it's slowing the program execution.
    i think the problem it's on the bapi posting execution, due to a lag on the database side, but Iu2019m not sure...
    Did anyone already had this problem? Has anyone has a solution for this?
    Thanks in advance
    Best Regards
    João Martins

    Hi,
    Normally every BAPI will work on Update task so that the data will be updated once the commit work is done. For the commit work, we will normally call the bapi function module - BAPI_TRANSACTION_COMMIT. It should work.
    In your case, just try the below option:
    Please call the bapi - BAPI_ACC_DOCUMENT_POST & BAPI_TRANSACTION_COMMIT in a seperate function module and call this function module in your program (just pass the import / export / table parameters accordingly).
    For the information, I had once a similar type of issue and it got solved once I did like the above.
    Regards,
    Selva K.

  • My macbookpro17'late2011, period don't work, i can't log to my email, please help, ctf.

    My Macbook pro 17" late 2011 ,the period in the key pad don't work , i can't log in anything has .com because i press the dot and it dose't do anything ,
    is there anything i can do ? do i have to replace the key pad or just the period key alone . Thanks for the help .ctf.

    Thank sig very much , i have not extended the Applecare , i did not think things like this going bad so soon ,
    do i need to fix only the period key or the the whole keypad.
          Thanks . ctf

  • BEx Fiscal Period variables not working in Webi

    Hello,
    We have an BEx user entry variable for Fiscal period, that works correctly in BEx. In the prompt LOV, I get values from year 2003 to 2013.
    When I run it in Webi, the LOV starts from year 0000 to 2040. Also there are 16 periods in a year, wheras the LOV displays 24 period, even after restricting on fiscal variant.
    Has anyone  successfully been able to make Webi work with BEx fiscal period variants?
    Thanks,
    Nikhil

    I created a universe objects with following in the
    "Select"
    [0P_FPER].[NAME]
    "Where" condition
    <FILTER KEY = "@Select(Fiscal year Period\LovPeriod_Fiscal Year)">
    <CONDITION OPERATORCONDITION = "Greater">
    <CONSTANT CAPTION = "AB1000001"/>
    </CONDITION></FILTER>
    When I create a report with this object, I get no data.
    I change the above to
    "Select"
    [0P_FPER].[NAME]
    "Where" condition
    <FILTER KEY = "@Select(Fiscal year Period\LovPeriod_Fiscal Year)">
    <CONDITION OPERATORCONDITION = "Less">
    <CONSTANT CAPTION = "AB1000001"/>
    </CONDITION></FILTER>
    I tried changing the CONSTANT CAPTION values, everytime "Less" works but "Greater" does not. Does "Greater" not work?

  • Test Stand seq w/ dll batch file execution not working

    I am using Test Stand 4.1, running a seq that calls a dll.  The dll contains a batch file execution function that has not been working properly.  I am not 100% sure what the function is as I do not have access to the direct code from which the dll was created.  I believe I have a file, however please remember this is a guess that I am looking at the correct function/file. 
    This is a Pass/Fail test step that calls a batch file.  The batch file runs properly without the use of Test Stand and called by the dll.  In the code that I believe is running, I see there is a step that I am guessing does not run (see below for test steps).  It seems as though these steps are being "stepped over" and not running, however the test does seem to be entering this function.  The test reports a pass/fail status as the data is reported into a txt file.  If the txt file contains the correct data, the test step reports PASS, even though the batchfile does not run.
    :Note:  [batchfile.bat] is the name of the batch file being called; the [ ] are not present 
    // Run Batch File
     ChkErr(LaunchExecutableEx([batchfile.bat] ,windowState,&handle));   
     // Wait for batch file to complete task
     do{
      ProcessSystemEvents();
     }while(!ExecutableHasTerminated (handle));
     RetireExecutableHandle (handle);
    Any one have any suggestions as to why the batch file is not being called and running properly?
    Thank you
    Jason_C

    Thanks for the feed back.  I have realized and it seems as though sometimes the CWD varies.  The current working directory when the batch file does not run seems to be set to the desktop, not to the specified directory.  The batch file is used to program a chip, calling the exe to run using commands.  The file are speciifed by an absolute path, however the exe is not.  The batch file is as below and seems to match up with a problem with the CWD.  How can change though?  I will have to check in the Start in field, but where can I find that property? 
     Thank You
    --Jason
    del ..\misc\mplab.txt
    echo C:\Program Files\JTRS\01_P55461U\bin\uutsw\CR1_T2V3L_PMM_STUB_LOAD.hex
    ..\misc\pm3cmd /5 /BLCC:\Program Files\JTRS\01_P55461U\misc\t2v3l_pmm_stub_load\t2v3l_pmm_stub_load.pm3 /k /m /y /e >> ..\misc\mplab.txt >> ..\misc\mplab.txt
    ..\misc\pm3cmd /5 /BVCC:\Program Files\JTRS\01_P55461U\misc\t2v3l_pmm_stub_load\t2v3l_pmm_stub_load.pm3 >> ..\misc\mplab.txt

  • Publish action not working with JCA based Business Service

    Hi All,
    I have created one BS in OSB that publish the message in AQ. Its working fine as expected when tested from test console.
    I have made one proxy service which after transformation will publish the message to this BS, but the publish action is not invoking.
    I have added log action inside request action of my publish action and log is getting generated for that with correct request.However, I cant see message in DB neither can i see any exception/error logs in OSB.
    I tried replacing publish with route action and its working fine , message is getting published in AQ.Did any one face this type of issue before ???
    Or publish action works only with jms based Business services.
    Appreciate your help.
    Regards,
    Karan

    Bingo !!!
    Setting QOS helped me to find out the exact error. Was passing complete soap envelope to BS instead of passing body part only.
    Thanks a lot for your help mate .
    One more query can you please enlighten me on the use of QOS in OSB, such as in what scenarios we should use QOS.
    Regards,
    Karan
    Edited by: Karan Mann on Mar 14, 2013 3:37 AM

  • Activation number after installing LR 5 from a disc following Lightroom 5 CC trial period does not work

    I installed Lightroom on the Creative Cloud, trial version, then I was offered LR 5 disc. I thus installed it and entered the serial number but it doesn't work now that the trial version is over on CC. I don't understand... Can anybody help me with that?
    I must have missed something, I am stuck now.
    THanks in advance

    I installed Lightroom on the Creative Cloud, trial version, then I was offered LR 5 disc. I thus installed it and entered the serial number but it doesn't work now that the trial version is over on CC. I don't understand... Can anybody help me with that?
    I must have missed something, I am stuck now.
    THanks in advance

Maybe you are looking for