java异步保存_Java中从Java进行异步处理

我目前有一个tomcat容器 – 在其上运行的servlet监听请求.我需要HTTP请求的结果是作业队列的提交,然后将异步处理.我希望每个“作业”在数据库中连续保存,以便在发生故障时进行跟踪和恢复.我一直在做很多阅读.这是我的选择(注意我必须使用开源的东西).

1)JMS – 使用ActiveMQ(但是在这种情况下谁是该作业的消费者另一个servlet?)

2)让我的请求在数据库中创建一行.在我的Tomcat容器中有一个始终运行的独立servlet – 它使用Quartz Scheduler或java.util.concurrent中提供的实用程序来连续处理作为作业的行(使用线程池).

我倾向于后者,因为查看JMS文档让我头疼,虽然我知道它是一个更强大的解决方案,但我需要相对快速地实现它.在任何情况下,在部署此服务器的早期我都没有预料到会产生巨大的负载.

很多人都认为Spring可能对1或2都有好处.但是我从未使用过Spring,我甚至不知道如何开始使用它来解决这个问题.任何有关如何潜入而无需重新编写整个项目的指针都会很有用.

否则,如果您可以权衡选项1或2,这也是有用的.

澄清:异步过程是屏幕抓取第三方网站,并向原始请求者发送消息通知.第三方网站有点不稳定和缓慢,这就是为什么它将作为异步进程处理(内置几次重试尝试).我还将从该站点提取文件并将其存储在S3中.

解决方法:

您的Quartz作业不需要是Servlet!您可以在数据库中保留传入的作业,并在主Servlet启动时启动Quartz. Quartz Job可以是一个简单的POJO,并定期检查DB是否有任何作业.

但是,我建议你看一下Spring.这并不难学习和easy to setup within Tomcat.你可以在Spring reference documentation中找到很多好的信息.它有Quartz集成,比手工操作容易得多.

标签:java,asynchronous,jms,tomcat,quartz-scheduler

来源: https://codeday.me/bug/20190522/1152119.html

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值