Я хочу создать новый поток мулов во время выполнения на основе шаблона потока. Я обнаружил, что модуль Java в mule 4 может мне помочь в этом, поэтому в моем основном потоке я попытался вызвать метод экземпляра Java:
<http:listener doc:name="Listener" doc:id="5b0f79ff-1a60-4c1a-bc9d-fbe350f4e595" config-ref="HTTP_Listener_config" path="/producer"/>
<java:new doc:name="New DynamicProducerFlowGenerator" doc:id="6c8cf087-0601-4b89-9d24-16650b9a6e6f" class="DynamicProducerFlowGenerator" constructor="DynamicProducerFlowGenerator()" target="DynamicProducerFlowGenerator"/>
<java:invoke doc:name="Invoke" doc:id="d5258c18-74e8-4c86-a0ae-758ad41d1b32" instance="#[vars.DynamicProducerFlowGenerator]" class="DynamicProducerFlowGenerator" method="initialise()"/>
Чтобы вызвать этот метод, я создал Java класс под названием DynamicProducerFlowGenerator, это мой Java код:
publi c class DynamicProducerFlowGenerator {
public DynamicProducerFlowGenerator() {
}
public void initialise() {
MuleContextFactory muleContextFactory = new DefaultMuleContextFactory();
ConfigurationBuilder builder = new SpringXmlConfigurationBuilder("dynamic-producer-flow-template.xml");
MuleContext muleContext = muleContextFactory.createMuleContext();
builder.configure(muleContext);
muleContext.start();
}
}
Однако, когда я попытался запустить это, я всегда получал ошибку:
Message : Invocation of Method 'initialise()' from Class 'DynamicProducerFlowGenerator' without any argument resulted in an error.
Cause: org.mule.api.MuleRuntimeException - Couldn't find config via SPI mechanism. Corrupted Mule core jar?
Думаю, проблема в этой строке кода
"MuleContext muleContext = muleContextFactory.createMuleContext ();"
Но я не знаю, как это решить. Это некоторые из моих зависимостей в pom. xml:
<dependency>
<groupId>org.mule.tools.devkit</groupId>
<artifactId>mule-devkit-annotations</artifactId>
<version>3.9.7</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.mule</groupId>
<artifactId>mule-core</artifactId>
<version>3.9.0</version>
</dependency>
<dependency>
<groupId>org.mule.module</groupId>
<artifactId>mule-java-module</artifactId>
<version>1.2.6</version>
<classifier>mule-plugin</classifier>
</dependency>
<dependency>
<groupId>org.mule.modules</groupId>
<artifactId>mule-module-spring-config</artifactId>
<version>3.9.0</version>
Может ли кто-нибудь помочь мне с этим? Есть ли другой способ, которым я могу создать новый поток во время выполнения в mule 4?
Заранее спасибо