bonjour tout le monde,
s'il vous plait si quelqu'un peut me donner les étapes de la création d'une simple application JMS.
MErci pour vos aides
bonjour tout le monde,
s'il vous plait si quelqu'un peut me donner les étapes de la création d'une simple application JMS.
MErci pour vos aides
oui, alors il faut dans un premier temps créer une queue dans ton serveur, a titre d'exemple sous jboss, il faut déclarer la queue dans le fichier destinations-services.xml.
Une fois que tu as fait cela, tu peux créer un MDB (Message Driven Bean) qui va traiter les différents messages présents dans la queue (de façon asynchrone) à l'aide de la fonction onMessage
par exemple :
Ensuite dans ton code source tu vas pouvoir envoyer des messages dans la queue comme ceci :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12 @MessageDriven(name = "MessageDrivenBean", activationConfig = { @ActivationConfigProperty(propertyName="destinationType",propertyValue="javax.jms.Queue"), @ActivationConfigProperty(propertyName = "destination", propertyValue = "queue/MyQueue")} ) public class MessageDrivenBean implements MessageListener { @Override public void onMessage(Message message) { } }
Voilà, j'espère que ça pourra te donner une idée !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27 Session session = null; Connection connection =null; try { Context context = new InitialContext(); QueueConnectionFactory connectionFactory; connectionFactory = (QueueConnectionFactory) context.lookup("/ConnectionFactory"); Queue queue = (Queue)context.lookup("queue/MyQueue"); connection = connectionFactory.createConnection(); session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); MessageProducer producer = session.createProducer(queue); ObjectMessage objectMessage = session.createObjectMessage(); objectMessage.setObject(/*tu mets l'objet que tu veux*/); producer.send(objectMessage); } catch (Exception e) { log.error(e.getMessage(),e); } finally { connection.close(); session.close(); }
Mercii ,mais
comment je peux créer une queue dans mon serveur???plutot comment je la déclare dans le fichier xml
Je pense que ça dépend de ton serveur mais par exemple sous jboss il faut rajouter le code suivant dans le fichier destinations-service.xml présent sur ton serveur :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9 <mbean code="org.jboss.jms.server.destination.QueueService" name="jboss.messaging.destination:service=Queue,name=MyQueue" xmbean-dd="xmdesc/Queue-xmbean.xml"> <depends optional-attribute-name="ServerPeer">jboss.messaging:service=ServerPeer</depends> <depends>jboss.messaging:service=PostOffice</depends> <attribute name="RedeliveryDelay">10000</attribute> <attribute name="MaxDeliveryAttempts">3</attribute> </mbean>
c'est bien ,parce que j'utilise le JBOSS comme serveur .
Merci beaucoup, je vais essayer
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager