当前位置: 首页 > 知识库问答 >
问题:

XML中的apache camel过滤器。在xml中向Bean传递参数

郎仰岳
2023-03-14
<filter>
   <method ref="MyBean" method="CheckReceivedFilesByParameters"/>
   <to uri="direct:b"/>
</filter>

方法CheckReceivedFilesByParameters返回布尔值。如果为真,则下一条路由将成功启动。如何在false时调用route(direct:b)。我想用XML来实现这一点。我试图在标记外调用方法,但没有成功。

<to uri="bean:MyBean?method=CheckReceivedFilesByParameters"/>
<filter>
   <simple>false</simple>
   <to uri="direct:b"/>
</filter>

如何通过Exchange消息将参数正确地传递给MyBean方法。什么是最佳实践?现在我通过创建header,然后在我的方法中获得headerValues。我的XML中的示例。

<setHeader headerName="RouteId">
    <constant>Test1</constant>
</setHeader>

然后获取MyBean方法值中的头。字符串routeId=exchange.getin().getheader(“routeId”,String.class);

Request.GetParameter(“par1”)

提前谢了。

共有1个答案

皇甫乐
2023-03-14

Ad 1)

过滤器eip仅在表达式为true时路由,例如方法调用返回true。因此,如果方法调用返回false,那么过滤器不会路由到“direct:b”。

Ad 2)

    null
 类似资料:
  • 问题内容: 这是我的config.json: 这是我的bash命令: 输出: 因此$ PRJNAME是prj1,但是第一次调用仅输出。 有人能帮我吗? 问题答案: 您的示例中的jq程序实际上会尝试查找名为的键。请尝试以下操作:

  • 问题内容: 是否可以将参数传递给filter函数,以便您可以按任何名称进行过滤? 就像是 问题答案: 实际上,还有另一种(也许是更好的解决方案),您可以使用angular的本机“过滤器”过滤器,并且仍将参数传递给自定义过滤器。 考虑以下代码: 要进行此工作,您只需将过滤器定义如下: 如您在这里看到的,weDontLike实际上返回另一个函数,该函数的范围内有您的参数以及来自过滤器的原始项。 我花了

  • 当我运行这些时,我将得到以下错误 使用FreeMarker模板转换输入消息时出错:对于“${...}”内容:需要一个字符串或自动转换为字符串(数字、日期或布尔值)或“模板输出”的东西,但它的计算结果是一个序列+哈希(包装器:f.e.dom.nodelistmodel):==>inp.leaf[在模板“support.ftl”中第2行,第3列] 如果我将字符串传递给支持的FTL而不是XML,模板就可

  • 我有一个testng XML文件,它在下面这样的组中运行Selenium测试。我想从JSON或其他类型的文件中传递参数名称和值中的所有浏览器信息集,这样,如果我为另一个测试添加配置,就不必一直复制和粘贴它们,这样代码就更少了。对于testng XML文件,这可能吗? 感谢任何帮助。

  • 问题内容: XML规范定义了XML文档中允许的Unicode字符的子集:http : //www.w3.org/TR/REC-xml/#charsets。 如何从Java中的字符串中过滤掉这些字符? 简单的测试用例: 问题答案: 找出XML的所有无效字符并非易事。您需要从Xerces调用或重新实现XMLChar.isInvalid(), http://kickjava.com/src/org/ap

  • 当尝试在JBoss 6.1.0中部署WAR时,会显示以下错误 以下是