当前位置: 首页 > 知识库问答 >
问题:

如何在独立应用程序中成功完成进程后杀死Apache Camel父线程?

康弘义
2023-03-14

我使用Unix调度程序启动Camel主独立应用程序

    SimpleRegistry sr = new SimpleRegistry();
    sr.put("masterdata", dataSource);

    CamelContext context = new DefaultCamelContext(sr);
    try {

        context.addRoutes(new RouteBuilder() {
            @Override
            public void configure() throws Exception {

                 from("timer://alertstrigtimer?period=60s&repeatCount=1")....
                 from("etc").....
                 from("etc").....
                 from("etc").stop()
          }})
         context.start();
        Thread.sleep(30000);
    } catch (Exception e) {
        LOGGER.warn("configure(): Exception in creationg flow:", e);
    }

共有1个答案

鞠嘉志
2023-03-14

你有不同的选择,这里有一些我会考虑的:

  1. 使用camel-main,并将其配置为在完成一定数量的交换时关闭
  2. 使用路由策略并根据自己的规则关闭camel上下文
 类似资料:
  • 问题内容: 我试图在javascript中生成一个进程,并在一段时间后将其杀死(出于测试目的)。 最后,该过程将是一个无限循环,我需要在指定的时间使用不同的参数重新启动,因此我认为生成该过程并杀死它是执行此操作的最佳方法。 我的测试代码是: 结果是: 但是我仍然需要发送ctrl + C来结束程序。我想念什么? 在Raspbian的节点0.10.17上,omxplayer是二进制文件(视频播放器)。

  • 问题内容: 我从python脚本生成了5个不同的进程,如下所示: 我的问题是,当父进程(主脚本)以某种方式被杀死时,子进程继续运行。 当父进程被杀死时,有没有办法杀死这样生成的子进程? 编辑:我正在尝试: 但这似乎不起作用 问题答案: 我自己也遇到了同样的问题,我有以下解决方案: 打电话之前,您可以设置。然后如此处所述python.org multiprocessing 进程退出时,它将尝试终止其

  • 问题内容: 如何java.lang.Thread用Java 杀死A ? 问题答案: 有关他们为何不赞成使用Sun的内容,请参见此主题。它详细介绍了为什么这是一种不好的方法,以及通常应该采取什么措施才能安全地停止线程。 他们建议的方式是使用共享变量作为标志,要求后台线程停止。然后可以由另一个请求线程终止的对象来设置此变量。

  • 日志: ... 我的项目中只有三个文件:

  • 问题内容: 使用shelljs创建一个子进程 杀死父进程后,子进程仍在运行.. 问题答案: 如果您可以使用node的内置,则可以向子进程发送信号: 这样做的好处是,主进程应该一直徘徊,直到所有子进程都终止。

  • 尝试使用ZooKeeper和SparkDriver弹性实现SparkMaster的高可用性,使用GlusterFS中的元数据检查点。 null 驾驶员保持在停车状态。驱动程序错误日志- 我是否为Spark选择了正确的资源控制器,即Statefulsets of kubernetes?我对这个环境是新的,任何帮助都是非常值得赞赏的。