java程序终止时调用_java – 简单的spring应用程序终止,除非调用Thread.sleep(…)

我看到一些使用

Spring和Apache Camel的非常简单的

Java应用程序的奇怪行为.

我在我的应用程序上下文中定义了下面的spring bean:

这是一个单一路线的驼峰环境.据我所知,当创建bean时,将启动一个新线程,该线程侦听传入的消息并将它们路由到我的eventConsumer.

我的应用程序的起点很简单:

public static void main(String[] args) {

ApplicationContext context = new ClassPathXmlApplicationContext("application-context.xml");

}

问题是:

当我运行上面的简单应用程序时,日志输出显示camel上下文和路由已成功初始化,但随后应用程序立即终止.

但是,如果在初始化应用程序上下文后添加Thread.sleep(1000),则应用程序永远不会终止.这是我期望的行为,因为创建了一个新线程来监听传入的消息.

为什么我需要调用Thread.sleep来实现预期的行为?

这显然不是正确的方法 – 我做错了什么?

编辑[1]:日志中没有任何异常.无论是否调用Thread.sleep(1000),都会生成以下日志输出.

29 [main] INFO org.apache.camel.spring.handler.CamelNamespaceHandler - OSGi environment not detected.

1473 [main] INFO org.apache.camel.spring.SpringCamelContext - Apache Camel 2.9.0 (CamelContext: camelContext) is starting

1474 [main] INFO org.apache.camel.management.ManagementStrategyFactory - JMX enabled. Using ManagedManagementStrategy.

1541 [main] INFO org.apache.camel.management.DefaultManagementLifecycleStrategy - StatisticsLevel at All so enabling load performance statistics

1618 [main] INFO org.apache.camel.impl.converter.AnnotationTypeConverterLoader - Found 3 packages with 15 @Converter classes to load

1637 [main] INFO org.apache.camel.impl.converter.DefaultTypeConverter - Loaded 168 core type converters (total 168 type converters)

1650 [main] INFO org.apache.camel.impl.converter.AnnotationTypeConverterLoader - Found 2 packages with 3 @Converter classes to load

1651 [main] WARN org.apache.camel.impl.converter.DefaultTypeConverter - Overriding type converter from: StaticMethodTypeConverter: public static org.apache.activemq.command.ActiveMQDestination org.apache.activemq.camel.converter.ActiveMQConverter.toDestination(java.lang.String) to: StaticMethodTypeConverter: public static org.apache.activemq.command.ActiveMQDestination org.apache.camel.component.activemq.ActiveMQConverter.toDestination(java.lang.String)

1664 [main] INFO org.apache.camel.impl.converter.DefaultTypeConverter - Loaded additional 3 type converters (total 171 type converters) in 0.025 seconds

1946 [main] INFO org.apache.camel.spring.SpringCamelContext - Route: handleIncomingEvents started and consuming from: Endpoint[activemq://queue:myqueue?jmsMessageType=Text]

1958 [main] INFO org.apache.camel.spring.SpringCamelContext - Total 1 routes, of which 1 is started.

1958 [main] INFO org.apache.camel.spring.SpringCamelContext - Apache Camel 2.9.0 (CamelContext: camelContext) started in 0.485 seconds

编辑[2]:我正在使用这个ActiveMQ配置:

destroy-method="stop">

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值