我创建了 2 个不同的应用程序,并在其中一个中启动了骆驼上下文。如何在第二个应用程序中使用这个已经启动的上下文?
我尝试通过使用 lookUpByname() 并将骆驼上下文与 jndi 上下文绑定来获取上下文,但可以加载现有上下文。
还尝试通过在应用程序 1 的上下文中设置 NameStrategy 并在应用程序 2 中获得相同的结果,但看起来骆驼自动在 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();
}
}
请指导我在不同的应用程序中获取已经启动的上下文,因为我想避免每次都创建新的上下文。