0
我创建了2个不同的应用程序,并在其中一人开始了骆驼背景。如何在第二个应用程序中使用此已启动的上下文?如何共享2个不同的应用程序或战争之间的骆驼背景
我尝试用lookUpByname获取上下文()与JNDI上下文结合的骆驼上下文,但是负载可以在现有的环境。
在应用1应用2上下文设置NameStrategy并得到同样也试过,但看起来像骆驼汽车在DefaultCamelContextNameStrategy生成名称和前缀。
code snippet:
Application 1 :
public static void main(String[] args)
{
CamelContext ctx = new DefaultCamelContext();
String camelContextId= "sample";
ctx.setNameStrategy(new DefaultCamelContextNameStrategy(
camelContextId));
ctx.start();
}
Application 2:
public static void main(String[] args)
{
sampleRouter testobj = new sampleRouter();
testobj.test();
}
public class sampleRouter extends RouteBuilder
{
public static CamelContext camelContext;
public void test()
try
{
camelContext = getContext();
try {
camelContext.stop();
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
请指引我得到不同的应用程序已经启动的情况下,我想,以避免产生新的上下文每次。
谢谢亚历山德罗。我们使用Apache camel作为批处理作业的实现组件来读写文件。我们使用Rundeck作为调度程序,多个作业将在一天内运行,我们不想为每个作业创建新的上下文,而是使用已经启动的上下文。文件阅读器将是通用的;它将使用Camel作为文件处理的实现组件;反之骆驼将不知道正在运行的作业,但将作为执行机构只 当Rundeck触发job.File读者将获得CamelContext并开始骆驼航线作业传递的元数据。 – Sat