From 33a75e72d1d9404c01ed15184cd6f5dbbe11f6a2 Mon Sep 17 00:00:00 2001 From: Dave Syer Date: Wed, 27 Apr 2011 13:42:59 +0100 Subject: [PATCH] AMQP-165: explicitly destory connection factory in Log4j Appender --- .../springframework/amqp/rabbit/log4j/AmqpAppender.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/log4j/AmqpAppender.java b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/log4j/AmqpAppender.java index d0119e1b..9980d294 100644 --- a/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/log4j/AmqpAppender.java +++ b/spring-rabbit/src/main/java/org/springframework/amqp/rabbit/log4j/AmqpAppender.java @@ -396,6 +396,9 @@ public class AmqpAppender extends AppenderSkeleton { senderPool.shutdownNow(); senderPool = null; } + if (null != connectionFactory) { + connectionFactory.destroy(); + } } public boolean requiresLayout() { @@ -408,7 +411,7 @@ public class AmqpAppender extends AppenderSkeleton { protected class EventSender implements Runnable { public void run() { try { - RabbitTemplate rabbitTmpl = new RabbitTemplate(connectionFactory); + RabbitTemplate rabbitTemplate = new RabbitTemplate(connectionFactory); while (true) { final Event event = events.take(); LoggingEvent logEvent = event.getEvent(); @@ -460,7 +463,7 @@ public class AmqpAppender extends AppenderSkeleton { // Send a message String routingKey = routingKeyLayout.format(logEvent); try { - rabbitTmpl + rabbitTemplate .send(exchangeName, routingKey, new Message(msgBody.toString().getBytes(), amqpProps)); } catch (AmqpException e) { int retries = event.incrementRetries();