com.devexperts.qd.qtp
Class MessageConnectors

java.lang.Object
  extended by com.devexperts.qd.qtp.MessageConnectors

public class MessageConnectors
extends java.lang.Object

Factory and utility classes to work with message connectors.

See Also:
MessageConnector

Field Summary
static com.devexperts.connector.proto.ConfigurationKey<java.lang.String> FILTER_CONFIGURATION_KEY
           
static com.devexperts.util.TypedKey<java.net.Socket> SOCKET_KEY
           
static com.devexperts.util.TypedKey<QDStats> STATS_KEY
           
 
Constructor Summary
MessageConnectors()
           
 
Method Summary
static void addMessageConnectorListener(java.util.Collection<? extends MessageConnector> connectors, MessageConnectorListener listener)
           
static com.devexperts.connector.proto.ApplicationConnectionFactory applicationConnectionFactory(ConfigurableMessageAdapterFactory cfactory)
           
static com.devexperts.connector.proto.ApplicationConnectionFactory applicationConnectionFactory(MessageAdapter.Factory factory)
           
static ConfigurableMessageAdapterFactory configurable(MessageAdapter.Factory factory)
          Wraps any MessageAdapter.Factory into ConfigurableMessageAdapterFactory if neccessary, so that it can be used with createMessageConnectors(com.devexperts.qd.qtp.ConfigurableMessageAdapterFactory, java.lang.String, com.devexperts.qd.stats.QDStats) method, but does not accept any additional specification for factory.
static java.util.List<MessageConnector> createMessageConnectors(com.devexperts.connector.proto.ApplicationConnectionFactory acfactory, java.lang.String addresses)
           
static java.util.List<MessageConnector> createMessageConnectors(com.devexperts.connector.proto.ApplicationConnectionFactory acfactory, java.lang.String addresses, QDStats stats)
           
static java.util.List<MessageConnector> createMessageConnectors(ConfigurableMessageAdapterFactory cfactory, java.lang.String addresses, QDStats parentStats)
          Creates new connectors for specified addresses using specified configurable adapter factory.
static java.lang.Class<? extends MessageConnector> findMessageConnector(java.lang.String name, java.lang.ClassLoader loader)
          Finds MessageConnector class by its short name (case-insensitive).
static com.devexperts.transport.stats.EndpointStats getEndpointStats(java.util.Collection<? extends MessageConnector> connectors)
           
static java.lang.Class<? extends MessageConnector>[] listMessageConnectors(java.lang.ClassLoader loader)
           
static void removeMessageConnectorListener(java.util.Collection<? extends MessageConnector> connectors, MessageConnectorListener listener)
           
static MessageAdapter.Factory retrieveMessageAdapterFactory(com.devexperts.connector.proto.ApplicationConnectionFactory pfactory)
          Deprecated. 
static void setThreadPriority(java.util.Collection<? extends MessageConnector> connectors, int priority)
           
static void startMessageConnectors(java.util.Collection<? extends MessageConnector> connectors)
           
static void stopMessageConnectors(java.util.Collection<? extends MessageConnector> connectors)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

FILTER_CONFIGURATION_KEY

public static final com.devexperts.connector.proto.ConfigurationKey<java.lang.String> FILTER_CONFIGURATION_KEY

SOCKET_KEY

public static com.devexperts.util.TypedKey<java.net.Socket> SOCKET_KEY

STATS_KEY

public static com.devexperts.util.TypedKey<QDStats> STATS_KEY
Constructor Detail

MessageConnectors

public MessageConnectors()
Method Detail

configurable

public static ConfigurableMessageAdapterFactory configurable(MessageAdapter.Factory factory)
Wraps any MessageAdapter.Factory into ConfigurableMessageAdapterFactory if neccessary, so that it can be used with createMessageConnectors(com.devexperts.qd.qtp.ConfigurableMessageAdapterFactory, java.lang.String, com.devexperts.qd.stats.QDStats) method, but does not accept any additional specification for factory.

Parameters:
factory - MessageAdapter.Factory to wrap
Returns:
ConfigurableMessageAdapterFactory

applicationConnectionFactory

public static com.devexperts.connector.proto.ApplicationConnectionFactory applicationConnectionFactory(MessageAdapter.Factory factory)

applicationConnectionFactory

public static com.devexperts.connector.proto.ApplicationConnectionFactory applicationConnectionFactory(ConfigurableMessageAdapterFactory cfactory)

retrieveMessageAdapterFactory

@Deprecated
public static MessageAdapter.Factory retrieveMessageAdapterFactory(com.devexperts.connector.proto.ApplicationConnectionFactory pfactory)
Deprecated. 


createMessageConnectors

public static java.util.List<MessageConnector> createMessageConnectors(ConfigurableMessageAdapterFactory cfactory,
                                                                       java.lang.String addresses,
                                                                       QDStats parentStats)
                                                                throws AddressSyntaxException
Creates new connectors for specified addresses using specified configurable adapter factory. The addresses string can contain one address or multiple addresses to configure multiple connectors: The individual address format is: [<spec>@]<connector>[(<name>=<value>)[(...)]]. Spec (optional) is processed by the configurable message adapter factory. Name-value pairs (optional) specify additional bean properties for connectors (see corresponding class definitions). The individual connector format is one of: Note that last port number is mandatory, and it will be used for all listed hosts unless overridden individually. Optional TLS (Transport Layer Security) specifier turns on SSL/TLS for the corresponding connector.

Example of the addresses string is
(equities@quote01:5001)(options@quote02:5001)(messages@m1,m2:5002)(:5003)

Parameters:
cfactory - Configurable message adapter factory.
addresses - The addresses string.
parentStats - Parent QDStats for all created connectors.
Returns:
A list of messages connectors implementing MessageConnector interface
Throws:
java.lang.NullPointerException - if any parameter is null
AddressSyntaxException - if address format is incorrect

createMessageConnectors

public static java.util.List<MessageConnector> createMessageConnectors(com.devexperts.connector.proto.ApplicationConnectionFactory acfactory,
                                                                       java.lang.String addresses,
                                                                       QDStats stats)
                                                                throws AddressSyntaxException
Throws:
AddressSyntaxException

createMessageConnectors

public static java.util.List<MessageConnector> createMessageConnectors(com.devexperts.connector.proto.ApplicationConnectionFactory acfactory,
                                                                       java.lang.String addresses)
                                                                throws AddressSyntaxException
Throws:
AddressSyntaxException

listMessageConnectors

public static java.lang.Class<? extends MessageConnector>[] listMessageConnectors(java.lang.ClassLoader loader)

findMessageConnector

public static java.lang.Class<? extends MessageConnector> findMessageConnector(java.lang.String name,
                                                                               java.lang.ClassLoader loader)
Finds MessageConnector class by its short name (case-insensitive).

Parameters:
name - MessageConnector class name.
loader - Class loader to use.
Returns:
correspongind Class<? extends MessageConnector> or null if no such MessageConnector was found.

startMessageConnectors

public static void startMessageConnectors(java.util.Collection<? extends MessageConnector> connectors)

stopMessageConnectors

public static void stopMessageConnectors(java.util.Collection<? extends MessageConnector> connectors)

getEndpointStats

public static com.devexperts.transport.stats.EndpointStats getEndpointStats(java.util.Collection<? extends MessageConnector> connectors)

addMessageConnectorListener

public static void addMessageConnectorListener(java.util.Collection<? extends MessageConnector> connectors,
                                               MessageConnectorListener listener)

removeMessageConnectorListener

public static void removeMessageConnectorListener(java.util.Collection<? extends MessageConnector> connectors,
                                                  MessageConnectorListener listener)

setThreadPriority

public static void setThreadPriority(java.util.Collection<? extends MessageConnector> connectors,
                                     int priority)