You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-dev@axis.apache.org by jm...@apache.org on 2002/10/29 23:40:54 UTC
cvs commit: xml-axis/java/src/org/apache/axis/ime/internal MessageExchangeProvider.java
jmsnell 2002/10/29 14:40:54
Modified: java/src/org/apache/axis/ime/internal
MessageExchangeProvider.java
Log:
Added send and receive handler invocation to the MessageExchangeProvider base implementation.
Revision Changes Path
1.6 +23 -4 xml-axis/java/src/org/apache/axis/ime/internal/MessageExchangeProvider.java
Index: MessageExchangeProvider.java
===================================================================
RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/ime/internal/MessageExchangeProvider.java,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -r1.5 -r1.6
--- MessageExchangeProvider.java 29 Oct 2002 22:29:26 -0000 1.5
+++ MessageExchangeProvider.java 29 Oct 2002 22:40:54 -0000 1.6
@@ -57,6 +57,7 @@
import org.apache.axis.i18n.Messages;
import org.apache.axis.AxisFault;
+import org.apache.axis.Handler;
import org.apache.axis.MessageContext;
import org.apache.axis.ime.MessageExchange;
import org.apache.axis.ime.MessageContextListener;
@@ -85,6 +86,14 @@
protected boolean initialized = false;
+ protected Handler getSendHandler() {
+ return null;
+ }
+
+ protected Handler getReceiveHandler() {
+ return null;
+ }
+
protected abstract MessageExchangeSendListener getMessageExchangeSendListener();
protected abstract ReceivedMessageDispatchPolicy getReceivedMessageDispatchPolicy();
@@ -119,8 +128,8 @@
if (initialized)
throw new IllegalStateException(Messages.getMessage("illegalStateException00"));
for (int n = 0; n < THREAD_COUNT; n++) {
- WORKERS.addWorker(new MessageSender(WORKERS, SEND, getMessageExchangeSendListener()));
- WORKERS.addWorker(new MessageReceiver(WORKERS, RECEIVE, getReceivedMessageDispatchPolicy()));
+ WORKERS.addWorker(new MessageSender(WORKERS, SEND, getMessageExchangeSendListener(), getSendHandler()));
+ WORKERS.addWorker(new MessageReceiver(WORKERS, RECEIVE, getReceivedMessageDispatchPolicy(), getReceiveHandler()));
}
initialized = true;
}
@@ -170,14 +179,17 @@
protected WorkerPool pool;
protected KeyedBuffer channel;
protected ReceivedMessageDispatchPolicy policy;
+ protected Handler handler;
protected MessageReceiver(
WorkerPool pool,
KeyedBuffer channel,
- ReceivedMessageDispatchPolicy policy) {
+ ReceivedMessageDispatchPolicy policy,
+ Handler handler) {
this.pool = pool;
this.channel = channel;
this.policy = policy;
+ this.handler = handler;
}
/**
@@ -187,6 +199,8 @@
try {
while (!pool.isShuttingDown()) {
MessageExchangeSendContext context = (MessageExchangeSendContext)channel.select(SELECT_TIMEOUT);
+ if (handler != null)
+ handler.invoke(context.getMessageContext());
policy.dispatch(context);
}
} catch (Throwable t) {
@@ -210,14 +224,17 @@
protected WorkerPool pool;
protected KeyedBuffer channel;
protected MessageExchangeSendListener listener;
+ protected Handler handler;
protected MessageSender(
WorkerPool pool,
KeyedBuffer channel,
- MessageExchangeSendListener listener) {
+ MessageExchangeSendListener listener,
+ Handler handler) {
this.pool = pool;
this.channel = channel;
this.listener = listener;
+ this.handler = handler;
}
/**
@@ -227,6 +244,8 @@
try {
while (!pool.isShuttingDown()) {
MessageExchangeSendContext context = (MessageExchangeSendContext)channel.select(SELECT_TIMEOUT);
+ if (handler != null)
+ handler.invoke(context.getMessageContext());
if (context != null)
listener.onSend(context);
}