Я пытаюсь создать библиотеку для отправки сообщений в очередь 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 для отправки сообщений в разные классы?