Class TransportConfiguration

  • All Implemented Interfaces:
    Serializable

    public class TransportConfiguration
    extends Object
    implements Serializable
    A TransportConfiguration is used by a client to specify connections to a server and its backup if one exists.

    Typically the constructors take the class name and parameters for needed to create the connection. These will be different dependent on which connector is being used, i.e. Netty or InVM etc. For example:

     HashMap<String, Object> map = new HashMap<String, Object>();
     map.put("host", "localhost");
     map.put("port", 61616);
     TransportConfiguration config = new TransportConfiguration(InVMConnectorFactory.class.getName(), map);
     ClientSessionFactory sf = new ClientSessionFactoryImpl(config);
     
    See Also:
    Serialized Form
    • Constructor Detail

      • TransportConfiguration

        public TransportConfiguration()
        Creates a default TransportConfiguration with no configured transport.
      • TransportConfiguration

        public TransportConfiguration​(String className,
                                      Map<String,​Object> params,
                                      String name)
        Creates a TransportConfiguration with a specific name providing the class name of the ConnectorFactory and any parameters needed.
        Parameters:
        className - The class name of the ConnectorFactory
        params - The parameters needed by the ConnectorFactory
        name - The name of this TransportConfiguration
      • TransportConfiguration

        public TransportConfiguration​(String className,
                                      Map<String,​Object> params,
                                      String name,
                                      Map<String,​Object> extraProps)
        Creates a TransportConfiguration with a specific name providing the class name of the ConnectorFactory and any parameters needed.
        Parameters:
        className - The class name of the ConnectorFactory
        params - The parameters needed by the ConnectorFactory
        name - The name of this TransportConfiguration
        extraProps - The extra properties that specific to protocols
      • TransportConfiguration

        public TransportConfiguration​(String className,
                                      Map<String,​Object> params)
        Creates a TransportConfiguration providing the class name of the ConnectorFactory and any parameters needed.
        Parameters:
        className - The class name of the ConnectorFactory
        params - The parameters needed by the ConnectorFactory
      • TransportConfiguration

        public TransportConfiguration​(String className)
        Creates a TransportConfiguration providing the class name of the ConnectorFactory
        Parameters:
        className - The class name of the ConnectorFactory
    • Method Detail

      • toJson

        public org.apache.activemq.artemis.json.JsonObject toJson()
      • splitHosts

        public static String[] splitHosts​(String commaSeparatedHosts)
        Utility method for splitting a comma separated list of hosts
        Parameters:
        commaSeparatedHosts - the comma separated host string
        Returns:
        the hosts
      • getName

        public String getName()
        Returns the name of this TransportConfiguration.
        Returns:
        the name
      • setName

        public void setName​(String name)
      • getFactoryClassName

        public String getFactoryClassName()
        Returns the class name of ConnectorFactory being used by this TransportConfiguration
        Returns:
        The factory's class name
      • getParams

        public Map<String,​Object> getParams()
        Returns any parameters set for this TransportConfiguration
        Returns:
        the parameters
      • hashCode

        public int hashCode()
        Overrides:
        hashCode in class Object
      • isEquivalent

        public boolean isEquivalent​(TransportConfiguration otherConfig)
        There's a case on ClusterConnections that we need to find an equivalent Connector and we can't use a Netty Cluster Connection on an InVM ClusterConnection (inVM used on tests) for that reason I need to test if the two instances of the TransportConfiguration are equivalent while a test a connector against an acceptor
        Parameters:
        otherConfig -
        Returns:
        true if the factory class names are equivalents
      • encode

        public void encode​(ActiveMQBuffer buffer)
        Encodes this TransportConfiguration into a buffer.

        Note that this is only used internally ActiveMQ Artemis.

        Parameters:
        buffer - the buffer to encode into
      • decode

        public void decode​(ActiveMQBuffer buffer)
        Decodes this TransportConfiguration from a buffer.

        Note this is only used internally by ActiveMQ

        Parameters:
        buffer - the buffer to decode from
      • setFactoryClassName

        public void setFactoryClassName​(String factoryClassName)