首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >在Java EE中使用MDB的管道和过滤器模式

在Java EE中使用MDB的管道和过滤器模式
EN

Stack Overflow用户
提问于 2017-06-16 21:08:17
回答 0查看 533关注 0票数 1

我正在尝试用Java中的消息驱动bean实现管道和过滤器模式,但我希望以一种队列可配置且bean在运行时创建的方式来实现。通过这种方式,更改过滤器的执行顺序将很容易。

我对Java EE非常陌生,当我过去使用MDB时,我总是这样做:

代码语言:javascript
代码运行次数:0
运行
复制
@MessageDriven(mappedName = "jms/myQueue", activationConfig = {
    @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
})
public class ReceiveMessageBean implements MessageListener {

这对我想要的东西不起作用。

我正在考虑做一个每个过滤器都可以继承的bean,这样我就可以把从队列中读取和写入的方法放在一个地方,就像这样:

代码语言:javascript
代码运行次数:0
运行
复制
public class StepBean {
    public void createBean(String queueRead, String queueWrite) {
        //make the bean listen from queueRead
        //make the bean write to queueWrite
    }
    public void onMessage(Message message){
        //get the message  from queueRead and transform it to my own class
        processMessage(myMessage);
    }

    public void processMessage(MyMessage message){
        //each filter should implement this method 
        sendMessage(myMessage);
    }

    public void sendMessage(MyMessage message){
        //send message to queueWrite
    }
}

然后在我的ejb中有某种工厂,它为队列创建具有所需值的步骤bean。

但我对如何做到这一点几乎一无所知。我一直在研究this,但是因为我的been都是从队列中读取和写入的,所以它们不是严格意义上的MDB。

我使用的是GlassFish 4.1.2和Netbeans 8.2。

欢迎任何关于如何做到这一点或关于它是否可行的指导。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/44590064

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档