在容器托管线程之间共享LinkedBlockingQueue

时间:2019-01-14 15:41:28

标签: queue cdi jndi java-ee-7 wildfly-10

我有一个应用程序,其中有一些生产者线程,它们需要一个输入队列和一个缓冲区。缓冲区具有一个观察器,一旦达到一定的限制,便将其清空,并将批次放入另一个Queue2中。然后,由消费者读取Queue2并写入批处理。

目前,我在程序结构中所缺少的是一种无需进行构造函数魔术或Setter操作即可将这些Queue和Buffer放入Runnable的巧妙方法。

我不能使用@Inject,因为CDI上下文不会传播到子线程。一个人可以实现自己的上下文,该上下文的行为类似于ApplicationScopedContext,但是目前我不愿意这样做(如果有人有一个很好的实现示例,请告诉我)。

由于JNDI树已传播到我考虑使用的子线程,但是我担心序列化,这绝对不是我想要的队列。

所以我的问题是:是将对象绑定到Wildfly 10参考中的JNDI树中还是将它们序列化?

0 个答案:

没有答案