Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/332.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 将activiti和camel与activeMQ一起使用时,业务密钥为Null异常_Java_Apache Camel_Activemq_Activiti_Bpmn - Fatal编程技术网

Java 将activiti和camel与activeMQ一起使用时,业务密钥为Null异常

Java 将activiti和camel与activeMQ一起使用时,业务密钥为Null异常,java,apache-camel,activemq,activiti,bpmn,Java,Apache Camel,Activemq,Activiti,Bpmn,我正在为我们公司设计工作流程。我们在系统中大量使用ActiveMQ。我正在集成activiti和包含activeMQ队列的camel路由。当我运行该流程时,它会通过包含队列的camel路由并创建新队列,但消息不会从一个队列传递到另一个队列。 我在目标队列中收到以下消息: 未知消息类型[org.apache.activemq.command.ActiveMQMessage]ActiveMQMessage 下面是堆栈跟踪: 2:11:59.705[Camel(camelContext)线程#0-J

我正在为我们公司设计工作流程。我们在系统中大量使用ActiveMQ。我正在集成activiti和包含activeMQ队列的camel路由。当我运行该流程时,它会通过包含队列的camel路由并创建新队列,但消息不会从一个队列传递到另一个队列。 我在目标队列中收到以下消息:

未知消息类型[org.apache.activemq.command.ActiveMQMessage]ActiveMQMessage
下面是堆栈跟踪:

2:11:59.705[Camel(camelContext)线程#0-JmsConsumer[TESTQUEUE]]警告o.a.c.c.jms.EndpointMessageListener-执行jms消息侦听器失败。原因:[org.apache.camel.runtimecameleexception-org.activiti.engine.ActivitiIllegalArgumentException:业务密钥为空]
org.apache.camel.runtimecameleexception:org.activiti.engine.ActivitiIllegalArgumentException:Business key为null
在org.apache.camel.util.ObjectHelper.wrapRuntimeCamelException(ObjectHelper.java:1363)~[camel-core-2.13.2.jar:2.13.2]
在org.apache.camel.component.jms.EndpointMessageListener$EndpointMessageListenerAsyncCallback.done(EndpointMessageListener.java:186)~[camel-jms-2.13.1.jar:2.13.1]
在org.apache.camel.component.jms.EndpointMessageListener.onMessage(EndpointMessageListener.java:107)~[camel-jms-2.13.1.jar:2.13.1]
在org.springframework.jms.listener.AbstractMessageListenerContainer.doInvokeListener(AbstractMessageListenerContainer.java:562)~[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
在org.springframework.jms.listener.AbstractMessageListenerContainer.invokeListener(AbstractMessageListenerContainer.java:500)~[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
在org.springframework.jms.listener.AbstractMessageListenerContainer.doExecuteListener(AbstractMessageListenerContainer.java:468)~[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
位于org.springframework.jms.listener.AbstractPollingMessageListenerContainer.doReceiveAndExecute(AbstractPollingMessageListenerContainer.java:325)[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
位于org.springframework.jms.listener.AbstractPollingMessageListenerContainer.receiveAndExecute(AbstractPollingMessageListenerContainer.java:263)[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
在org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.invokeListener(DefaultMessageListenerContainer.java:1101)[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
在org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.ExecuteongLoop(DefaultMessageListenerContainer.java:1093)[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
在org.springframework.jms.listener.DefaultMessageListenerContainer$AsyncMessageListenerInvoker.run(DefaultMessageListenerContainer.java:990)[spring-jms-3.2.8.RELEASE.jar:3.2.8.RELEASE]
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)[na:1.7.040]
在java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)[na:1.7.040]
在java.lang.Thread.run(Thread.java:724)[na:1.7.0_40]
原因:org.activiti.engine.ActivitiIllegalArgumentException:业务密钥为空
这是我的camelRoute.bpmn文件:


下面是我调用bpmn的骆驼路线:

公共类CamelHelloRoute扩展了RouteBuilder{
私有静态最终记录器Logger=LoggerFactory.getLogger(CamelHelloRoute.class);
@凌驾
public void configure()引发异常{
来自(“activemq:queue:TESTQUEUE”)
.log(LoggingLevel.INFO,“收到的消息”)
.to(“activiti:SimpleCallProcess:simpleCall”);
来自(“activiti:SimpleCallProcess:simpleCall”)
.log(LoggingLevel.INFO,“收到服务任务消息”)
.to(“activemq:queue:TESTQUEUE3”);
}
}
下面是我的junit课程:

公共类ProcessTestSimpleCamelCallProcess{
ClassPathXmlApplicationContext applicationContext=新的ClassPathXmlApplicationContext(“camel-int.xml”);
@统治
public ActivitiRule ActivitiRule=(ActivitiRule)applicationContext.getBean(“ActivitiRule”);
public RepositoryService RepositoryService=(RepositoryService)applicationContext.getBean(“RepositoryService”);
@试验
public void startProcess()引发异常{
repositoryService=activitiRule.getRepositoryService();
repositoryService.createDeployment().addClasspathResource(“camelRoute.bpmn”).deploy();
RuntimeService RuntimeService=ActivityRule.getRuntimeService();
ProcessInstance ProcessInstance=runtimeService.startProcessInstanceByKey(“SimpleCamelCallProcess”);
assertNotNull(processInstance.getId());
System.out.println(“id”+processInstance.getId()+”“
+processInstance.getProcessDefinitionId());
}
下面是我的spring文件“camel-int.xml”:


com.activiti.camel