2016-07-05 36 views
0

Apache CamelとAlfresco Activitiとの統合に新しくなりました。以下のプログラムを実行中にエラーが発生しました。org.apache.camel.CamelExecutionException:Exchangeでの実行中に例外が発生しました

例外

Exception in thread "main" org.apache.camel.CamelExecutionException: Exception occurred during execution on the exchange: Exchange[ID-Ravi-59907-1467728441130-0-2] 
     at org.apache.camel.util.ObjectHelper.wrapCamelExecutionException(ObjectHelper.java:1706) 
     at org.apache.camel.util.ExchangeHelper.extractResultBody(ExchangeHelper.java:660) 
     at org.apache.camel.impl.DefaultProducerTemplate.extractResultBody(DefaultProducerTemplate.java:471) 
     at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:133) 
     at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:149) 
     at org.apache.camel.impl.DefaultProducerTemplate.requestBody(DefaultProducerTemplate.java:301) 
     at org.quick.AppMain.main(AppMain.java:32) 
    Caused by: org.activiti.engine.ActivitiException: Couldn't serialize value '[DefaultMessageHistory[routeId=route1, node=setProperty1], DefaultMessageHistory[routeId=route1, node=setBody1]]' in variable 'CamelMessageHistory' 
     at org.activiti.engine.impl.variable.SerializableType.serialize(SerializableType.java:95) 
     at org.activiti.engine.impl.variable.SerializableType.setValue(SerializableType.java:69) 
     at org.activiti.engine.impl.persistence.entity.VariableInstanceEntity.setValue(VariableInstanceEntity.java:178) 
     at org.activiti.engine.impl.persistence.entity.VariableInstanceEntity.create(VariableInstanceEntity.java:74) 
     at org.activiti.engine.impl.persistence.entity.VariableInstanceEntity.createAndInsert(VariableInstanceEntity.java:60) 
     at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableInstance(VariableScopeImpl.java:839) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.createVariableInstance(ExecutionEntity.java:1175) 
     at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableLocal(VariableScopeImpl.java:752) 
     at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.createVariableLocal(VariableScopeImpl.java:739) 
     at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariable(VariableScopeImpl.java:633) 
     at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariable(VariableScopeImpl.java:590) 
     at org.activiti.engine.impl.persistence.entity.VariableScopeImpl.setVariables(VariableScopeImpl.java:534) 
     at org.activiti.camel.CamelBehaviour.execute(CamelBehaviour.java:45) 
     at org.activiti.engine.impl.delegate.ActivityBehaviorInvocation.invoke(ActivityBehaviorInvocation.java:34) 
     at org.activiti.engine.impl.delegate.DelegateInvocation.proceed(DelegateInvocation.java:37) 
     at org.activiti.engine.impl.delegate.DefaultDelegateInterceptor.handleInvocation(DefaultDelegateInterceptor.java:25) 
     at org.activiti.engine.impl.bpmn.behavior.ServiceTaskDelegateExpressionActivityBehavior.execute(ServiceTaskDelegateExpressionActivityBehavior.java:98) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:60) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerStart.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerStart.java:52) 
     at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionCreateScope.execute(AtomicOperationTransitionCreateScope.java:49) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerTake.execute(AtomicOperationTransitionNotifyListenerTake.java:80) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionDestroyScope.execute(AtomicOperationTransitionDestroyScope.java:116) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationTransitionNotifyListenerEnd.eventNotificationsCompleted(AtomicOperationTransitionNotifyListenerEnd.java:35) 
     at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:49) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:453) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.take(ExecutionEntity.java:431) 
     at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performOutgoingBehavior(BpmnActivityBehavior.java:140) 
     at org.activiti.engine.impl.bpmn.behavior.BpmnActivityBehavior.performDefaultOutgoingBehavior(BpmnActivityBehavior.java:66) 
     at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.leave(FlowNodeActivityBehavior.java:44) 
     at org.activiti.engine.impl.bpmn.behavior.FlowNodeActivityBehavior.execute(FlowNodeActivityBehavior.java:36) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationActivityExecute.execute(AtomicOperationActivityExecute.java:60) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStartInitial.eventNotificationsCompleted(AtomicOperationProcessStartInitial.java:45) 
     at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.pvm.runtime.AtomicOperationProcessStart.eventNotificationsCompleted(AtomicOperationProcessStart.java:64) 
     at org.activiti.engine.impl.pvm.runtime.AbstractEventAtomicOperation.execute(AbstractEventAtomicOperation.java:56) 
     at org.activiti.engine.impl.interceptor.CommandContext.performOperation(CommandContext.java:97) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperationSync(ExecutionEntity.java:636) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.performOperation(ExecutionEntity.java:629) 
     at org.activiti.engine.impl.persistence.entity.ExecutionEntity.start(ExecutionEntity.java:381) 
     at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:110) 
     at org.activiti.engine.impl.cmd.StartProcessInstanceCmd.execute(StartProcessInstanceCmd.java:37) 
     at org.activiti.engine.impl.interceptor.CommandInvoker.execute(CommandInvoker.java:24) 
     at org.activiti.engine.impl.interceptor.CommandContextInterceptor.execute(CommandContextInterceptor.java:57) 
     at org.activiti.spring.SpringTransactionInterceptor$1.doInTransaction(SpringTransactionInterceptor.java:47) 
     at org.springframework.transaction.support.TransactionTemplate.execute(TransactionTemplate.java:133) 
     at org.activiti.spring.SpringTransactionInterceptor.execute(SpringTransactionInterceptor.java:45) 
     at org.activiti.engine.impl.interceptor.LogInterceptor.execute(LogInterceptor.java:37) 
     at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:40) 
     at org.activiti.engine.impl.cfg.CommandExecutorImpl.execute(CommandExecutorImpl.java:35) 
     at org.activiti.engine.impl.RuntimeServiceImpl.startProcessInstanceByKey(RuntimeServiceImpl.java:80) 
     at org.activiti.camel.ActivitiProducer.startProcess(ActivitiProducer.java:168) 
     at org.activiti.camel.ActivitiProducer.process(ActivitiProducer.java:65) 
     at org.apache.camel.util.AsyncProcessorConverterHelper$ProcessorToAsyncProcessorBridge.process(AsyncProcessorConverterHelper.java:61) 
     at org.apache.camel.processor.SendProcessor.process(SendProcessor.java:145) 
     at org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:77) 
     at org.apache.camel.processor.RedeliveryErrorHandler.process(RedeliveryErrorHandler.java:468) 
     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) 
     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) 
     at org.apache.camel.component.direct.DirectProducer.process(DirectProducer.java:62) 
     at org.apache.camel.processor.CamelInternalProcessor.process(CamelInternalProcessor.java:190) 
     at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:109) 
     at org.apache.camel.processor.UnitOfWorkProducer.process(UnitOfWorkProducer.java:68) 
     at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:412) 
     at org.apache.camel.impl.ProducerCache$2.doInProducer(ProducerCache.java:380) 
     at org.apache.camel.impl.ProducerCache.doInProducer(ProducerCache.java:270) 
     at org.apache.camel.impl.ProducerCache.sendExchange(ProducerCache.java:380) 
     at org.apache.camel.impl.ProducerCache.send(ProducerCache.java:238) 
     at org.apache.camel.impl.DefaultProducerTemplate.send(DefaultProducerTemplate.java:128) 
     at org.apache.camel.impl.DefaultProducerTemplate.sendBody(DefaultProducerTemplate.java:132) 
     ... 3 more 
    Caused by: java.io.NotSerializableException: org.apache.camel.impl.DefaultMessageHistory 
     at java.io.ObjectOutputStream.writeObject0(Unknown Source) 
     at java.io.ObjectOutputStream.writeObject(Unknown Source) 
     at java.util.ArrayList.writeObject(Unknown Source) 
     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 
     at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) 
     at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) 
     at java.lang.reflect.Method.invoke(Unknown Source) 
     at java.io.ObjectStreamClass.invokeWriteObject(Unknown Source) 
     at java.io.ObjectOutputStream.writeSerialData(Unknown Source) 
     at java.io.ObjectOutputStream.writeOrdinaryObject(Unknown Source) 
     at java.io.ObjectOutputStream.writeObject0(Unknown Source) 
     at java.io.ObjectOutputStream.writeObject(Unknown Source) 
     at org.activiti.engine.impl.variable.SerializableType.serialize(SerializableType.java:93) 
     ... 104 more 

Javaクラス

package org.quick; 

import java.util.Collections; 
import java.util.List; 

import org.activiti.engine.RepositoryService; 
import org.activiti.engine.RuntimeService; 
import org.activiti.engine.TaskService; 
import org.activiti.engine.task.Task; 
import org.apache.camel.CamelContext; 
import org.apache.camel.ProducerTemplate; 
import org.springframework.context.ApplicationContext; 
import org.springframework.context.support.ClassPathXmlApplicationContext; 

public class AppMain { 


    public static void main(String[] args) throws Exception { 
     ApplicationContext applicationContext = new ClassPathXmlApplicationContext(
       "application-context.xml"); 
     RepositoryService repositoryService = 
        (RepositoryService) applicationContext.getBean("repositoryService"); 
       String deploymentId = repositoryService 
        .createDeployment() 
        .addClasspathResource("helloworld.bpmn") 
        .deploy() 
        .getId(); 
       System.out.print("process id is :" +deploymentId); 
       CamelContext cxt = (CamelContext) applicationContext.getBean("camelProcess"); 
       RuntimeService runService= (RuntimeService) applicationContext.getBean("runtimeService"); 
       ProducerTemplate tpl = cxt.createProducerTemplate(); 
       String instanceId = (String) tpl.requestBody("direct:start", Collections.singletonMap("var1", "hello")); 
       String str = (String) runService.getVariable(instanceId, "var2"); 
       System.out.print(str); 
       System.out.print(str); 


       TaskService taskService = (TaskService) applicationContext.getBean("taskService"); 
       //Retrieving the tasks assigned for the candidate group Register 
       List<Task> tasks = taskService.createTaskQuery().taskCandidateGroup("Register").list(); 
       for (Task task : tasks) { 
        System.out.println("Following task is available for register group: " + task.getName()); 

        // claim it 
        taskService.claim(task.getId(), "rupa"); 
       } 

       // Verify Fozzie can now retrieve the task 
       tasks = taskService.createTaskQuery().taskAssignee("rupa").list(); 
       for (Task task : tasks) { 
        System.out.println("Task for roopa: " + task.getName()); 

        // Complete the task 
        //taskService.complete(task.getId()); 
       } 

       System.out 
         .println("Number of tasks for roopa: " + taskService.createTaskQuery().taskAssignee("rupa").list().size()); 
    } 

} 

XMLS - アプリケーションコンテキスト

<beans xmlns="http://www.springframework.org/schema/beans" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans  
          http://www.springframework.org/schema/beans/spring-beans.xsd "> 

    <import resource="classpath:activiti-application-context.xml" /> 
    <import resource="classpath:camel-application-context.xml" /> 

</beans> 


camel-application-context.xml 

<beans xmlns="http://www.springframework.org/schema/beans" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
     xsi:schemaLocation=" 
      http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd 
      http://camel.apache.org/schema/spring http://camel.apache.org/schema/spring/camel-spring.xsd"> 


    <camelContext id="camelProcess" xmlns="http://camel.apache.org/schema/spring"> 
    <routeBuilder ref="myBuilder" /> 
    </camelContext> 
    <bean id="myBuilder" class="org.quick.CamelRouteBuilder"/> 

    <bean id="camel" class="org.activiti.camel.CamelBehaviour"> 
     <constructor-arg index="0"> 
      <list> 
       <bean class="org.activiti.camel.SimpleContextProvider"> 
        <constructor-arg index="0" value="helloCamelProcess" /> 
        <constructor-arg index="1" ref="camelProcess" /> 
       </bean> 
      </list> 
     </constructor-arg> 
    </bean> 

</beans> 

答えて

0

は、Liを見えます可変CamelMessageHistoryでKE POJO値...シリアライズない

「値をシリアル化できませんでした[DefaultMessageHistory [ルートID = route1の、 ノード= setProperty1]、DefaultMessageHistory [ルートID = route1の、 ノード= setBody1] org.activiti.engine.impl.variable.SerializableType.serialize(SerializableType.java:95)でCamelMessageHistory '

0

で'変数に' 私はラクダのコンテキストにインターセプタを追加することによって、これを修正しました: <camelContext id="camelContext" xmlns="http://camel.apache.org/schema/spring"> <intercept> <removeProperty propertyName="CamelMessageHistory" /> </intercept> </camelContext>

関連する問題