Как использовать фабрику соединений jms для отправки нескольких сообщений - PullRequest
0 голосов
/ 08 ноября 2018

Я пытаюсь создать библиотеку для отправки сообщений в очередь JMS. Целью создания этой библиотеки является то, что приложениям, которые хотят использовать ее, нужно беспокоиться о создании соединения и сохранении сведений об очереди.

У меня есть два файла

Class MyMQConfiguration {

     private void init(){
       /*In this function i create 
 connectionFactory, JMS templete 
  inside a function*/
     }

 /*this function return jms tempalte created above*/

  public JmsTemplate getJMSTemplate(){
       return jmsTemplate;
      }

}





Class SendMessage{

JmsTemplate jmsTemplate;

   SendMesaage(){ 
       /* this  constructor creates object of.          MyMQConfiguration and gets the template */
    }

Public void sendMessage(String msg){
  jmsTemplate.convertAndSend(msg);
    }

}

Это проект maven, и из него будет создан исполняемый файл jar. Скажи MyJMSProject-1.0.jar

Теперь я хочу использовать этот jar-файл в другом проекте для отправки сообщения в очередь

Скажем, у меня есть ниже двух классов в этом проекте

class Producer1{

public void postMesaage(){
   SendMessage sendMsg = new.        SendMesssage();
    String msg ="XYZ";
    sendMsg.send(msg);
}

}

Class Producer2{
public void postMesaage(){
       SendMessage sendMsg = new.    SendMesssage();
      String msg ="XYZ";
      sendMsg.send(msg);
    }
}

Меня беспокоит то, что каждый созданный мной класс производителей создает объект SendMessage, который каждый раз инициализирует и создает новую фабрику соединений n. Т.е. как я могу повторно использовать соединение вместо создания нового каждый раз. Т.е. как я могу использовать один и тот же Jmstemplate для отправки сообщений в разные классы?

...