J'essaye d'implémenter le modèle de tuyaux et filtres avec les beans Message-Driven dans Java EE, mais je veux le faire de manière à ce que les files d'attente soient configurables et les haricots créé lors de l'exécution. De cette façon changer l'ordre dans lequel les filtres s'exécutent serait facile.Modèle de tuyaux et de filtres avec MDB en Java EE
Je suis vraiment nouveau pour Java EE et quand je MDB dans le passé, je le faisais toujours comme ça:
@MessageDriven(mappedName = "jms/myQueue", activationConfig = {
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue")
})
public class ReceiveMessageBean implements MessageListener {
Cela ne fonctionnera pas pour ce que je veux.
Je pensais faire un haricot que chacun des filtres pourrait hériter de, de cette façon, je peux mettre la lecture et d'écriture de la méthode de file d'attente dans un seul endroit, quelque chose comme ceci:
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
}
}
Et puis avoir une sorte d'usine dans mon ejb qui crée les haricots étape avec les valeurs souhaitées pour les files d'attente.
Mais je suis assez perdu sur la façon de faire tout cela. J'ai regardé this, mais puisque mes beans lisent et écrivent des files d'attente elles ne sont pas strictement MDB. Je utilise GlassFish 4.1.2 et Netbeans 8.2.
Tout conseil sur la façon de procéder ou sur la possibilité de le faire est le bienvenu.
Cela a fonctionné, mais j'ai utilisé un 'MessageConsumer' au lieu d'un' Consumer' – moondaisy