我正在尝试创建一个库以将消息发送到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对象,该对象每次都会初始化并创建新的连接工厂,即如何重用连接而不是每次都创建新的连接工厂。即我如何使用相同的Jmstemplate在不同的类中发送消息?