org.jgroups
Class JChannelFactory

java.lang.Object
  extended by org.jgroups.JChannelFactory
All Implemented Interfaces:
ChannelFactory

public class JChannelFactory
extends java.lang.Object
implements ChannelFactory

JChannelFactory creates pure Java implementations of the Channel interface. See JChannel for a discussion of channel properties.


Constructor Summary
JChannelFactory()
          Constructs a JChannelFactory instance that contains no protocol stack configuration.
JChannelFactory(org.w3c.dom.Element properties)
          Constructs a JChannelFactory instance that utilizes the specified file for protocl stack configuration.
JChannelFactory(java.io.File properties)
          Constructs a JChannelFactory instance that utilizes the specified file for protocl stack configuration.
JChannelFactory(java.lang.String properties)
          Constructs a JChannel instance with the protocol stack configuration based upon the specified properties parameter.
JChannelFactory(java.net.URL properties)
          Constructs a JChannelFactory instance that utilizes the specified file for protocl stack configuration.
 
Method Summary
 void close(MuxChannel ch)
           
 void connect(MuxChannel ch)
           
 void create()
           
 Channel createChannel()
          Creates a JChannel implementation of the Channel interface using the protocol stack configuration information specfied during construction of an instance of this factory.
 Channel createChannel(java.lang.Object properties)
          Deprecated. JChannel's conversion to type-specific construction, and the subsequent deprecation of its JChannel(Object) constructor, necessitate the deprecation of this factory method as well. Type-specific protocol stack configuration should be specfied during construction of an instance of this factory.
 Channel createMultiplexerChannel(java.lang.String stack_name, java.lang.String id)
           
 Channel createMultiplexerChannel(java.lang.String stack_name, java.lang.String id, boolean register_for_state_transfer, java.lang.String substate_id)
          Creates an implementation of Channel using a guven stack name and registering under a given identity.
 void destroy()
           
 void disconnect(MuxChannel ch)
           
 java.lang.String dumpChannels()
           
 java.lang.String dumpConfiguration()
           
 java.lang.String getDomain()
           
 java.lang.String getMultiplexerConfig()
           
 boolean hasMuxChannel(java.lang.String stack_name, java.lang.String id)
          Returns true if this factory has already registered MuxChannel with given stack_name and an id, false otherwise.
 boolean isExposeChannels()
           
 boolean isExposeProtocols()
           
 void open(MuxChannel ch)
           
 void setDomain(java.lang.String domain)
           
 void setExposeChannels(boolean expose_channels)
           
 void setExposeProtocols(boolean expose_protocols)
           
 void setMultiplexerConfig(org.w3c.dom.Element properties)
           
 void setMultiplexerConfig(java.io.File file)
          Initializes the factory from a file.
 void setMultiplexerConfig(java.lang.Object properties)
          Initializes the factory.
 void setMultiplexerConfig(java.lang.String properties)
           
 void setMultiplexerConfig(java.net.URL url)
           
 void shutdown(MuxChannel ch)
           
 void start()
           
 void stop()
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JChannelFactory

public JChannelFactory()
Constructs a JChannelFactory instance that contains no protocol stack configuration.


JChannelFactory

public JChannelFactory(java.io.File properties)
                throws ChannelException
Constructs a JChannelFactory instance that utilizes the specified file for protocl stack configuration.

Parameters:
properties - a file containing a JGroups XML protocol stack configuration.
Throws:
ChannelException - if problems occur during the interpretation of the protocol stack configuration.

JChannelFactory

public JChannelFactory(org.w3c.dom.Element properties)
                throws ChannelException
Constructs a JChannelFactory instance that utilizes the specified file for protocl stack configuration.

Parameters:
properties - a XML element containing a JGroups XML protocol stack configuration.
Throws:
ChannelException - if problems occur during the interpretation of the protocol stack configuration.

JChannelFactory

public JChannelFactory(java.net.URL properties)
                throws ChannelException
Constructs a JChannelFactory instance that utilizes the specified file for protocl stack configuration.

Parameters:
properties - a URL pointing to a JGroups XML protocol stack configuration.
Throws:
ChannelException - if problems occur during the interpretation of the protocol stack configuration.

JChannelFactory

public JChannelFactory(java.lang.String properties)
                throws ChannelException
Constructs a JChannel instance with the protocol stack configuration based upon the specified properties parameter.

Parameters:
properties - an old style property string, a string representing a system resource containing a JGroups XML configuration, a string representing a URL pointing to a JGroups XML XML configuration, or a string representing a file name that contains a JGroups XML configuration.
Throws:
ChannelException - if problems occur during the interpretation of the protocol stack configuration.
Method Detail

setMultiplexerConfig

public void setMultiplexerConfig(java.lang.Object properties)
                          throws java.lang.Exception
Description copied from interface: ChannelFactory
Initializes the factory.

Specified by:
setMultiplexerConfig in interface ChannelFactory
Throws:
ChannelException
java.lang.Exception

setMultiplexerConfig

public void setMultiplexerConfig(java.io.File file)
                          throws java.lang.Exception
Description copied from interface: ChannelFactory
Initializes the factory from a file. Example: conf/stacks.xml

Specified by:
setMultiplexerConfig in interface ChannelFactory
Throws:
ChannelException
java.lang.Exception

setMultiplexerConfig

public void setMultiplexerConfig(org.w3c.dom.Element properties)
                          throws java.lang.Exception
Specified by:
setMultiplexerConfig in interface ChannelFactory
Throws:
java.lang.Exception

setMultiplexerConfig

public void setMultiplexerConfig(java.net.URL url)
                          throws java.lang.Exception
Specified by:
setMultiplexerConfig in interface ChannelFactory
Throws:
java.lang.Exception

getMultiplexerConfig

public java.lang.String getMultiplexerConfig()

setMultiplexerConfig

public void setMultiplexerConfig(java.lang.String properties)
                          throws java.lang.Exception
Specified by:
setMultiplexerConfig in interface ChannelFactory
Throws:
java.lang.Exception

getDomain

public java.lang.String getDomain()

setDomain

public void setDomain(java.lang.String domain)

isExposeChannels

public boolean isExposeChannels()

setExposeChannels

public void setExposeChannels(boolean expose_channels)

isExposeProtocols

public boolean isExposeProtocols()

setExposeProtocols

public void setExposeProtocols(boolean expose_protocols)

createChannel

public Channel createChannel(java.lang.Object properties)
                      throws ChannelException
Deprecated. JChannel's conversion to type-specific construction, and the subsequent deprecation of its JChannel(Object) constructor, necessitate the deprecation of this factory method as well. Type-specific protocol stack configuration should be specfied during construction of an instance of this factory.

Creates a JChannel implementation of the Channel interface.

Specified by:
createChannel in interface ChannelFactory
Parameters:
properties - the protocol stack configuration information; a null value means use the default protocol stack configuration.
Throws:
ChannelException - if the creation of the channel failed.

createChannel

public Channel createChannel()
                      throws ChannelException
Creates a JChannel implementation of the Channel interface using the protocol stack configuration information specfied during construction of an instance of this factory.

Specified by:
createChannel in interface ChannelFactory
Throws:
ChannelException - if the creation of the channel failed.

createMultiplexerChannel

public Channel createMultiplexerChannel(java.lang.String stack_name,
                                        java.lang.String id)
                                 throws java.lang.Exception
Specified by:
createMultiplexerChannel in interface ChannelFactory
Throws:
java.lang.Exception

createMultiplexerChannel

public Channel createMultiplexerChannel(java.lang.String stack_name,
                                        java.lang.String id,
                                        boolean register_for_state_transfer,
                                        java.lang.String substate_id)
                                 throws java.lang.Exception
Description copied from interface: ChannelFactory
Creates an implementation of Channel using a guven stack name and registering under a given identity. The latter is used for multiplexing requests to and from a block on top of a channel.

Specified by:
createMultiplexerChannel in interface ChannelFactory
Parameters:
stack_name - The name of the stack to be used. All stacks are defined in the configuration with which the factory is configured (see ChannelFactory.setMultiplexerConfig(Object) for example.
id - The identifier used for multiplexing and demultiplexing (dispatching requests to one of possibly multiple receivers). Note that id needs to be a string since it will be shipped with each message. Try to pick a short string, because this is shipped with every message (overhead). todo: possibly change to short ?
register_for_state_transfer - If set to true, after all registered listeners called connect() on the returned Channel, the state for all registered listeners will be fetched and set in all listeners
substate_id - The ID of the substate to be retrieved. Set this to null if the entire state should be retrieved. If register_for_state_transfer is false, substate_id will be ignored
Returns:
An implementation of Channel which keeps track of the id, so that it can be attached to each message and be properly dispatched at the receiver. This will be a MuxChannel.
Throws:
ChannelException
java.lang.Exception

hasMuxChannel

public boolean hasMuxChannel(java.lang.String stack_name,
                             java.lang.String id)
Returns true if this factory has already registered MuxChannel with given stack_name and an id, false otherwise.

Parameters:
stack_name - name of the stack used
id - service id
Returns:
true if such MuxChannel exists, false otherwise

connect

public void connect(MuxChannel ch)
             throws ChannelException
Throws:
ChannelException

disconnect

public void disconnect(MuxChannel ch)

close

public void close(MuxChannel ch)

shutdown

public void shutdown(MuxChannel ch)

open

public void open(MuxChannel ch)
          throws ChannelException
Throws:
ChannelException

create

public void create()
            throws java.lang.Exception
Throws:
java.lang.Exception

start

public void start()
           throws java.lang.Exception
Throws:
java.lang.Exception

stop

public void stop()

destroy

public void destroy()

dumpConfiguration

public java.lang.String dumpConfiguration()

dumpChannels

public java.lang.String dumpChannels()


Copyright ? 1998-2006 Bela Ban. All Rights Reserved.