Servlet容器中的起始脉冲流动
我有一个servlet S, 从第三方网站处理回调。
回调以一定的顺序发生。 所以,我需要把它们放在队列中。
例如,我建议使用内存中的队列
所以逻辑看起来像这样:
servlet. S 获得回调 & 将生成的元素放在队列中 Q.
到这个时候,servlet实例所在的流 S, 应该完成。
消费者流读取数据 Q 它一直处理它们中的每一个。
据我所知,Servlet的每一个例子 S 在自己的流中进行。
如何为整个Web应用程序创建一个消费者流 /war/, 这将用于队列 ? 我基本需要 singleton 实例:
班级 ThreadPool
ConcurrentLinkedQueue
回调以一定的顺序发生。 所以,我需要把它们放在队列中。
例如,我建议使用内存中的队列
java.util.ConcurrentLinkedQueue
所以逻辑看起来像这样:
servlet. S 获得回调 & 将生成的元素放在队列中 Q.
到这个时候,servlet实例所在的流 S, 应该完成。
消费者流读取数据 Q 它一直处理它们中的每一个。
据我所知,Servlet的每一个例子 S 在自己的流中进行。
如何为整个Web应用程序创建一个消费者流 /war/, 这将用于队列 ? 我基本需要 singleton 实例:
班级 ThreadPool
ConcurrentLinkedQueue
没有找到相关结果
已邀请:
5 个回复
郭文康
赞同来自:
我可能会尝试做什么 - 这是为了创造 DaemonServlet. 它只是一个与之相关的普通servlet URL /除了可能是盲目的 URL 为了监测目的,虽然对于这样的事情是优选的 JMX/. 方法
加载servlet时调用。 您可以在此启动线程。 您可能必须创建两个:执行此工作的两个: 另一个确保第一个有效,并在调用时立即透明地完成它
.
或者,如果你使用
http://www.springsource.org/
/让我们来看看真相,什么样的精神病学不使用 Spring?/, 您可以简单地在应用程序的上下文中创建一个bob,这几乎相同,除了生命周期事件 Spring /例如, afterPropertiesSet// 在 InitializingBean/.
事实上,我有另一个最好的交易。 使用
http://static.springframework. ... ption
, 这将是更清洁和可扩展的,但它是基于解决的 JMS, 而且不仅仅是
/和 JMS, 可能在任何情况下都更好/. 但是,根据您的限制,您可能没有 JMS 作为一种选择。
卫东
赞同来自:
有一种彻底的研究在技术上被称为这样做的方法 "servlet collaboration"-在书里 OReilly 根据互联网上可用的Servlets编程
http://books.huihoo.org/oreill ... 3.htm
.
石油百科
赞同来自:
不想做
, 它是尝试在servlet容器内控制自己的流池; 他可以比你更好地制作流池 UNLESS 你带他。
喜特乐
赞同来自:
Servlets 专为处理而设计 HTTP 要求。 HTTP是同步查询协议 / 回答。 如何联系它们的逻辑,位于其他地方。 此处理程序可以是同步或异步的,但它应该取决于处理程序的实现。 servlet必须决定应为此响应推迟哪个处理程序,这是它。
即使你使用 Tomcat 或servlet引擎/JSP, 你仍然可以使用 Spring, JMS 和 MDPs, 添加 ActiveMQ 到它的实施 Tomcat.
风见雨下
赞同来自: