JMS Listener within a workflow

I have a JMS listener, waiting for new messages on a queue. Once there is a new message it uses that message which contains an object to begin the work flow process. The first step in the work flow calls an external engine we built that does quite a bit. At each critical point in the engine it adds a message to a topic. I want to have a listener for each one of the steps that will listen for the results to be added to the topic. Once it's there if everything is good go to the next listener and wait for the next result set. If it's bad I want to take the results and send the message to another queue and end that work flow. I'm not having much luck finding how to put a listener within the work flow. I have the listener that starts the process going fine using a Global Automatic event.
I thought the best solution would be do a subflow process at each points of them listeners. Have another global automatic event listener waiting which will then start the subflow process which stores the results and then returns which step to take back to the original process. But that didn't work it was completing all of the subflow's w/o waiting for a listener to find a message. So nothing ended up happening.
Any help?

That's what I figured with that global interactive I was trying to access the instance variables before so it wasn't showing up under my user. Now instead of an error pop up the error message shows up at the bottom of the runtime UI.
Error at bottom of page: (Followed by a bunch of package names)
Unexpected Error
javax.faces.el.EvaluationException: /jsf/menu/menuActionNormal.xhtml @24,147 onActivate="#{componentBean.doExecuteAction}": fuego.papi.exception.InvalidTaskNumberException: Invalid task number '0' for activity '/Manager#Default-1.0/Global'.
Warning in the Log:
There was an error when trying to obtain the environement information: null
Application: Engine, Module: Main, Thread: <0> StartUpServerIt gives me the top error when I have the notification set up to receive an external notification and gives me the warning for both cases either external notification or internal event. Its an internal event but in the documentation it never covers internal event situations for NotificationWait so I tried both.
Another thing is when I have 2 or more instances waiting at the wait how does it know which one to go too? In the real example it will be receiving an object from the thread that will have an id number. But in this little test set up how does it know which instance the global activity is for?

Similar Messages

  • Using Spring JMS DefaultMessageListenerContainer within Oracle CEP

    Hi everyone,
    I need to use a DefaultMessageListenerContainer Spring bean (from spring-jms.jar), have the wlevs bean factory to assemble it (it depends from a POJO) and set it as a property of an Adapter bean.
    How do I do it?
    I tried to put the spring-jms.jar into the xbootclasspath but it depends from spring-core.jar. If i put spring-core.jar into the xbootclasspath, the server dies screaming.
    Documentation says i can use legacy Spring beans within an OCEP application, well how do i do it? Can anyone tell me the right steps to do?

    Thanks for the answer :), i just had to import the appropriate packages into the MANIFEST.MF, put all the classes referring to spring-jms into the bundle and away i went.
    The application starts, listens to the JMS destination (an Oracle AQ queue) and dequeues messages correctly.
    I still have a problem when i try to suspend/uninstall the application from the OCEP visualizer.
    The JMS listener is encapsulated into an OCEP ResumableBean/SuspendableBean. It gets created and started (with a call to DefaultMessageListenerContainer.start()) within the beforeResume() method. I hoped that putting a call to DefaultMessageListenerContainer.shutdown() within the suspend() method would do the trick but... the undeployment hangs for a while, then the following is printed on stdout:
    ####<13-gen-2011 17.09.15 CET> <Error> <org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution> <> <myServer> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1294934955875> <BEA-000000> <Closing runnable for context OsgiBundleXmlApplicationContext(bundle=cepcc-adapter-test-aq, config=osgibundle:/META-INF/spring/*.xml) did not finish in 10000ms; consider taking a snapshot and then shutdown the VM in case the thread still hangs>
    ####<13-gen-2011 17.09.15 CET> <Notice> <Deployment> <> <myServer> <[ACTIVE] ExecuteThread: '7' for queue: 'weblogic.kernel.Default (self-tuning)'> <> <> <> <1294934955895> <BEA-2045001> <The application bundle "cepcc-adapter-test-aq" was undeployed successfully>
    ####<13-gen-2011 17.09.29 CET> <Warning> <Spring> <> <myServer> <Timer-5> <> <> <> <1294934969426> <BEA-2047008> <Exception encountered while stopping application "cepcc-adapter-test-aq": java.lang.IllegalStateException: BundleContext is no longer valid
    java.lang.IllegalStateException: BundleContext is no longer valid
         at org.eclipse.osgi.framework.internal.core.BundleContextImpl.checkValid(BundleContextImpl.java:1047)
         at org.eclipse.osgi.framework.internal.core.BundleContextImpl.getService(BundleContextImpl.java:694)
         at org.springframework.osgi.service.importer.support.internal.support.ServiceWrapper.getService(ServiceWrapper.java:99)
         at org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor$ServiceLookUpCallback.doWithRetry(ServiceDynamicInterceptor.java:107)
         at org.springframework.osgi.service.importer.support.internal.support.RetryTemplate.execute(RetryTemplate.java:83)
         at org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.lookupService(ServiceDynamicInterceptor.java:430)
         at org.springframework.osgi.service.importer.support.internal.aop.ServiceDynamicInterceptor.getTarget(ServiceDynamicInterceptor.java:415)
         at org.springframework.osgi.service.importer.support.internal.aop.ServiceInvoker.invoke(ServiceInvoker.java:62)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invokeUnprivileged(ServiceTCCLInterceptor.java:56)
         at org.springframework.osgi.service.util.internal.aop.ServiceTCCLInterceptor.invoke(ServiceTCCLInterceptor.java:39)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.osgi.service.importer.support.LocalBundleContextAdvice.invoke(LocalBundleContextAdvice.java:59)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:131)
         at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:119)
         at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
         at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
         at $Proxy371.unregisterMBean(Unknown Source)
         at com.bea.wlevs.spring.MBeanRegistrationBeanPostProcessor.destroy(MBeanRegistrationBeanPostProcessor.java:145)
         at com.bea.wlevs.spring.ApplicationContextLifecycle.onContextClosedEvent(ApplicationContextLifecycle.java:261)
         at com.bea.wlevs.spring.ApplicationContextLifecycle.onApplicationEvent(ApplicationContextLifecycle.java:149)
         at org.springframework.context.event.SimpleApplicationEventMulticaster$1.run(SimpleApplicationEventMulticaster.java:78)
         at org.springframework.core.task.SyncTaskExecutor.execute(SyncTaskExecutor.java:49)
         at org.springframework.context.event.SimpleApplicationEventMulticaster.multicastEvent(SimpleApplicationEventMulticaster.java:76)
         at org.springframework.context.support.AbstractApplicationContext.publishEvent(AbstractApplicationContext.java:274)
         at org.springframework.context.support.AbstractApplicationContext.doClose(AbstractApplicationContext.java:819)
         at org.springframework.osgi.context.support.AbstractOsgiBundleApplicationContext.doClose(AbstractOsgiBundleApplicationContext.java:197)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.access$501(AbstractDelegatedExecutionApplicationContext.java:69)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext$2.run(AbstractDelegatedExecutionApplicationContext.java:214)
         at org.springframework.osgi.util.internal.PrivilegedUtils.executeWithCustomTCCL(PrivilegedUtils.java:85)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.normalClose(AbstractDelegatedExecutionApplicationContext.java:210)
         at org.springframework.osgi.extender.internal.dependencies.startup.DependencyWaiterApplicationContextExecutor.close(DependencyWaiterApplicationContextExecutor.java:379)
         at org.springframework.osgi.context.support.AbstractDelegatedExecutionApplicationContext.doClose(AbstractDelegatedExecutionApplicationContext.java:236)
         at org.springframework.context.support.AbstractApplicationContext.close(AbstractApplicationContext.java:794)
         at org.springframework.osgi.extender.internal.activator.ContextLoaderListener$3.run(ContextLoaderListener.java:807)
         at org.springframework.osgi.extender.internal.util.concurrent.RunnableTimedExecution$MonitoredRunnable.run(RunnableTimedExecution.java:60)
         at org.springframework.scheduling.timer.DelegatingTimerTask.run(DelegatingTimerTask.java:66)
         at java.util.TimerThread.mainLoop(Timer.java:512)
         at java.util.TimerThread.run(Timer.java:462)
    >
    I also tried a call to DefaultMessageListenerContainer.setTaskExecutor passing it an anonymous class like this:
    container.setTaskExecutor(new TaskExecutor() {
    @Override
    public void execute(Runnable task) {
    logger.debug("Submitting runnable task");
    executorPool.submit(task);
    where executorPool is an instance field of the OCEP bean initialized like this: executorPool = Executors.newFixedThreadPool(8);
    Anyway the result is the same, when i perform the uninstall from the OCEP visualizer the application is undeployed, but with the same painful message.
    Any hint on what i'm doing wrong?
    Thanks in advance!
    Edited by: javawarrior2003 on 13-gen-2011 17.29

  • How can I add a link to an item within a workflow email - which will always find the item - even if it's status has changed?

    I've used the method within the SharePoint designer to add a link to the workflow context current item URL, but when the current item status changes then obviously this link will no longer work.
    How can I change this link so that it will always open the item, even if someone has changed it within the list, before I clink on the link?
    This is an important one as over 300 people will use the list and many of these will be emails about items on the list will be in different time zones.  I don't want to have lots of mails from people saying "this list doesn't work" as it's
    critical they keep using it.
    Please help.
    P.S.  I don't know if the <href> method will work, so if someone can confirm to me then that would be great.

    Hi,
    According to your post, my understanding is that add a link to an item within a workflow email.
    I’ m not very clear about the status you said. Please descript more detail which URL do you want to display.
    Per my knowedge, you can display the following url in your email body:
    [%Workflow Context: Current Item URL%]
    [%Workflow Context: Current Site URL%]
    [%Workflow Context: Workflow Status URL%]
    [%Current Item: Encoded Absolute URL%]
    Please start the workflow automatically when an item is changed and changed.
    No matter how you  edit the item or update the approve status, the URLs remains the same.
    Thank you for your understanding.
    Best Regards,
    Linda Li
    Linda Li
    TechNet Community Support

  • Deadlock in TopLink when using JMS listener on WebLogic

    I am experiencing a deadlock in TopLink 10.1.3 on WebLogic 9 in code that previously worked on TopLink 9.0.4 with WebLogic 8.1. As such, I'm not sure if it's due to the TopLink change, the WebLogic change or both. Anyway, we have a JMS listener (note, NOT a MessageDrivenBean) that is updating an existing TopLink cached domaing object. The JMS listener thread gets stuck when attempting to commit the transaction. The thread-dump shows that there is another thread which is blocked in the ConcurrencyManager waiting to obtain the lock on an object which is being updated by the listener thread. It appears to me that the root cause is that the Synchronization.afterCompletion() listener is running on a different thread than the one which owns the locks which were obtained beforeCompletion.
    See stack traces.
    First, the message listener thread which is waiting for participants in the transaction to commit:
    "[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=9 tid=0x3a4a4728 nid=0xa48 in Object.wait() [0x3a0cf000..0x3a0cfbec]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.ServerTransactionImpl.globalRetryCommit(ServerTransactionImpl.java:2665)
         - locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.ServerTransactionImpl.globalCommit(ServerTransactionImpl.java:2570)
         at weblogic.transaction.internal.ServerTransactionImpl.internalCommit(ServerTransactionImpl.java:277)
         at weblogic.transaction.internal.ServerTransactionImpl.commit(ServerTransactionImpl.java:226)
         at weblogic.ejb.container.internal.BaseEJBObject.postInvoke1(BaseEJBObject.java:539)
         at weblogic.ejb.container.internal.StatelessEJBObject.postInvoke1(StatelessEJBObject.java:72)
         at weblogic.ejb.container.internal.BaseEJBObject.postInvokeTxRetry(BaseEJBObject.java:374)
         at com.avinamart.BusinessLogic.Bean.JobService.JobService_u1ylwo_EOImpl.submitJobAndRun(JobService_u1ylwo_EOImpl.java:1388)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:253)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener._submitAsAJob(OptimizationTaskListener.java:217)
         at com.avinamart.Framework.Event.Task.OptimizationTaskListener.processMessage(OptimizationTaskListener.java:344)
         at com.emptoris.base.event.EPASSMessageBaseListener.onMessage(EPASSMessageBaseListener.java:722)
         at weblogic.jms.client.JMSSession.onMessage(JMSSession.java:3824)
         at weblogic.jms.client.JMSSession.execute(JMSSession.java:3738)
         at weblogic.jms.client.JMSSession.pushMessage(JMSSession.java:3253)
         at weblogic.jms.client.JMSSession.invoke(JMSSession.java:4195)
         at weblogic.messaging.dispatcher.Request.wrappedFiniteStateMachine(Request.java:674)
         at weblogic.messaging.dispatcher.DispatcherServerRef.invoke(DispatcherServerRef.java:262)
         at weblogic.messaging.dispatcher.DispatcherServerRef.handleRequest(DispatcherServerRef.java:134)
         at weblogic.messaging.dispatcher.DispatcherServerRef.access$000(DispatcherServerRef.java:36)
         at weblogic.messaging.dispatcher.DispatcherServerRef$1.run(DispatcherServerRef.java:105)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Next, the other thread which is participating in the transaction which is stuck:
    "[ACTIVE] ExecuteThread: '2' for queue: 'weblogic.kernel.Default (self-tuning)'" daemon prio=5 tid=0x3adb80a0 nid=0xb30 in Object.wait() [0x3c7af000..0x3c7afd6c]
         at java.lang.Object.wait(Native Method)
         - waiting on <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
         at java.lang.Object.wait(Object.java:474)
         at oracle.toplink.internal.helper.ConcurrencyManager.acquire(ConcurrencyManager.java:76)
         - locked <0x0c7a0000> (a oracle.toplink.internal.helper.ConcurrencyManager)
         at oracle.toplink.internal.identitymaps.CacheKey.acquire(CacheKey.java:80)
         at oracle.toplink.internal.identitymaps.FullIdentityMap.remove(FullIdentityMap.java:164)
         at oracle.toplink.internal.identitymaps.HardCacheWeakIdentityMap.remove(HardCacheWeakIdentityMap.java:82)
         at oracle.toplink.internal.helper.WriteLockManager.releaseAllAcquiredLocks(WriteLockManager.java:363)
         at oracle.toplink.publicinterface.UnitOfWork.afterTransaction(UnitOfWork.java:2123)
         at oracle.toplink.transaction.AbstractSynchronizationListener.afterCompletion(AbstractSynchronizationListener.java:135)
         at oracle.toplink.transaction.JTASynchronizationListener.afterCompletion(JTASynchronizationListener.java:66)
         at weblogic.transaction.internal.ServerSCInfo.callAfterCompletions(ServerSCInfo.java:862)
         at weblogic.transaction.internal.ServerTransactionImpl.callAfterCompletions(ServerTransactionImpl.java:2913)
         at weblogic.transaction.internal.ServerTransactionImpl.afterCommittedStateHousekeeping(ServerTransactionImpl.java:2806)
         at weblogic.transaction.internal.ServerTransactionImpl.setCommittedUnsync(ServerTransactionImpl.java:2857)
         at weblogic.transaction.internal.ServerTransactionImpl.ackCommit(ServerTransactionImpl.java:1097)
         - locked <0x0c7a0908> (a weblogic.transaction.internal.ServerTransactionImpl)
         at weblogic.transaction.internal.CoordinatorImpl.ackCommit(CoordinatorImpl.java:211)
         at weblogic.transaction.internal.CoordinatorImpl_WLSkel.invoke(Unknown Source)
         at weblogic.rmi.internal.BasicServerRef.invoke(BasicServerRef.java:517)
         at weblogic.rmi.internal.BasicServerRef$1.run(BasicServerRef.java:407)
         at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
         at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:147)
         at weblogic.rmi.internal.BasicServerRef.handleRequest(BasicServerRef.java:403)
         at weblogic.rmi.internal.BasicServerRef.access$300(BasicServerRef.java:56)
         at weblogic.rmi.internal.BasicServerRef$BasicExecuteRequest.run(BasicServerRef.java:934)
         at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
         at weblogic.work.ExecuteThread.run(ExecuteThread.java:179)
    Is this the same concurrency bug which was fixed in 10.1.3.1??? As I am writing this, I am attempting to build the application with the updated TopLink jar to test for myself. Has anyone else seen this scenario with WebLogic? I should also point out that the problem only occurs when the listener is running on a separate server than the one hosting the JMS queue it reads from. It may be that when the listener runs on the same server, it does not use multiple threads in the transaction.
    Any ideas are greatly appreciated.
    - Bruno

    We've got the same kind of issue with toplink 10.1.3.0.0 and bea weblogic 8.1 SP5.
    I 've not tried with 10.1.3.1.0, did you?
    Do you have a new status for this issue.
    Chris

  • Reading user input from a form within a workflow and perform actions in workflow based on the input

    Sharepoint 2013
    Need to get input from a user based on some condition within a workflow and based on the input received continue with the workflow. It can be a form with a text box and button to which i can redirect and when user enters a value and clicks on the button
    ,I should come back to the workflow and perform other processing. I should also be able to manually start this workflow from VS.
    Tried different approaches like initiation forms ,user input action of SP2010 etc all of these approaches either add some tasks to task list or force me to click on the workflow link to get input from a user.
    Any suggestions on this?

    Hello
    Thanks for the code, but I don't need an array of beans. By the way this code make a bean and an arraylist everytime it's called?
    I was looking for something like this:
    <form action="myjsp.jsp" method="post">
    ...so after submitting the result will go to the myjsp.jsp file and in the myjsp.jsp file
    <jsp:useBean id="value" class"myBean">
    <jsp:setpropertiy name"value" ....>so everytime I click the add button the values will go the mysjp.jsp file and that will set them in the javabean file. this method uses two files but I was looking for doing this in the same jsp file and not sending it to another file.
    chers
    Ehsan

  • Single account reconciliation within a workflow

    Hi all,
    I need assistance, I'm trying to reconcile a single account within a workflow.
    I use the following code, but IDM performs a full reconciliation instead of to reconcile the specified account:
    --<Action id='0'>
    --<expression>
    --<block>
    --<set name='reconView'>
    --<new class='com.waveset.object.GenericObject'/>
    --</set>
    --<set>
    --<ref>reconView</ref>
    --<map>
    --<s>request</s>
    --<s>ACCOUNT</s>
    --<s>accountId</s>
    --<ref>MyID</ref>
    --</map>
    --</set>
    --<invoke name='setId'>
    --<ref>reconView</ref>
    --<s>Reconcile:MyResource</s>
    --</invoke>
    --</block>
    --</expression>
    --</Action>
    --<Action id='1' application='com.waveset.session.WorkflowServices'>
    --<Argument name='op' value='checkinView'/>
    --<Argument name='view'>
    --<ref>reconView</ref>
    --</Argument>
    --</Action>
    Anyone can please help me?
    Thanks you in advance, and best regards
    David.

    The problem is solved. I create a view instead of to create a generic object.
    Here is my code:
    <Activity id='7' name='Reconcile single account'>
            <Action id='0' name='Create Reconcile View' application='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='createView'/>
              <Argument name='type' value='reconcileView'/>
              <Argument name='viewId' value='ReconcileViewer'/>
              <Variable name='view'/>
              <Return from='view' to='reconView'/>
            </Action>
            <Action id='1' name='Set ReconView Attributes'>
              <expression>
                <block>
                  <set name='reconView.request'>
                    <s>ACCOUNT</s>
                  </set>
                  <set name='reconView.accountId'>
                    <ref>myAccountId</ref>
                  </set>
                  <invoke name='setId'>
                    <ref>reconView</ref>
                    <s>Reconcile:myResourceName</s>
                  </invoke>
                </block>
              </expression>
            </Action>
            <Action id='2' name='Checkin Reconciliation View' application='com.waveset.session.WorkflowServices'>
              <Argument name='op' value='checkinView'/>
              <Argument name='view' value='$(reconView)'/>
            </Action>
            <Transition to='end'/>
            <WorkflowEditor x='502' y='201'/>
          </Activity>

  • JMS Listener configuration problem

    I am installing IDM6.0 and trying to use the password synch feature with Active Directory. Below are my environment details
    tomcat 5.0.28 on linux
    Sun Message Queue 3.6 for JMS
    When I am configuring the JMS Listener adapter I am getting the below error. I have installed the Sun Message Queue and storing the administered objects in a file.
    Test connection failed for resource(s):
    JMS Listener: javax.naming.NameNotFoundException
    If anyone has ever done that earlier it will be very helpful for me.
    Thanks in advance

    Just an update on my last comment
    I had tested this on the windows box. The problem may not be there in the Linux

  • Creating a thumbnail within a workflow process

    Hi,
    Within my workflow process, I want to create thumbnail images of the files/documents that have been uploaded in a page through the out of the box 'Download' component. I want to store these thumbnails on the same page(within /content/mypage). As far as I know, the logic of thumbnail creation of an uploaded files is already available in the DAM. On further probing, I got to know that the thumbnail creation is done as part of a workflow and the workflow process is 'CreateThumbnailProcess'(com.day.cq.dam.core.process.CreateThumbnailProcess). So I tried creating an instance of the CreateThumbnailProcess and calling the execute() method of this process within my workflow process. Here's a glimpse of what I did.
    public void execute(WorkItem item, WorkflowSession session, MetaDataMap args) throws WorkflowException {
         CreateThumbnailProcess proc = new CreateThumbnailProcess();
         System.out.println("Test Workflow entered!!");
         proc.execute(item, session, args);
         System.out.println("Test Workflow executed. Thumbnail created!!");
    But when I start my workflow, I keep getting "Test Workflow entered!!" multiple number of times on my console. I am unable to understand what's happening. Please help me. If there are any simpler alternatives to create a thumbnail, please suggest them too.
    Thanks in advance
    Shriram K M

    Ok.
    So couple of things which you can try out to check what's causing the issue.
    1. If you comment
         //proc.execute(item, session, args);
      does it still causing the same issue. If yes, then problem would be somewhere in your workflow call or process execution which calling this process recurring (i can assume as not see the whole code) and, if not, then this call is only causing the issue which is pretty wierd (looking into possibility and will update you) if you do not have extended the same process as you mentioned above.
    2. Not sure calling another process like this is correct way to do it because CreateThumbnailProcess automatically gets called in cq when image object created in system to create default renditions.
    To answer you other question.
    creating extra thumbnail apart from default renditions you should have to create workflow process as you already did but extend AbstractAssetWorkflowProcess (dont call CreateThumbnailProcess.execute() because there is default workflow process already setup.) and below code in execute method
    Asset asset = getAssetFromPayload(workItem, workflowSession.getSession());
    oriIs = asset.getOriginal().adaptTo(Node.class)
                                .getProperty(JcrConstants.JCR_CONTENT + "/" + JcrConstants.JCR_DATA).getBinary().getStream();
    asset.addRendition(rendition, oriIs, mimetype);  //mimetype and rendition you have to create it as an object based on your requirement.
    also check http://dev.day.com/docs/en/cq/current/javadoc/com/day/cq/dam/core/process/CreateThumbnailP rocess.html for more detail.
    Let me know for more information.
    Thanks,
    Pawan

  • Password Sync Issue:JMS Listener: java.lang.ClassCastException

    Hi,
    For AD Password sync implemetation, I have installed Sun IDM 8.0, Sun Message Queue 4.5, Open DS and Active Directory.
    While configuring the IDM JMS Listner Adapter, I am getting the below error during the Test connection:
    Test connection failed for resource(s):
    JMS Listener: java.lang.ClassCastException: javax.naming.Reference cannot be cast to javax.jms.QueueConnectionFactory
    Can someone please help me out to resolve this issue?

    Can you tell us what you put in the JMS listener fields for:
    java.naming.factory.intial and java.naming.factory.url
    These shoudl match the settings used to create the JMX Queue.
    Looks to me like you simply didn't put the right values in there.

  • JMS Listener and SSL

    Hi,
    I want to configure the JMS Listener adapter to communicate with the JMS server via SSL. In the resource adapter configuration I don't see any setting to make use of SSL. Or is SSL supported at all?
    Any pointers would be highly appreciated.
    Thanks,
    kIDMan.

    I was able to get Rob's solution working. Here is the general overview.
    Problem: We are running the apex listener with Tomcat 5.5 with no http server on the front end. We are attempting to get mutual authentication working. Information from the clients X509 certificate (the one installed in their browser and used for mutual authentication) is not showing in owa_util.print_cgi_env. We found if we manually put the certificate variables we are interested in, into the header of the request it will work.
    Solution:
    - Add a java filter (http://www.oracle.com/technetwork/java/filters-137243.html)
    * The basic procedure configuration is in the web.xml of the apex listener
    * The code is java. It gives you access to the request
    * The idea is
    1. Intercept the request before it makes it to oracle
    2. Read the client x509 cert in the filter and add it to the header of the request (javax.servlet.request.X509Certificate )
    At this point owa_util.print_cgi_env will have access to anything you put in the filter. Just a note to further complicate the issue. If you do have apache running as well as tomcat you can modify the headers in the httpd.conf without adding this filter.
    Basically there is some syntax (don't quote this) but something like:
    Header add MY_VARIABLE "%{APACHE_VAR}e"
    Where MY_VARIABLE is whatever you want to call the variable(this is what will show up in owa_util.print_cgi_env. And APACHE_VAR is a list of apache variables that you have access to. There is a list of the available http://httpd.apache.org/docs/2.2/mod/mod_ssl.html. Listed in the available apache variables are client cert info. Hope this helps someone get a general idea of how they can approach the problem.

  • JMS Listener in webtier

    Dear all,
    I Hav som problems .
    sombody plz help me out.
    Is it a good practise to implement Jms listener in the web tier.
    Is there an alternative method like using web service or some thing like that.
    Thnx in adv

    Sounds like you want basic JMS message consumer functionality.
    http://docs.oracle.com/javaee/1.4/tutorial/doc/JMS4.html#wp79145

  • JMS Listener Bug??

    I am implementing SIM 7.0 and have enabled a JMS Listener resource. The resource works well and we have no issues with it.
    The problem is when you try to edit the Synchronization policy for the JMS Listener and then cancel it without saving i.e.
    1. Select the JMS Listener
    2. Edit Synchronization Policy
    3. Cancel the dit, you need not change anything
    This throws a Task may have been deleted error. Can someone help me with solving this issue?
    I have been trying to raise this as a bug but have not been successful. Can someone help me with how to report a bug. I went to the Bugs Reporting page but could not determine the proper set of options to pick to report a bug with the JMS Listener resource on Sun IdM.

    That's what I figured with that global interactive I was trying to access the instance variables before so it wasn't showing up under my user. Now instead of an error pop up the error message shows up at the bottom of the runtime UI.
    Error at bottom of page: (Followed by a bunch of package names)
    Unexpected Error
    javax.faces.el.EvaluationException: /jsf/menu/menuActionNormal.xhtml @24,147 onActivate="#{componentBean.doExecuteAction}": fuego.papi.exception.InvalidTaskNumberException: Invalid task number '0' for activity '/Manager#Default-1.0/Global'.
    Warning in the Log:
    There was an error when trying to obtain the environement information: null
    Application: Engine, Module: Main, Thread: <0> StartUpServerIt gives me the top error when I have the notification set up to receive an external notification and gives me the warning for both cases either external notification or internal event. Its an internal event but in the documentation it never covers internal event situations for NotificationWait so I tried both.
    Another thing is when I have 2 or more instances waiting at the wait how does it know which one to go too? In the real example it will be receiving an object from the thread that will have an id number. But in this little test set up how does it know which instance the global activity is for?

  • JMS Listener update user

    I am using IDM 8.1. I've setup the JMS Listener to activesync queue message to Sun IDM repository.
    I found that, it will consider any incoming queue message as create user request even I've checked the Create Unmatched Accounts in synchronization policy. Do anyone get the idea how to make the adapter launch the create / update process correctly? I've try added activeSync.diffAction value as one of the parameter in the incoming message but it fail, too.
    Thx!

    You need to set up a correlation rule for the adapter to correlate active sync updates to existing accounts.

  • BPM for WebLogic 10.3 JMS listener problem: SecurityException

    Hi!
    I have a BPM 10.3 engine running on WebLogic 10.3 and a BPM process that uses JMS listener global automatic activity. The JMS queue is located in a WebLogic 8.1 server.
    The global activity receives a message and tries to create a new process instance. At runtime a strange error occurs (see below). If I just log the message and comment the process creation out, the message is successfully consumed, but with the creation part it is not. The process creation itself is not the problem because other message listeners that call other process activities fail with similar errors.
    Btw, it's working in Studio, but not in WL10.
    Could someone explain me what happens and how to fix it?
    Have I misconfigured something?
    Thanks in advance,
    Jaanus
    The BPM engine log:
    The task could not be successfully executed.
    Reason: 'fuego.papi.exception.ActivityFailedException: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
    Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
    Caused by: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
    Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
    Caused by: Process execution engine execution error.
    Caused by: Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Detail:Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Caused by: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
    fuego.lang.ComponentExecutionException: The task could not be successfully executed.
    Reason: 'fuego.papi.exception.ActivityFailedException: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
    Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
         at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1094)
         at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
         at fuego.server.AbstractProcessBean$45.execute(AbstractProcessBean.java:3017)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.runGlobalJmsActivity(AbstractProcessBean.java:3023)
         at fuego.server.execution.GlobalJMSExecutor$1.run(GlobalJMSExecutor.java:113)
         at fuego.ejbengine.EJBProcessBean.executeTask(EJBProcessBean.java:147)
         at fuego.server.execution.GlobalJMSExecutor.execute(GlobalJMSExecutor.java:105)
         at fuego.ejbengine.EJBGlobalJMSExecutor.access$400(EJBGlobalJMSExecutor.java:43)
         at fuego.ejbengine.EJBGlobalJMSExecutor$JMSExecutorWorker.run(EJBGlobalJMSExecutor.java:213)
         at java.lang.Thread.run(Thread.java:619)
    Caused by: fuego.papi.exception.ActivityFailedException: Activity '/MyProcess#Default-1.0/Begin[Begin]' task 'BeginIn' could not execute successfully.
    Detail:Method: 'BeginIn', Exception: 'Process execution engine execution error.'
         at fuego.papi.exception.ActivityFailedException.create(ActivityFailedException.java:66)
         at fuego.server.AbstractProcessBean.createActivityFailedException(AbstractProcessBean.java:3690)
         at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4326)
         at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3650)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:665)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:736)
         at fuego.components.Process.createInstance(Process.java:106)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
         at oracle.MyProcess.Default_1_0.Instance.CIL_ootaJMSSonumit(Instance.xcdl:12)
         at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1085)
         ... 16 more
    Caused by: fuego.papi.impl.EngineExecutionException: Process execution engine execution error.
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:139)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
         ... 27 more
    Caused by: class fuego.lang.RuntimeExceptionShell ->> fuego.connector.ConnectorException: Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Detail:Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
         at fuego.server.service.EngineConnectorService.getConnection(EngineConnectorService.java:581)
         at fuego.server.service.EngineConnectorService.getEngineConnection(EngineConnectorService.java:300)
         at fuego.transaction.TransactionAction.getEngineHandle(TransactionAction.java:179)
         at fuego.server.execution.EngineExecutionContext.getEngineHandle(EngineExecutionContext.java:443)
         at fuego.server.AbstractInstanceService.create(AbstractInstanceService.java:302)
         at fuego.server.execution.microactivity.BeginMicroActivity.createInstance(BeginMicroActivity.java:95)
         at fuego.server.AbstractProcessBean$53.execute(AbstractProcessBean.java:3642)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:213)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:125)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
         at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3650)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:665)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:736)
         at fuego.components.Process.createInstance(Process.java:106)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
         at oracle.MyProcess.Default_1_0.Instance.CIL_ootaJMSSonumit(Instance.xcdl:12)
         at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1085)
         at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
         at fuego.server.AbstractProcessBean$45.execute(AbstractProcessBean.java:3017)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:472)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:213)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:125)
         ... 8 more
    Caused by: fuego.connector.ConnectorException: Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
    Detail:Connector [TrinityEngine_J2EE_RUNTIME_FUEGOLABS_ARG:SQL:REMOTE_JDBC] caused an exception when getting a resource of type [0].
         at fuego.connector.ConnectorException.exceptionOnGetResource(ConnectorException.java:95)
         at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:324)
         at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:298)
         at fuego.connector.JDBCHelper.getConnection(JDBCHelper.java:41)
         at fuego.server.service.EngineConnectorService.getConnection(EngineConnectorService.java:578)
         at fuego.server.service.EngineConnectorService.getEngineConnection(EngineConnectorService.java:300)
         at fuego.transaction.TransactionAction.getEngineHandle(TransactionAction.java:179)
         at fuego.server.execution.EngineExecutionContext.getEngineHandle(EngineExecutionContext.java:443)
         at fuego.server.AbstractInstanceService.create(AbstractInstanceService.java:302)
         at fuego.server.execution.microactivity.BeginMicroActivity.createInstance(BeginMicroActivity.java:91)
         at fuego.server.AbstractProcessBean$53.execute(AbstractProcessBean.java:3642)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startNestedTransaction(TransactionAction.java:527)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:548)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         at fuego.server.execution.EngineExecution.executeImmediate(EngineExecution.java:66)
         at fuego.server.AbstractProcessBean.internalCreateInstance(AbstractProcessBean.java:4320)
         at fuego.server.AbstractProcessBean._doCreateInstance(AbstractProcessBean.java:3650)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:665)
         at fuego.server.AbstractProcessBean.createInstance(AbstractProcessBean.java:736)
         at fuego.components.Process.createInstance(Process.java:106)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:392)
         at fuego.components.ProcessInstance.create(ProcessInstance.java:503)
         at oracle.MyProcess.Default_1_0.Instance.CIL_ootaJMSSonumit(Instance.xcdl:12)
         at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
         at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
         at java.lang.reflect.Method.invoke(Method.java:597)
         at fuego.server.execution.EngineExecutionContext.invokeMethodAsCil(EngineExecutionContext.java:1085)
         at fuego.server.execution.EngineExecutionContext.runCil(EngineExecutionContext.java:1280)
         at fuego.server.execution.GlobalAutomaticJMSListeningHelper.executeJmsListener(GlobalAutomaticJMSListeningHelper.java:94)
         at fuego.server.AbstractProcessBean$45.execute(AbstractProcessBean.java:3017)
         at fuego.server.execution.DefaultEngineExecution$AtomicExecutionTA.runTransaction(DefaultEngineExecution.java:304)
         at fuego.transaction.TransactionAction.startBaseTransaction(TransactionAction.java:470)
         at fuego.transaction.TransactionAction.startTransaction(TransactionAction.java:551)
         at fuego.transaction.TransactionAction.start(TransactionAction.java:212)
         at fuego.server.execution.DefaultEngineExecution.executeImmediate(DefaultEngineExecution.java:123)
         ... 8 more
    Caused by: java.lang.SecurityException: [Security:090398]Invalid Subject: principals=[weblogic, Administrators]
         at weblogic.security.service.SecurityServiceManager.seal(Unknown Source)
         at weblogic.security.service.IdentityUtility.authenticatedSubjectToIdentity(Unknown Source)
         at weblogic.security.service.RoleManager.getRoles(Unknown Source)
         at weblogic.security.service.AuthorizationManager.isAccessAllowed(Unknown Source)
         at weblogic.jndi.internal.ServerNamingNode.checkPermission(ServerNamingNode.java:442)
         at weblogic.jndi.internal.ServerNamingNode.checkLookup(ServerNamingNode.java:423)
         at weblogic.jndi.internal.ServerNamingNode.lookupHere(ServerNamingNode.java:180)
         at weblogic.jndi.internal.BasicNamingNode.lookup(BasicNamingNode.java:206)
         at weblogic.jndi.internal.WLEventContextImpl.lookup(WLEventContextImpl.java:254)
         at weblogic.jndi.internal.WLContextImpl.lookup(WLContextImpl.java:380)
         at javax.naming.InitialContext.lookup(InitialContext.java:392)
         at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:116)
         at fuego.connector.impl.BaseRemoteConnector.getReferencedObject(BaseRemoteConnector.java:107)
         at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:75)
         at fuego.connector.impl.RemoteJDBCConnector.getConnection(RemoteJDBCConnector.java:64)
         at fuego.connector.impl.RemoteJDBCConnector.getResource(RemoteJDBCConnector.java:147)
         at fuego.connector.ConnectorTransaction.getResource(ConnectorTransaction.java:319)
         ... 43 more

    I managed to solve the problem by configuring the domain's security settings on both WebLogic servers as follows:
    *) checked "Anonymous Admin Lookup Enabled",
    *) entered the same value to Advanced->Credential on both WLs.

  • MessageConsumer.receive() Vs JMS Listener

    Guys,
    Just wondering if MessageConsumer.receive() is better option than the MessageListener.
    I have a situation where I am writing a code that is in a common module for an internal application. I need to write a consumer where the consumer can be configured with minimum values as parameters like ContextFactory, Provider URL, Destnation Name, I need to pick the message from that destination.
    Here the problem is if I use the JMS Listener then we need to wait untill message arrives and this may keep the thread blocked for hours. Sisce it is purly going to be plugable JMS providers, I am planning to use the receiveNoWait() and process the queue. Pick the message only if available. Otherwise, no messages are picked and the user can retry after some time.
    Please comment.
    Regards,
    Reflex

    I am in the middlle of enhancement of an old system to add the JMS feature to it.
    Ya, It is a batch processing system where users put a configuration file on with similar kind of jobs in some sequence. The jobs can be doing some basic java tasks.
    For example, if you want to subscribe from JMS topic on any server, may be at 10:00 AM every business day. After that you want to send the content as a Email to set of users and then again put it in a different queue. then all you need to just put the configuration of the process in sequence. Thats it. The system can schedule it and do it for us.
    The JMS receiver process is just one processors in our sequence. We have around 100 similar processes for internal use. We have around half a million users and 5000 such sequences running round the clock.
    In my case I cannot have an MDB because of the fact that the Topics/Queues are totally ad-hoc in nature. To make it cross platform we need to strictly use JMS Specification and cannot really on vendor specific code.
    Now, I am bit confused in my choice of using an appropriate adapter. Should I go for JMS Listener or a MessageConsumer's receive() Method.
    Note_: All sequences are run in seperate threads.
    Regards,
    Reflex

Maybe you are looking for

  • ITunes 10: Playlist titles remain but content no longer visible.

    After upgrading,my playlist titles still appear as usual in the left column, but the playlist itself is no longer visible. What happened?? I hope I haven't lost them after all the work that went into creating them. Restoring a previous library config

  • Virus on my mac and can't use safari

    Surfing the net I came got an alert saying I should call a certain number to get rid of a serious virus.  So now I can't use safari.  One solution here was to go to preferences and disable Java Script, but I can't use preferences.  It is not highligh

  • WIP SETTLEMENT

    I am trying to run WIP settlement through KKAO and CO88 system creates document with document type "SA". I want to change the document type. Please confirm where i have change the customization? Regards

  • XI 3.0 : Import/Export of IB: Design Objects via Filesystem

    <b>Failure: "You are not permitted to delete any objects since the software component cannot be changed"</b> Today I've tried out the import/export functionality of the integration builder design. Therefor I've exported a whole <i>SoftwareComponentVe

  • I need an iPad 2 to PC USB cable

    I bought one a while back but it isn't compatible.  The iPad  connector will fit a cellphone. So, could someone please recommend a few online links to order this quickly?  Thanks