Mule-将子流分离到它们自己的流文件中

Mule-将子流分离到它们自己的流文件中,mule,Mule,我们有一个由多个子流组成的Mule流——为了更好地管理它,我们希望将子流复制到它们自己的单独文件中。在运行时,我得到了下面的错误,我正试图找出 Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ParentFlow': Cannot create inner bean '(inner bean)' of type [org.mule.config.s

我们有一个由多个子流组成的Mule流——为了更好地管理它,我们希望将子流复制到它们自己的单独文件中。在运行时,我得到了下面的错误,我正试图找出

Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ParentFlow': Cannot create inner bean '(inner bean)' of type [org.mule.config.spring.factories.ScatterGatherRouterFactoryBean] while setting bean property 'messageProcessors' with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Cannot create inner bean '(inner bean)' of type [org.mule.config.spring.factories.FlowRefFactoryBean] while setting bean property 'messageProcessors' with key [1]; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name '(inner bean)': Invocation of init method failed; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'childflow' is defined
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveInnerBean(BeanDefinitionValueResolver.java:282)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:126)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveManagedList(BeanDefinitionValueResolver.java:353)
at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:154)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1391)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1132)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:522)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:626)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:932)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:479)
at org.mule.config.spring.SpringRegistry.doInitialise(SpringRegistry.java:86)
at org.mule.registry.AbstractRegistry.initialise(AbstractRegistry.java:105)
... 20 more
这是配置文件:

<flow name="ParentFlow" doc:name="ParentFlow">
    <flow-ref name="childFlow" doc:name="childFlow" />
</flow>
<sub-flow name="childflow" doc:name="childflow">
</sub-flow>


您能显示您的代码吗?可能子流未正确引用或指向未定义的子流。

从您提供的配置可以看出,子流的名称拼写不正确(大小写)

子流的名称为“childflow”,而引用的名称为“childflow”


使用正确的名称“childflow”在flow ref中,它应该会解决这个问题。

在flow Definition和ParentFlow中的ref flow之前尝试定义子流这个问题得到解决-实际上发生的是我试图运行JUnit并不断出错-我认为流配置不正确,但实际上需要解决的是getConfigResources需要有一个以逗号分隔的流列表。