是否可以实例化 Jaxb 一次,并在所有 Apache Camel 路由中使用它?
Is it possible to instantiate Jaxb once, and use it in all Apache Camel routes?
我有一条路线以 marshal 结束,进入 xml,使用 Jaxb。整个路由只需要几毫秒,直到必须实例化 Jaxb 上下文的时间:
JAXBContext jaxbContext = JAXBContext.newInstance(VVTMPUSH.class);
这个小方法大约需要两秒钟。并且每次使用路由时都会调用它,每秒应该在100次左右。
是否可以只实例化 Jaxbcontext
一次,并在每个路由中使用相同的对象?
谢谢!
我将原来的 process
一分为二,从方法中删除了 Jaxb 的初始化,将其添加到 camel 路由并创建了一个新的 process_2
来延续之前 process_1
JaxbDataFormat jaxb = new JaxbDataFormat("add.your.namespace.to.the.ObjectFactory");
jaxb.setPrettyPrint(true);
from("seda:out?concurrentConsumers=20")
.process(new process_1())
.marshal(jaxb)
.process(new process_2());
我有一条路线以 marshal 结束,进入 xml,使用 Jaxb。整个路由只需要几毫秒,直到必须实例化 Jaxb 上下文的时间:
JAXBContext jaxbContext = JAXBContext.newInstance(VVTMPUSH.class);
这个小方法大约需要两秒钟。并且每次使用路由时都会调用它,每秒应该在100次左右。
是否可以只实例化 Jaxbcontext
一次,并在每个路由中使用相同的对象?
谢谢!
我将原来的 process
一分为二,从方法中删除了 Jaxb 的初始化,将其添加到 camel 路由并创建了一个新的 process_2
来延续之前 process_1
JaxbDataFormat jaxb = new JaxbDataFormat("add.your.namespace.to.the.ObjectFactory");
jaxb.setPrettyPrint(true);
from("seda:out?concurrentConsumers=20")
.process(new process_1())
.marshal(jaxb)
.process(new process_2());