在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呢?对于自定义转换器,这工作得很好。
将类定义为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>