org.objectweb.jeremie.binding.soa

Class SOAContext

Implemented Interfaces:
RMIContext

public class SOAContext
extends Object
implements RMIContext

Provides an implementation of UnicastRemoteObject, multiple instances of which are managed together by an object adapter.

Constructor Summary

SOAContext(JRMIBFactory binder, ContextFactory context_factory)

Method Summary

static RemoteStub
export(Remote impl, Context hints, JRMIBFactory binder, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Exports the given remote object to the object adapter, and then recursively to the given binding factory.
RemoteStub
export(Remote obj, int port, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Exports a remote object on the specified port.
RemoteStub
export(Remote obj, int port, boolean daemon, RMIClientSocketFactory csf, RMIServerSocketFactory ssf)
Exports a remote object on the specified port.
static Remote
toStub(Remote impl)
Returns the Jeremie stub for the given remote object.
boolean
unexport(Remote obj, boolean force)
Unexports the specified remote object.
static void
unexport(Remote impl, JRMIBFactory binder)
Unexports the given remote object from the object adapter and the given binding factory.

Constructor Details

SOAContext

public SOAContext(JRMIBFactory binder,
                  ContextFactory context_factory)

Method Details

export

public static RemoteStub export(Remote impl,
                                Context hints,
                                JRMIBFactory binder,
                                RMIClientSocketFactory csf,
                                RMIServerSocketFactory ssf)
            throws RemoteException
Exports the given remote object to the object adapter, and then recursively to the given binding factory.

Parameters:
impl - the remote object to be exported;
hints - other data that may be useful for the export;
binder - a binding factory.

Returns:
a stub corresponding to the remote object.


export

public RemoteStub export(Remote obj,
                         int port,
                         RMIClientSocketFactory csf,
                         RMIServerSocketFactory ssf)
            throws RemoteException
Exports a remote object on the specified port. Incoming calls are accepted on the port via a server socket supplied by the specified server socket factory. Clients will make calls via sockets supplied by the specified client socket factory.
Specified by:
export in interface RMIContext

Parameters:
obj - the remote object to be exported;
port - the port on which to export the object;
csf - the client socket factory supplying sockets for client-side connections to the remote object;
ssf - the server socket factory supplying a server side socket.

Returns:
a stub for the exported remote object.


export

public RemoteStub export(Remote obj,
                         int port,
                         boolean daemon,
                         RMIClientSocketFactory csf,
                         RMIServerSocketFactory ssf)
            throws RemoteException
Exports a remote object on the specified port. Incoming calls are accepted on the port via a server socket supplied by the specified server socket factory. Clients will make calls via sockets supplied by the specified client socket factory.

Parameters:
obj - the remote object to be exported;
port - the port on which to export the object;
daemon - indicates that only daemon threads should be created during the export process.
csf - the client socket factory supplying sockets for client-side connections to the remote object;
ssf - the server socket factory supplying a server side socket.

Returns:
a stub for the exported remote object.


toStub

public static Remote toStub(Remote impl)
            throws NoSuchObjectException
Returns the Jeremie stub for the given remote object. The remote object must previously have been exported, otherwise an exception is raised.

Parameters:
impl - the remote object whose stub is required

Returns:
the Jeremie stub for the remote object


unexport

public boolean unexport(Remote obj,
                        boolean force)
Unexports the specified remote object. If the boolean parameter is true, the object is unexported even if there are pending calls or calls in progress. If the boolean parameter is false, the unexported only if there are no pending calls or calls in progress.
Specified by:
unexport in interface RMIContext

Parameters:
obj - the remote object to be unexported;
force - whether the object should be forcibly unexported or not.

Returns:
whether the unexport operation succeeded or not.


unexport

public static void unexport(Remote impl,
                            JRMIBFactory binder)
Unexports the given remote object from the object adapter and the given binding factory.

Parameters:
impl - the remote object to unexport;
binder - a binding factory.