tomcat中Mule Flow中的Choice配置 [英] Choice Configuration in Mule Flow in tomcat

查看:43
本文介绍了tomcat中Mule Flow中的Choice配置的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试根据 Map 中存在的数据划分我的流,该数据是在使用 Mule Transformer XMLMapper 和 XML to Map 之后形成的.流在选择点看起来是:

I am trying to divide my flow according to the data present in the Map, which is formed after using Mule Transformer XMLMapper And XML to Map.. Flow looks like at choice point is:

  <choice doc:name="Choice">
        <when expression="#[message.payload['interfaceId'] == 'BK131108.1655.000698']" >
            <processor-chain doc:name="AUB Encryption" />
            ...
        </when>
      ......
  </choice>

当我在 Windows 机器上的 Mule Studio 上运行它时,相同的流程工作正常..但是当我在 linux 机器上的 tomcat 上部署流程(包含整个项目)时,我收到错误...

Same flow works fine when I run it on Mule Studio on Windows Machine.. But when I deploy the flow (with whole project) on tomcat on a linux machine i am getting error...

DEBUG 2015-08-25 11:46:43,908 [[eig-1.0].BankServiceJMS.stage1.02] com.comviva.mfs.eig.transformers.XmlToMap: The transformed object is of expected type. Type is: HashMap
ERROR 2015-08-25 11:46:43,914 [[eig-1.0].BankServiceJMS.stage1.02] org.mule.exception.DefaultMessagingExceptionStrategy: Caught exception in Exception Strategy: null
java.lang.NullPointerException
    at org.mule.routing.filters.ExpressionFilter.getFullExpression(ExpressionFilter.java:140)
    at org.mule.routing.filters.ExpressionFilter.accept(ExpressionFilter.java:104)
    at org.mule.routing.ChoiceRouter.selectProcessors(ChoiceRouter.java:35)
    at org.mule.routing.AbstractSelectiveRouter.process(AbstractSelectiveRouter.java:194)
    at org.mule.processor.chain.DefaultMessageProcessorChain.doProcess(DefaultMessageProcessorChain.java:99)
    at org.mule.processor.chain.AbstractMessageProcessorChain.process(AbstractMessageProcessorChain.java:66)
    at org.mule.processor.AbstractInterceptingMessageProcessorBase.processNext(AbstractInterceptingMessageProcessorBase.java:105)
    at org.mule.interceptor.AbstractEnvelopeInterceptor.process(AbstractEnvelopeInterceptor.java:55)
    at org.mule.processor.AsyncInterceptingMessageProcessor.processNextTimed(AsyncInterceptingMessageProcessor.java:111)
    at org.mule.processor.AsyncInterceptingMessageProcessor$AsyncMessageProcessorWorker.doRun(AsyncInterceptingMessageProcessor.java:158)
    at org.mule.work.AbstractMuleEventWork.run(AbstractMuleEventWork.java:43)
    at org.mule.work.WorkerContext.run(WorkerContext.java:310)
    at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
    at java.lang.Thread.run(Thread.java:662)

任何建议....

推荐答案

Mule 3.4.1 的源代码.在抛出异常的第 140 行是:{(参见:https://github.com/mulesoft/mule/blob/mule-3.4.1/core/src/main/java/org/mule/routing/filters/ExpressionFilter.java#L140 )

The source code for Mule 3.4.1. at line 140, where the exception is thrown, is: { (see: https://github.com/mulesoft/mule/blob/mule-3.4.1/core/src/main/java/org/mule/routing/filters/ExpressionFilter.java#L140 )

因此,我怀疑您没有正确打包 WAR 文件,即使用预期的 Mule 版本.请手动检查WEB-INF/lib 以查看mule-*.jar 已打包的内容,并确保所有版本一致.

Thus, I suspect you're not packaging the WAR file properly, i.e. with the expected version of Mule. Please manually inspect WEB-INF/lib to see what mule-*.jar have been packaged and make sure all versions are consistent.

这篇关于tomcat中Mule Flow中的Choice配置的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆