Added DEBUG logging (INT-122).

This commit is contained in:
Mark Fisher
2008-02-22 04:21:32 +00:00
parent e0f1f69e29
commit f410d02ed6

View File

@@ -25,6 +25,9 @@ import java.util.concurrent.SynchronousQueue;
import java.util.concurrent.ThreadPoolExecutor;
import java.util.concurrent.TimeUnit;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;
import org.springframework.beans.factory.BeanNameAware;
import org.springframework.beans.factory.InitializingBean;
import org.springframework.context.Lifecycle;
@@ -53,23 +56,25 @@ import org.springframework.util.StringUtils;
*/
public class DefaultMessageEndpoint implements MessageEndpoint, ChannelRegistryAware, InitializingBean, BeanNameAware {
private String name;
private final Log logger = LogFactory.getLog(this.getClass());
private MessageHandler handler;
private volatile String name;
private List<MessageSelector> selectors = new CopyOnWriteArrayList<MessageSelector>();
private volatile MessageHandler handler;
private Subscription subscription;
private volatile Subscription subscription;
private ConcurrencyPolicy concurrencyPolicy;
private volatile ConcurrencyPolicy concurrencyPolicy;
private ErrorHandler errorHandler;
private volatile ErrorHandler errorHandler;
private ReplyHandler replyHandler = new EndpointReplyHandler();
private final List<MessageSelector> selectors = new CopyOnWriteArrayList<MessageSelector>();
private String defaultOutputChannelName;
private final ReplyHandler replyHandler = new EndpointReplyHandler();
private ChannelRegistry channelRegistry;
private volatile String defaultOutputChannelName;
private volatile ChannelRegistry channelRegistry;
private volatile boolean initialized;
@@ -108,7 +113,8 @@ public class DefaultMessageEndpoint implements MessageEndpoint, ChannelRegistryA
}
public void setMessageSelectors(List<MessageSelector> selectors) {
this.selectors = new CopyOnWriteArrayList<MessageSelector>(selectors);
this.selectors.clear();
this.selectors.addAll(selectors);
}
public void addMessageSelector(MessageSelector messageSelector) {
@@ -206,6 +212,9 @@ public class DefaultMessageEndpoint implements MessageEndpoint, ChannelRegistryA
}
public final Message<?> handle(Message<?> message) {
if (logger.isDebugEnabled()) {
logger.debug("endpoint '" + this + "' handling message: " + message);
}
if (!this.isRunning()) {
throw new MessageHandlerNotRunningException();
}
@@ -219,8 +228,11 @@ public class DefaultMessageEndpoint implements MessageEndpoint, ChannelRegistryA
throw new MessagingConfigurationException(
"endpoint must have either a 'handler' or 'defaultOutputChannelName'");
}
MessageChannel replyChannel = this.channelRegistry.lookupChannel(this.defaultOutputChannelName);
replyChannel.send(message);
MessageChannel outputChannel = this.channelRegistry.lookupChannel(this.defaultOutputChannelName);
if (logger.isDebugEnabled()) {
logger.debug("endpoint '" + this + "' sending to output channel '" + outputChannel + "', message: " + message);
}
outputChannel.send(message);
return null;
}
try {
@@ -242,6 +254,10 @@ public class DefaultMessageEndpoint implements MessageEndpoint, ChannelRegistryA
return null;
}
public String toString() {
return (this.name != null) ? this.name : super.toString();
}
private MessageChannel resolveReplyChannel(MessageHeader originalMessageHeader) {
Object returnAddress = originalMessageHeader.getReturnAddress();
if (returnAddress instanceof MessageChannel) {
@@ -272,6 +288,9 @@ public class DefaultMessageEndpoint implements MessageEndpoint, ChannelRegistryA
"Provide a 'replyChannel' or 'replyChannelName' in the message header " +
"or a 'defaultOutputChannelName' on the message endpoint.");
}
if (logger.isDebugEnabled()) {
logger.debug("endpoint '" + DefaultMessageEndpoint.this + "' replying to channel '" + replyChannel + "' with message: " + replyMessage);
}
replyChannel.send(replyMessage);
}
}