Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
是否可以在初始化上下文后以编程方式添加新的Mule流?_Mule - Fatal编程技术网

是否可以在初始化上下文后以编程方式添加新的Mule流?

是否可以在初始化上下文后以编程方式添加新的Mule流?,mule,Mule,我希望在Mule运行时(在初始化上下文之后)以编程方式添加新的RSS连接器流。当我尝试这样做时,我得到一个生命周期异常,表示上下文已经初始化 有没有办法在不重新启动整个上下文的情况下执行此操作?我自己想出了一个解决方案。事实证明,创建一个新的Mule上下文,添加我的流,然后启动上下文就可以了。事实上,这条路比我走的另一条路更简单、更快、更干净 创建一个默认的Mule上下文对我来说很好。如果您有特殊需要,可能需要向您的配置生成器中添加配置生成器 MuleContext newMuleContext

我希望在Mule运行时(在初始化上下文之后)以编程方式添加新的RSS连接器流。当我尝试这样做时,我得到一个生命周期异常,表示上下文已经初始化


有没有办法在不重新启动整个上下文的情况下执行此操作?

我自己想出了一个解决方案。事实证明,创建一个新的Mule上下文,添加我的流,然后启动上下文就可以了。事实上,这条路比我走的另一条路更简单、更快、更干净

创建一个默认的Mule上下文对我来说很好。如果您有特殊需要,可能需要向您的配置生成器中添加配置生成器

MuleContext newMuleContext = new DefaultMuleContextFactory().createMuleContext();
MuleRegistry registry = newMuleContext.getRegistry();
Flow flow = createFlow();
registry.registerFlowConstruct(flow);
newMuleContext.start();
编辑。下面是createFlow方法。您的具体信息将根据应用程序的需要而有所不同

protected Flow createFlow(MuleContext context, RssBean feed) throws Exception {
  MuleRegistry registry = context.getRegistry();
  String feedName = feed.getName();
  HttpPollingConnector connector = getHttpPollingConnector(context, registry, feedName);
  EndpointURIEndpointBuilder endpointBuilder = getEndpointBuilder(context, feed, registry, shortName, connector);
  registry.registerEndpointBuilder(feedName + ".in", endpointBuilder);
  MessagePropertiesTransformer transformer = getTransformer(context, feedName);
  MessageProcessor mp = getOutboundFlowRef(context);
  Flow flow = getFlow(context, shortName, endpointBuilder, transformer, mp);
  registry.registerFlowConstruct(flow);
  return flow;
}

createFlow方法看起来像什么?