java - Mule - 在 Mule 流中设置 spring 对象调用的属性

标签 java spring mule mule-el

我正在使用 Mule 3.3.CE

我有一个名为 SpringObject 的类,它实现了 Callable 接口(interface)

package com.threads.test;

import org.mule.api.MuleEventContext;
import org.mule.api.lifecycle.Callable;

public class SpringObject implements Callable {

    private String someData;
    public String getSomeData() {
        return someData;
    }

    public void setSomeData(String someData) {
        this.someData = someData;
    }

    @Override
    public Object onCall(MuleEventContext eventContext) throws Exception {
        System.out.println("CALL SPRING --->>"+someData);

        return eventContext.getMessage();
    }

}    

我的流程是

<http:connector name="httpConnectorEntryPoint" doc:name="HTTP\HTTPS"/>

<spring:beans xmlns="http://www.springframework.org/schema/beans">
<spring:bean id="component" name="component" class="com.threads.test.SpringObject" lazy-init="false">   
</spring:bean>
</spring:beans>
<flow name="TestThreadsFlow1" doc:name="TestThreadsFlow1">
    <http:inbound-endpoint exchange-pattern="request-response" host="localhost" port="8099" path="m" connector-ref="httpConnectorEntryPoint" doc:name="HTTP"/>
        <set-payload value="#[&quot;ExitA&quot;]" doc:name="Set Payload"/>
        <component doc:name="Java">
            <spring-object bean="component">
                <property key="someData" value="Information"/>
            </spring-object>
        </component>
    </flow>

问题是当我运行流程并使用 http 连接器时,控制台显示

调用 Spring --->>null

代替

CALL SPRING --->>信息

可能是什么?

最佳答案

您可以尝试在流程外配置您的 spring bean,如下所示:

<spring:bean id="component" name="component"
    class="com.threads.test.SpringObject" lazy-init="false">
    <spring:property name="someData" value="Information" />
</spring:bean>

and inside the flow do:

<component>
    <spring-object bean="component" />
</component>

关于java - Mule - 在 Mule 流中设置 spring 对象调用的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20520872/

相关文章:

java - 将 new Date() 转换为不同的时区

javascript - 在 javascript 中读取一个 spring Controller 模型

ssl - Mule SOAP 调用 SSL 结果为 "unable to find valid certification path to requested target"

ssl - 来自 Mule 的 IBM MQ 连接问题 - UNSUPPORTED_CIPHER_SUITE 并且没有 mqjbnd 错误

java - 资源文件中的无关文本

java - 使用 Stream 按给定索引序列排序

java - 从程序中的 context.xml 访问资源的属性

java - 在不更改 src 代码的情况下在 Java 中模拟 Date()

java - 无法在Spring Boot中初始化Bean

mule - 如何使用将定期调用文件 uploader 的 Quartz 组件安排服务?