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);
                   }