Я новичок в этой технологии. Я смиренно прошу вашего участия. Я хотел бы остановить прослушивание JMS и удалить свою очередь в консоли ActiveMQ. Я использую ActiveMQ и Spring. Вот код для получения моей очереди:
public boolean deleteQueue(String sessionID) {
try {
ActiveMQConnection connection = (ActiveMQConnection) jmsTemplate.getConnectionFactory().createConnection();
connection.start();
connection.destroyDestination(new ActiveMQQueue(sessionID));
// connection.destroyDestination(new ActiveMQQueue(sessionID));
connection.stop();
connection.close();
} catch (JMSException e) {
System.out.println("Error handled" + e);
}
return true;
}
У меня есть этот MessagingContextConfig
файл для конфигурации
@Configuration
public class MessagingContextConfig {
private static final String DEFAULT_BROKER_URL = "tcp://localhost:61616";//added ?jms.alwaysSessionAsync=true Feb 4
@Bean
public ActiveMQConnectionFactory activeMQConnectionFactory(){
ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory();
connectionFactory.setBrokerURL(DEFAULT_BROKER_URL);
connectionFactory.setTrustedPackages(Arrays.asList("icomm.oss.chat"));
return connectionFactory;
}
@Bean
public JmsTemplate jmsTemplate(){
JmsTemplate template = new JmsTemplate();
template.setConnectionFactory(activeMQConnectionFactory());
return template;
}
}
Как я могу закрыть или остановить соединение здесь? Я не могу использовать connection.close()
. Кто-нибудь может мне помочь?