【问题标题】:How do I pass a parameter to a Java Component from a Mule flow?如何将参数从 Mule 流传递给 Java 组件?
【发布时间】:2015-01-19 03:38:57
【问题描述】:

我刚刚开始使用 mule,不知道如何将请求标头的一部分作为参数/参数传递给 Java 组件。

我的 Java 组件如下

public String processHeader(String in)
{
   //process header
   System.out.print(" Header" + in);
}

我已经能够通过以下方式从流程中访问processHeader

            <component> 
              <method-entry-point-resolver> 
              <include-entry-point method="processHeader" /> 
              </method-entry-point-resolver> 
              <singleton-object class="my.test.mule.Processor" /> 
            </component> 

使用http://localhost:8080/test 访问上述内容。打印Header test

我可以使用以下内容转储标题的内容

&lt;logger level="INFO" doc:name="Logger" message="#[headers:INBOUND:*]"/&gt;

但我似乎无法弄清楚如何将message 作为参数传递给processHeader,也找不到任何相关示例。任何帮助将不胜感激。

顺便说一句,如果这很重要,我正在使用Mule 3.5

【问题讨论】:

  • 您使用的是哪个版本的 Mule?

标签: java mule mule-el mule-component


【解决方案1】:

您有多种选择:

@Mule Annotation

可用于组件入口的参数注入注解 点和转换器方法,这个注解可以用来执行 消息有效负载上的 Mule 表达式,并传递结果 进入方法。

还有:

@InboundHeaders Annotation

此注释控制当前消息入站标头的方式 传入一个方法。注解支持,Map,List,单 标头、通配符和可选条目。它可以用在组件上 入口点和@Transformer 方法。

可能与:

结合使用

@Payload Annotation

可用于组件入口的参数注入注解 使用 @Transformer 定义的点和转换器方法 注解,这个注解控制当前消息载荷如何 通过对 消息有效负载以匹配带注释的参数类型。例如,如果 您期待一个 XML 文档,这可以注入到 组件入口点并自动转换为 org.wc3.dom.Document.

您也可以按照不同响应中的说明实现 Callable,但这比此解决方案的表现力要差得多。

【讨论】:

    【解决方案2】:

    为您的 java 组件实现 Callable 接口。当默认方法被覆盖时,您将获得 eventContext 作为参数,您可以在其中找到 mule 消息,这反过来又使您可以访问标头和有效负载。样品在这里:

    import org.mule.api.MuleEventContext;
    import org.mule.api.lifecycle.Callable;
    import org.mule.api.transport.PropertyScope;
    public class Test implements Callable {
    
    @Override
    public Object onCall(MuleEventContext eventContext) throws Exception {
        eventContext.getMessage().getProperty("header1", PropertyScope.INBOUND);
        return null;
    }
    }
    

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-03
    • 1970-01-01
    • 2021-04-03
    • 2021-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多