org.jgroups

## Class JChannelFactory

- java.lang.Object
- - org.jgroups.JChannelFactory

All Implemented Interfaces:
  ChannelFactory

Deprecated.
Might get removed in 3.0. Use your own method of injecting channels

    @Deprecated
    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.

See Also:
  `JChannelFactory`

### Constructor Summary

Constructors
Constructor and Description
`JChannelFactory()` Deprecated. Constructs a `JChannelFactory` instance that contains no protocol stack configuration.
`JChannelFactory(org.w3c.dom.Element properties)` Deprecated. Constructs a `JChannelFactory` instance that utilizes the specified file for protocl stack configuration.
`JChannelFactory(java.io.File properties)` Deprecated. Constructs a `JChannelFactory` instance that utilizes the specified file for protocl stack configuration.
`JChannelFactory(java.lang.String properties)` Deprecated. Constructs a `JChannel` instance with the protocol stack configuration based upon the specified properties parameter.
`JChannelFactory(java.net.URL properties)` Deprecated. Constructs a `JChannelFactory` instance that utilizes the specified file for protocl stack configuration.

### Method Summary

Methods
`void` `clearConfigurations()` Deprecated. Removes all configurations
`void` `create()` Deprecated.
`Channel` `createChannel()` Deprecated. 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` `createChannel(java.lang.String stack_name)` Deprecated.
`Channel` `createMultiplexerChannel(java.lang.String stack_name, java.lang.String id)` Deprecated. Use a shared transport instead of the multiplexer
`Channel` `createMultiplexerChannel(java.lang.String stack_name, java.lang.String id, boolean register_for_state_transfer, java.lang.String substate_id)` Deprecated. Use a shared transport instead of the multiplexer
`void` `destroy()` Deprecated.
`java.lang.String` `dumpChannels()` Deprecated.
`java.lang.String` `dumpConfiguration()` Deprecated.
`java.lang.String` `getConfig(java.lang.String stack_name)` Deprecated. Returns the stack configuration as a string (to be fed into new JChannel()).
`java.lang.String` `getDomain()` Deprecated.
`java.lang.String` `getMultiplexerConfig()` Deprecated. Use a shared transport instead of the multiplexer
`javax.management.MBeanServer` `getServer()` Deprecated.
`boolean` `hasMuxChannel(java.lang.String stack_name, java.lang.String id)` Deprecated. Use a shared transport instead of the multiplexer
`boolean` `isExposeChannels()` Deprecated.
`boolean` `isExposeProtocols()` Deprecated.
`boolean` `removeConfig(java.lang.String stack_name)` Deprecated.
`void` `setDomain(java.lang.String domain)` Deprecated.
`void` `setExposeChannels(boolean expose_channels)` Deprecated.
`void` `setExposeProtocols(boolean expose_protocols)` Deprecated.
`void` `setMultiplexerConfig(org.w3c.dom.Element properties)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(org.w3c.dom.Element properties, boolean replace)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.io.File file)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.io.File file, boolean replace)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.lang.Object properties)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.lang.Object properties, boolean replace)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.lang.String properties)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.lang.String properties, boolean replace)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.net.URL url)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setMultiplexerConfig(java.net.URL url, boolean replace)` Deprecated. Use a shared transport instead of the multiplexer
`void` `setServer(javax.management.MBeanServer server)` Deprecated.
`void` `start()` Deprecated.
`void` `stop()` Deprecated.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### JChannelFactory

    public JChannelFactory()

Deprecated.
Constructs a `JChannelFactory` instance that contains no protocol stack configuration.

#### JChannelFactory

    public JChannelFactory(java.io.File properties)
                    throws ChannelException

Deprecated.
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

Deprecated.
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

Deprecated.
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

Deprecated.
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

Deprecated. Use a shared transport instead of the multiplexer
Description copied from interface: `ChannelFactory`
Initializes the factory.

Specified by:
  `setMultiplexerConfig` in interface `ChannelFactory`
Parameters:
  `properties` -
Throws:
  `java.lang.Exception`
  `ChannelException`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.lang.Object properties,
                            boolean replace)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Parameters:
  `properties` -
  `replace` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.io.File file)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer
Description copied from interface: `ChannelFactory`
Initializes the factory from a file. Example: conf/stacks.xml

Specified by:
  `setMultiplexerConfig` in interface `ChannelFactory`
Parameters:
  `file` -
Throws:
  `java.lang.Exception`
  `ChannelException`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.io.File file,
                            boolean replace)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Parameters:
  `file` -
  `replace` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(org.w3c.dom.Element properties)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Specified by:
  `setMultiplexerConfig` in interface `ChannelFactory`
Parameters:
  `properties` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(org.w3c.dom.Element properties,
                            boolean replace)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Parameters:
  `properties` -
  `replace` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.net.URL url)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Specified by:
  `setMultiplexerConfig` in interface `ChannelFactory`
Parameters:
  `url` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.net.URL url,
                            boolean replace)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Parameters:
  `url` -
  `replace` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.lang.String properties)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Specified by:
  `setMultiplexerConfig` in interface `ChannelFactory`
Parameters:
  `properties` -
Throws:
  `java.lang.Exception`

#### setMultiplexerConfig

    public void setMultiplexerConfig(java.lang.String properties,
                            boolean replace)
                              throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer

Parameters:
  `properties` -
  `replace` -
Throws:
  `java.lang.Exception`

#### getConfig

    public java.lang.String getConfig(java.lang.String stack_name)
                               throws java.lang.Exception

Deprecated.
Returns the stack configuration as a string (to be fed into new JChannel()). Throws an exception if the stack_name is not found. One of the setMultiplexerConfig() methods had to be called beforehand

Returns:
  The protocol stack config as a plain string
Throws:
  `java.lang.Exception`

#### getMultiplexerConfig

    public java.lang.String getMultiplexerConfig()

Deprecated. Use a shared transport instead of the multiplexer

Returns:
  Returns all configurations

#### clearConfigurations

    public void clearConfigurations()

Deprecated.
Removes all configurations

#### removeConfig

    public boolean removeConfig(java.lang.String stack_name)

Deprecated.

#### getServer

    public javax.management.MBeanServer getServer()

Deprecated.

#### setServer

    public void setServer(javax.management.MBeanServer server)

Deprecated.

#### getDomain

    public java.lang.String getDomain()

Deprecated.

#### setDomain

    public void setDomain(java.lang.String domain)

Deprecated.

#### isExposeChannels

    public boolean isExposeChannels()

Deprecated.

#### setExposeChannels

    public void setExposeChannels(boolean expose_channels)

Deprecated.

#### isExposeProtocols

    public boolean isExposeProtocols()

Deprecated.

#### setExposeProtocols

    public void setExposeProtocols(boolean expose_protocols)

Deprecated.

#### 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

Deprecated.
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.

#### createChannel

    public Channel createChannel(java.lang.String stack_name)
                          throws java.lang.Exception

Deprecated.

Specified by:
  `createChannel` in interface `ChannelFactory`
Throws:
  `java.lang.Exception`

#### createMultiplexerChannel

    public Channel createMultiplexerChannel(java.lang.String stack_name,
                                   java.lang.String id)
                                     throws java.lang.Exception

Deprecated. Use a shared transport instead of the multiplexer
Description copied from interface: `ChannelFactory`
Creates an implementation of the Channel using a given stack name and registering it under a given identity.

Channel has to be created with a unique application id per stack name.

Provided stack name has to be one of the stacks defined in a property file that was passed to setMultiplexerConfig (e.g conf/stacks.xml). If clients attempt to create a Channel for an undefined stack name or they attempt to register a duplicate Channel per stack an Exception will be thrown.

Specified by:
  `createMultiplexerChannel` in interface `ChannelFactory`
Parameters:
  `stack_name` -
  `id` -
Returns:
Throws:
  `java.lang.Exception`
  `ChannelException`
See Also:
  `Multiplexer`, `MuxChannel`

#### 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

Deprecated. Use a shared transport instead of the multiplexer
Description copied from interface: `ChannelFactory`
Creates an implementation of the Channel using a given stack name and registering it under a given identity.

Channel has to be created with a unique application id per stack name.

Provided stack name has to be one of the stacks defined in a property file that was passed to setMultiplexerConfig (e.g conf/stacks.xml). If clients attempt to create a Channel for an undefined stack name or they attempt to register a duplicate Channel per stack an Exception will be thrown.

Rather than having each multiplexed channel do a separate state transfer clients can bundle state transfers for all channels created with the same ChannelFactory. First of all, clients have to create Channels with register_for_state_transfer set to true. After the last Channel that was created with register_for_state_transfer set to true connects and initiates state transfer the actual state transfer for all such channels from this ChannelFactory is executed.

Using bundled state transfers is especially useful with the FLUSH protocol in a stack. Recall that each state transfer triggers a flush and thus instead of doing a separate flush for each Channel created with this ChannelFactory we execute only one flush for all state transfers.

However, be aware of the implication of asynchronous nature of bundled state transfer with the respect of channel connect. Recall that each Channel after it returns from successful getState method can assume that state is available. In case of bundled state transfer, state will be set only after the last Channel registered for the bundled state transfer connects and executes getState.

Specified by:
  `createMultiplexerChannel` in interface `ChannelFactory`
Parameters:
  `stack_name` -
  `id` -
  `register_for_state_transfer` -
  `substate_id` -
Returns:
Throws:
  `java.lang.Exception`
  `ChannelException`
See Also:
  `Multiplexer`, `MuxChannel`

#### hasMuxChannel

    public boolean hasMuxChannel(java.lang.String stack_name,
                        java.lang.String id)

Deprecated. Use a shared transport instead of the multiplexer
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

#### create

    public void create()
                throws java.lang.Exception

Deprecated.

Throws:
  `java.lang.Exception`

#### start

    public void start()
               throws java.lang.Exception

Deprecated.

Throws:
  `java.lang.Exception`

#### stop

    public void stop()

Deprecated.

#### destroy

    public void destroy()

Deprecated.

#### dumpConfiguration

    public java.lang.String dumpConfiguration()

Deprecated.

#### dumpChannels

    public java.lang.String dumpChannels()

Deprecated.