K.I*_*.I. 5 java xml spring activemq-classic apache-camel
我是使用 activemq 和 Camel 的新手。
我有这些问题:
我有一个 bean 和 bean 方法,它们由过滤器调用。
<filter>
<method ref="MyBean" method="CheckReceivedFilesByParameters"/>
<to uri="direct:b"/>
</filter>
Run Code Online (Sandbox Code Playgroud)
方法 CheckReceivedFilesByParameters 返回布尔值。如果为真,则下一条路线成功启动。错误时如何调用路由(直接:b)。我想用 xml 来做到这一点。我试图在标签外调用方法,但没有运气。
<to uri="bean:MyBean?method=CheckReceivedFilesByParameters"/>
<filter>
<simple>false</simple>
<to uri="direct:b"/>
</filter>
Run Code Online (Sandbox Code Playgroud)如何通过 Exchange 消息正确地将参数传递给 MyBean 方法。什么是最佳实践?现在我通过创建标题来做,稍后在我的方法中我得到 headerValues。我的 xml 中的示例。
<setHeader headerName="RouteId">
<constant>Test1</constant>
</setHeader>
Run Code Online (Sandbox Code Playgroud)
然后在 MyBean 方法值中获取标题。
String routeId = exchange.getIn().getHeader("RouteId", String.class);
应该有一些更“优雅”的方式。就像传递参数一样。就像在 servlet 中一样?
request.getParameter("par1")
提前致谢。
public class ExchangeHelper{
public Object getHeader(Exchange exchange, String header){
return exchange.getIn().getHeader(header, Object.class);
}
}
Run Code Online (Sandbox Code Playgroud)
我猜是这样的?
| 归档时间: |
|
| 查看次数: |
3020 次 |
| 最近记录: |