【问题标题】:How to provide a property Bean to a Java Component in Mule Studio?如何在 Mule Studio 中为 Java 组件提供属性 Bean?
【发布时间】:2014-03-20 22:18:51
【问题描述】:

在 Mule Studio 3.5 中,直接在 XML 和 Flow 中,我有以下声明:

<component class="fr.esb.bo.GenerateReportFileComponent" doc:name="BOreport">           
            <spring:property name="boServices" ref="boServices"/>
</component>

当我用这个启动 Mule 时,我收到以下错误

org.xml.sax.SAXParseException: cvc-complex-type.2.4.a: Invalid content was found starting with element 'spring:property'. One of '{"http://www.mulesoft.org/schema/mule/core":annotations, "http://www.mulesoft.org/schema/mule/core":abstract-interceptor, "http://www.mulesoft.org/schema/mule/core":interceptor-stack, "http://www.mulesoft.org/schema/mule/core":abstract-entry-point-resolver-set, "http://www.mulesoft.org/schema/mule/core":abstract-entry-point-resolver, "http://www.mulesoft.org/schema/mule/core":abstract-object-factory, "http://www.mulesoft.org/schema/mule/core":abstract-lifecycle-adapter-factory, "http://www.mulesoft.org/schema/mule/core":binding}' is expected.

我明白这一点,但我怎样才能将我的 boServices bean 提供给我的组件? 使用自定义转换器,效果很好。

【问题讨论】:

    标签: java spring components mule esb


    【解决方案1】:

    将您的类定义为 Spring bean:

    <spring:beans>
      <spring:bean id="restaurantWaiter" scope="prototype" class="com.foo.RestaurantWaiter">
        <spring:property name="kitchenService">
            <spring:ref local="kitchenService"/>
        </spring:property>
      </spring:bean>
    </spring:beans>
    
    <component>
      <spring-object bean="restaurantWaiter"/>
    </component>
    

    正如here 解释的那样。

    【讨论】:

    • 感谢您的快速回答,顺便说一下,组件没有关闭,文档中也是如此。
    • 快速复制粘贴... :D 修正了关闭标签。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-11-06
    • 1970-01-01
    • 1970-01-01
    • 2018-08-02
    • 1970-01-01
    相关资源
    最近更新 更多