【问题标题】:What is the best way to create new threads in Weblogic application server?在 Weblogic 应用程序服务器中创建新线程的最佳方法是什么?
【发布时间】:2011-10-04 10:33:16
【问题描述】:

我正在 Weblogic 应用服务器上开发一个应用程序,并且在我的应用程序中我需要创建一个新进程 (python)。

这个进程有 2 个输出流 (std + err) 应该由我的应用程序读取,因为如果这些流的缓冲区已满,操作系统会冻结进程。

问题是,我想异步读取这些流,因为我并不真正关心进程输出,这意味着我需要 2 个新线程来完成这项工作(而且我不需要等待它们停止)。

我知道不建议在应用服务器中创建新线程,我想知道处理这种情况的最佳方法是什么。

【问题讨论】:

    标签: multithreading jakarta-ee weblogic


    【解决方案1】:

    您可以使用Quartz Scheduler 来完成此操作

    您可以配置一个侦听器,该侦听器将与 Weblogic 应用一起启动并运行它。

    如果不是,它可以基于某些触发器运行,例如一天中的时间或一周中的一天,并且可以配置为无限期运行或在特定时间段内运行

    Quartz 管理它自己配置的线程池,不会干扰 Weblogic 的线程。

    查看FAQCookbook 了解模式 这是examples

    【讨论】:

    • 这是内置工具吗?我更喜欢针对我的情况使用内置解决方案,并且我认为有类似的东西,因为在我看来这是一个非常基本的需求。
    • @wafwaf:不,这不是内置的。通常最好的做法是不要自己在应用服务器中管理线程池,Quartz 在为您管理此类需求方面非常有名。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-01-15
    • 1970-01-01
    • 2018-09-24
    • 2021-03-31
    • 1970-01-01
    • 2021-07-25
    • 1970-01-01
    相关资源
    最近更新 更多