ClientInvoker.java |
/* * JBoss, the OpenSource J2EE webOS * * Distributable under LGPL license. * See terms of license at gnu.org. */ package org.jboss.remoting.transport; import org.jboss.remoting.ConnectionFailedException; import org.jboss.remoting.InvocationRequest; import org.jboss.remoting.Invoker; import org.jboss.remoting.InvokerLocator; import org.jboss.remoting.marshal.Marshaller; import org.jboss.remoting.marshal.UnMarshaller; /** * Interface to be used for calling on all the different invoker types (LocalClientInvoker * and RemoteClientInvoker). * * @author <a href="mailto:telrod@e2technologies.net">Tom Elrod</a> */ public interface ClientInvoker extends Invoker { /** * This should be set when want to override the default behavior of automatically * getting s suitable locator. This should be used want want to control what type * of callbacks to receive (pull or push). Set to null to poll for callback messages. * This can also be used to receive callbacks using another transport and subsystem, * if desired. * * @param locator */ public void setClientLocator(InvokerLocator locator); /** * Gets the client locator. This locator will be used by the server side * to make callbacks to the handler for this locator. * * @return */ public InvokerLocator getClientLocator(); /** * transport a request against a remote ServerInvoker * * @param in * @return * @throws Throwable */ public Object invoke(InvocationRequest in) throws Throwable; /** * subclasses must provide this method to return true if their remote connection is connected and * false if disconnected. in some transports, such as SOAP, this method may always return true, since the * remote connectivity is done on demand and not kept persistent like other transports (such as socket-based * transport). * * @return boolean true if connected, false if not */ public boolean isConnected(); /** * connect to the remote invoker * * @throws org.jboss.remoting.ConnectionFailedException * */ public void connect() throws ConnectionFailedException; /** * disconnect from the remote invokere */ public void disconnect(); public void setMarshaller(Marshaller marshaller); public Marshaller getMarshaller(); public void setUnMarshaller(UnMarshaller unmarshaller); public UnMarshaller getUnMarshaller(); }
ClientInvoker.java |