Apache camel 使用camel main和直接在上下文对象上操作的区别

Apache camel 使用camel main和直接在上下文对象上操作的区别,apache-camel,Apache Camel,我正在创建我的第一个camel独立应用程序。我看到了一些例子。似乎有两种口味: 使用Main类并在此基础上进行设置(添加路由…),然后调用 Main.run() 创建DefaultCamelContext对象,然后对其调用start() 这两种方式的区别是什么?在我的例子中,我在一个单独的类中创建上下文,因为没有方法将上下文设置为main,所以我必须直接使用上下文。 但是我想知道main提供了什么,另外,可能我还需要实现一些额外的东西 不同之处在于,一个是使在JVM中启动Camel应用程序并

我正在创建我的第一个camel独立应用程序。我看到了一些例子。似乎有两种口味:

  • 使用Main类并在此基础上进行设置(添加路由…),然后调用 Main.run()
  • 创建DefaultCamelContext对象,然后对其调用start()
这两种方式的区别是什么?在我的例子中,我在一个单独的类中创建上下文,因为没有方法将上下文设置为main,所以我必须直接使用上下文。
但是我想知道main提供了什么,另外,可能我还需要实现一些额外的东西

不同之处在于,一个是使在JVM中启动Camel应用程序并使其保持运行等变得更容易,另一个是使用其start方法启动上下文

你可以在这里找到更多细节

然后是CamelContext的javadoc及其启动方法


thx,-在我的情况下,我会选择main,但如何设置我自己的上下文以在main中使用?什么是“让它保持运行等”的意思?如果使用context.start()/stop(),保持它运行是否更加困难?请阅读我提供的链接。请注意阻塞运行方法和非阻塞启动方法之间的区别。thx但这并没有多大帮助:“重要提示:启动方法未阻塞,请参阅此处的更多详细信息”。这里链接到您的第一个链接,但在这个页面上没有出现“阻止”。另一方面,有两个文档:这表示使用上下文并启动它,链接到这表示使用main和run。这两个文档都不包含任何关于“阻塞”或其他差异的内容,而是“保持其运行”。那么,在什么样的独立/用例中,你建议使用哪种方法?@ ClausIbsen,请考虑更新链接。ATM两条链路都断开了。