Uploaded image for project: 'camunda BPM'
  1. camunda BPM
  2. CAM-2450

PropertyNotFoundException while processExecution in clustered environment

    XMLWordPrintable

Details

    • Bug Report
    • Resolution: Duplicate
    • L3 - Default
    • None
    • None
    • engine
    • None

    Description

      Hi,

      we are having some problems running our software in a clustered environment. we are using a Weblogic AS 12.1.2.0 cluster with 2 nodes.

      Our application runs perfectly in a single-node-environment, but when we activate the second node we keep getting PropertyNotFoundExceptions on the second one, because the engine could not find our spring beans any more. After shutting both nodes down and starting the "faulty" one, everything works perfectly again on this node.

      Node 1 down, Node 2 up -> Node 2 works
      Node 1 up, Node 2 up -> Node 1 faults, Node 2 works
      shut down both nodes...
      Node 1 up, Node 2 down -> Node 1 works
      Node 1 up, Node 2 up -> Node 1 works, Node 2 faults

      This flip-flopping behavior is reproducible. We suspect, that a context switch is required but not executed. We also looked at the code in question: ProcessApplicationContextUtil.requiresContextSwitch() What if, if 2 applications on two different nodes with the same name are acessing the shared engine? Does it require a context switch?

      Kind regards,

      Jürgen
      ----------------------------
      Stacktrace:
      Jul 07, 2014 10:35:21 AM org.camunda.bpm.engine.impl.interceptor.CommandContext close
      SEVERE: Error while closing command context
      org.camunda.bpm.engine.ProcessEngineException: Unknown property used in expression: #

      {processOrderPackageService.transitOrderPackageStateToVerification(orderPackageId)}

      . Cause: Cannot resolve identifier 'processOrderPackageService'
      at org.camunda.bpm.engine.impl.el.JuelExpression.getValue(JuelExpression.java:55)
      at org.camunda.bpm.engine.impl.bpmn.listener.ExpressionExecutionListener.notify(ExpressionExecutionListener.java:35)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:54)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:73)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:58)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:117)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:36)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:63)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:525)
      at org.camunda.bpm.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:102)
      at org.camunda.bpm.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:51)
      at org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44)
      at org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:44)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationProcessStartInitial.eventNotificationsCompleted(AtomicOperationProcessStartInitial.java:52)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:63)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.pvm.runtime.AtomicOperationProcessStart.eventNotificationsCompleted(AtomicOperationProcessStart.java:54)
      at org.camunda.bpm.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:63)
      at org.camunda.bpm.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:93)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:728)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:719)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:420)
      at org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:403)
      at org.camunda.bpm.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:70)
      at org.camunda.bpm.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:32)
      at org.camunda.bpm.engine.impl.interceptor.CommandExecutorImpl.execute(CommandExecutorImpl.java:24)
      at org.camunda.bpm.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:90)
      at org.camunda.bpm.engine.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:42)
      at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:130)
      at org.camunda.bpm.engine.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:40)
      at org.camunda.bpm.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:32)
      at org.camunda.bpm.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:71)
      at de.eplus.norman.op.mdb.ProcessDispatcherMdb.startDispatcherProcess(ProcessDispatcherMdb.java:65)
      at de.eplus.norman.op.mdb.ProcessDispatcherMdb.onMessage(ProcessDispatcherMdb.java:52)
      at org.springframework.jms.listener.adapter.MessageListenerAdapter.onMessage(MessageListenerAdapter.java:343)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:518)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:479)
      at org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:451)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:323)
      at org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:261)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:982)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.executeOngoingLoop(DefaultMessageListenerContainer.java:974)
      at org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:876)
      at java.lang.Thread.run(Thread.java:744)
      Caused by: org.camunda.bpm.engine.impl.javax.el.PropertyNotFoundException: Cannot resolve identifier 'processOrderPackageService'
      at org.camunda.bpm.engine.impl.juel.AstIdentifier.eval(AstIdentifier.java:83)
      at org.camunda.bpm.engine.impl.juel.AstMethod.invoke(AstMethod.java:79)
      at org.camunda.bpm.engine.impl.juel.AstMethod.eval(AstMethod.java:75)
      at org.camunda.bpm.engine.impl.juel.AstEval.eval(AstEval.java:50)
      at org.camunda.bpm.engine.impl.juel.AstNode.getValue(AstNode.java:26)
      at org.camunda.bpm.engine.impl.juel.TreeValueExpression.getValue(TreeValueExpression.java:114)
      at org.camunda.bpm.engine.impl.delegate.ExpressionGetInvocation.invoke(ExpressionGetInvocation.java:33)
      at org.camunda.bpm.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:39)
      at org.camunda.bpm.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:42)
      at org.camunda.bpm.engine.impl.el.JuelExpression.getValue(JuelExpression.java:50)
      ... 86 more

      mgm-controller-panel

        This is the controller panel for Smart Panels app

        Attachments

          Activity

            People

              Unassigned Unassigned
              Stephan.Pelikan@wdw-elab.de Stephan Pelikan
              Votes:
              1 Vote for this issue
              Watchers:
              3 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved:

                Salesforce