Apache camel 如何在驼峰上下文中保持数据对象

Apache camel 如何在驼峰上下文中保持数据对象,apache-camel,Apache Camel,我创造了一个骆驼的环境;此骆驼上下文有4条路由。所有这些路线都与完成相同的饲料加工操作有关。现在我需要在路由中共享一个数据库对象 该对象应该在创建上下文时初始化,并且应该可用于验证来自的数据的所有路由 到目前为止;我已经创建了一个org.apache.camel.StartupListener,并在上下文中注册。此侦听器将向上下文添加一些属性。但我的需求并不仅仅以字符串值结束。我必须在上下文中放置一个对象 我应该如何在Camel上下文中添加此对象?您始终可以创建一个普通bean来保持对共享对象的

我创造了一个骆驼的环境;此骆驼上下文有4条路由。所有这些路线都与完成相同的饲料加工操作有关。现在我需要在路由中共享一个数据库对象

该对象应该在创建上下文时初始化,并且应该可用于验证来自的数据的所有路由

到目前为止;我已经创建了一个
org.apache.camel.StartupListener
,并在上下文中注册。此侦听器将向上下文添加一些属性。但我的需求并不仅仅以字符串值结束。我必须在上下文中放置一个对象


我应该如何在Camel上下文中添加此对象?

您始终可以创建一个普通bean来保持对共享对象的引用,并在所有路由中获得如下bean:

MyBean myBean=exchange.getContext().getRegistry().lookup("MyBean",MyBean.class);

或者直接将您的共享对象添加为bean(如果可能)

如何将您的共享对象直接添加为bean?这取决于对象本身(如何创建等)以及您是否希望静态或动态添加它。例如,静态XML配置如下所示:谢谢Sergey;我会创造一个这样的豆子;但这将如何添加到注册表中呢?这是上下文魔法的一部分,它将自动将bean添加到注册表中