2015-12-01 3 views
2

Dans notre projet, nous utilisons une MDB qui écoute un message dans une file d'attente spécifique. Il est défini comme une annotation.Comment rendre les propriétés contextuelles MDB Activation Spec configurables?

Exemple:

@MessageDriven(activationConfig = { 
@ActivationConfigProperty(propertyName = "maxSessions", propertyValue = "20")}) 

. Pour changer la valeur de maxSessions, le code doit être compilé à chaque fois. Même si je le configure dans ejb-jar.xml au lieu de l'annoter, j'ai besoin de compiler le code et de générer le fichier EAR. Y a-t-il un moyen de le rendre configurable par l'utilisateur (lire le fichier de propriétés) pour que la recompilation du code ne soit pas nécessaire et en changeant simplement la valeur maxSession à "30" et en redémarrant le jboss, cela devrait fonctionner.

Veuillez nous aider.

Code de référence:

@MessageDriven(activationConfig = { 
@ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"), 
@ActivationConfigProperty(propertyName = "destination", propertyValue = "ABCQueue"), 
@ActivationConfigProperty(propertyName = "maxSessions", propertyValue = "20"), @ActivationConfigProperty(propertyName="maxMessagesPerSessions",propertyValue="15")}) 
public class ABCMDB implements MessageListener 
{ 
    ----------- 
} 

Répondre

1

j'ai commencé à écrire un point essentiel sur les Wildfly8 et Websphere MQ l'intégration, ce qui permet de configurer et de maintenir la configuration contextuelle environnement pour MDB ou producteurs de messages JMS.

Fondamentalement, j'ai dû déclarer un descripteur de déploiement personnalisé jboss-ejb3.xml dans mon application qui utilise les propriétés du système pour la configuration contextuelle utilisée par ma MDB.

Les propriétés système sont configurées dans le fichier wildfly standalone-full.xml, sous l'élément system-properties. Donc, pas dans un fichier de propriétés, mais à mon avis, la configuration de standalone-full.xml est un bon emplacement pour une telle configuration.

Voici le lien: https://gist.github.com/remibantos/33c366803f189db9b225

+0

Rémi, est-ce possible avec ActiveMQ et wildfly? – Hello

+0

Je n'ai pas testé avec ActiveMQ, mais je suppose qu'il existe un adaptateur de ressources existant qui implémente JCA (Java Connector Architecture) comme décrit dans cet article: http://www.mastertheboss.com/jboss-server/jboss- jms/integra-activemq-with-wildfly. En passant, j'ai appris que Wildfly 10 utilise maintenant ActiveMQ, car HornetQ est devenu Artemis, qui fait maintenant partie du parapluie ActiveMQ (Voir http://hornetq.blogspot.co.uk/2015/06/hornetq-apache-donation- et-apache.html) –

+0

est-ce possible avec jboss 4? – Hello