Class TransportConfiguration

java.lang.Object
org.apache.activemq.artemis.api.core.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:
  • Field Details

  • Constructor Details

    • 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 Details

    • 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
    • newTransportConfig

      public TransportConfiguration newTransportConfig(String newName)
    • 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
    • getExtraParams

      public Map<String,Object> getExtraParams()
    • getCombinedParams

      public Map<String,Object> getCombinedParams()
    • hashCode

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

      public boolean equals(Object o)
      Overrides:
      equals in class Object
    • isSameParams

      public boolean isSameParams(TransportConfiguration that)
    • 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
    • toString

      public String toString()
      Overrides:
      toString in class Object
    • toStringParameters

      public static String toStringParameters(Map<String,Object> params, Map<String,Object> extraProps)
    • 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)