現在有一個需求:
在發送端服務器出現故障后,接收端的接收方法要停下來,關於停止接收的方法,我做了下面這些事情:
// 獲取 ConnectionFactory ConnectionFactory connectionFactory = new ActiveMQConnectionFactory( "tcp://" + ip + ":61616"); // 創建 Connection Connection connection = connectionFactory.createConnection(); connection.start(); //把connection放入map,方便停止 ConfigInfo.receiveSocket.put("connection", connection); System.out.println("connectionmap======"+ConfigInfo.receiveSocket.get("connection")); // 創建 Session Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE);
然后寫了一個方法,停止接收 ,其實就是將connection關閉:
public static void stopReceivewebsite() throws JMSException{ System.out.println("websiteimage開始停止方法"); System.out.println(ConfigInfo.receiveSocket.get("connection")); Connection connection = (Connection) ConfigInfo.receiveSocket.get("connection"); connection.close(); System.out.println("websiteimage接收停止完成"); }
親測好使。