Я пытаюсь этот подход автозапуск мул потокаавтоматический запуск Mule поток
Starting a mule flow programmatically using groovy
и она не запускается поток. Вот очень простой тест работать в Mule студии с 3.4.0 CE
<?xml version="1.0" encoding="UTF-8"?>
<mule xmlns:scripting="http://www.mulesoft.org/schema/mule/scripting"
xmlns="http://www.mulesoft.org/schema/mule/core" xmlns:doc="http://www.mulesoft.org/schema/mule/documentation"
xmlns:spring="http://www.springframework.org/schema/beans" version="CE-3.4.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-current.xsd
http://www.mulesoft.org/schema/mule/core http://www.mulesoft.org/schema/mule/core/current/mule.xsd
http://www.mulesoft.org/schema/mule/scripting http://www.mulesoft.org/schema/mule/scripting/current/mule-scripting.xsd">
<flow name="auto2Flow1" doc:name="auto2Flow1">
<scripting:component doc:name="Groovy">
<scripting:script engine="Groovy">
muleContext.registry.lookupFlowConstruct('flow1').start()
</scripting:script>
</scripting:component>
</flow>
<flow name="flow1" doc:name="flow1">
<logger level="INFO" doc:name="Logger" message="hello"/>
</flow>
</mule>
Я также попытался это не повезло
<expression-component>
app.registry.flow1.start();
</expression-component>
Я предполагаю, что потоки1 автоматически зарегистрирован, но не уверен.
В моем примере я хочу, чтобы auto2Flow1 начинался с запуска сервера Mule. Он должен вызывать поток 1, который является основным потоком. Я попытался заменить свой файл muleContext.registry.lookupFlowConstruct на ваше утверждение, но, очевидно, я что-то упустил, потому что это не сработало. –
О, это полностью отличается от вашего вопроса. Вы хотите, чтобы 'auto2Flow1' запускался с событием, когда Mule начинает? Я не думаю, что для этого есть что-то. Просто используйте «init-method» на «Веселый боб MuleContextAware», и все будет хорошо. –