gpt4 book ai didi

multithreading - 在Servlet中使用线程

转载 作者:行者123 更新时间:2023-12-03 12:52:44 25 4
gpt4 key购买 nike

我很困惑是否应该在servlet中创建自己的线程,因为它们具有线程机制
内部?如果是,我们如何确定程序线程是否安全?如何在servlet中实现线程安全机制。

最佳答案

根据您在注释中的内容,我了解到您有一组线程可以连续监视日志文件,并在日志中发现令人烦恼的情况时发送电子邮件。

第一个问题:为什么这是一个servlet?是否有网络GUI?这是做什么用的?

对于日志扫描部分,我将其实现为servlet容器之外的单独过程。对于此过程发现的所有需要​​发送到某个地方的东西,我都会向JMS队列中添加一条消息。然后,我将创建一个消息驱动bean,以接收来自此队列的消息并将其作为电子邮件发送。 (这确实是一个集成问题,要将消息从JMS转换为电子邮件,您可能需要研究类似Mule的方法来解决此问题)。

至于如何将此与您的servlet集成,除了扫描日志外,还取决于您的servlet所做的工作(我想它为用户提供了某种界面)

通过这种设计,您可以选择在将来重新编写生成日志的程序。除了让一个程序编写日志并由另一个程序解析日志外,第一个程序还可以将中断消息直接放在JMS队列上。换句话说,您将来可以更改体系结构的日志生成部分,而不必重新编写邮件发送部分。

关于multithreading - 在Servlet中使用线程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9002459/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com