Bonjour,
à fin d'optimiser mon traitement je me demandait si le code suivant pour envoyer un message est optimale :

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
    public void sendMessage() {
    try{
        Context contexte =InitContext.getContext().getInitialContext();
 
        //Insertion d'un message dans le bean message
         QueueConnectionFactory queueConnectionFactory = (QueueConnectionFactory)
             contexte.lookup("jms/maConnectionFactory");
         Queue queue = (Queue)contexte.lookup("jms/demoQueue");
          QueueConnection queueConnection = 
              queueConnectionFactory.createQueueConnection();
          QueueSession queueSession =
              queueConnection.createQueueSession(false,
              Session.AUTO_ACKNOWLEDGE);
          QueueSender queueSender = queueSession.createSender(queue);
          TextMessage message = queueSession.createTextMessage();
          message.setText("Bonjour!");
          queueSender.send(message);
 
        }catch(JMSException e) {throw new EJBException(e.toString());
        }catch (NamingException e){throw new EJBException("Error looking up home", e);}
    }
(récupérer dans un autre sujet)

En effet, ce code rappelle systématiquement la création des objets connections, création de session puis création de sender. Je me demande si je ne pourrait pas gardé ceci dans un objet static ou voir d'un objets d'un EJB.

Ce qui me permettrait de pouvoir envoyer des messages en parallèles.

Du coup je vous poses la question de façon à connaitre l'avis d'expert en java.