Class BasicSonicMqImplementation

All Implemented Interfaces:
ComponentLifecycleExtension, ConnectionComparator<VendorImplementationBase>, VendorImplementation, VendorImplementationBase, LicensedComponent
Direct Known Subclasses:
AdvancedSonicMqImplementation

public class BasicSonicMqImplementation extends UrlVendorImplementation implements LicensedComponent

Progress SonicMQ implementation of VendorImplementation.

Depending on your SonicMQ configuration you will need at least the sonic_Client.jar sonic_Channel.jar sonic_Crypto.jar sonic_XMessage.jar from your SonicMQ installation

In the adapter configuration file this class is aliased as basic-sonic-mq-implementation which is the preferred alternative to the fully qualified classname when building your configuration.

License Required: BASIC

  • Constructor Details

    • BasicSonicMqImplementation

      public BasicSonicMqImplementation()
  • Method Details

    • createConnectionFactory

      public progress.message.jclient.ConnectionFactory createConnectionFactory() throws javax.jms.JMSException

      Returns a new instance of progress.message.jclient.ConnectionFactory.

      Specified by:
      createConnectionFactory in interface VendorImplementation
      Returns:
      a QueueConnectionFactory
      Throws:
      javax.jms.JMSException - if any occur
    • createConnectionFactory

      protected progress.message.jclient.ConnectionFactory createConnectionFactory(String url) throws javax.jms.JMSException
      Throws:
      javax.jms.JMSException
    • retrieveBrokerDetailsForLogging

      public String retrieveBrokerDetailsForLogging()
      Specified by:
      retrieveBrokerDetailsForLogging in interface VendorImplementationBase
      Overrides:
      retrieveBrokerDetailsForLogging in class UrlVendorImplementation
      See Also:
    • getConnectionUrls

      public String getConnectionUrls()
      Return any additional urls in use.
      Returns:
      Returns the connectionUrls.
      See Also:
    • setConnectionUrls

      public void setConnectionUrls(String s)
      Set any additional urls to use when connecting to a broker.

      Sonic MQ provides the facility for high availability, this is where you would add in additional urls that should be used if the primary connection is unavailable

      Parameters:
      s - the connectionUrls to set, comma delimited
    • getConnectId

      public String getConnectId()
    • setConnectId

      public void setConnectId(String s)
      Set the ConnectID for the connection factory.

      If the ConnectID is not set for a given connection factory, then one will be assigned dynamically. In the event of a connection being terminated unexpectedly, there can be a time delay within SonicMQ before a different ConnectID (associated with a given client-id) can be used to connect to a durable topic subscription or exclusive queue. Use of this parameter is optional, but is likely to be required if you are using multiple adapters in a fault-tolerant fashion.

      Parameters:
      s - the connect id.
      See Also:
      • ConnectionFactory.setConnectID(String)
    • prepare

      public void prepare() throws CoreException
      Specified by:
      prepare in interface ComponentLifecycleExtension
      Overrides:
      prepare in class VendorImplementationImp
      Throws:
      CoreException
    • isEnabled

      public boolean isEnabled(License license)
      Specified by:
      isEnabled in interface LicensedComponent