Connection parameters:
TcsMQConnectionParams connectionParams = new TcsMQConnectionParams
{
Host = "mq-test01",
Port = 1414,
Channel = "CHN.T01",
ManagerName = "QM1",
TopicString = "/Cards/Events"
};
Connection to topic - simple example:
public sealed class WebSphereListenerService
{
private IConnection _connection;
private ISession _session;
private IDestination _destination;
private IMessageConsumer _consumer;
private readonly TcsMQConnectionParams _connectionParameters;
private IConnectionFactory _connectionFactory;
public WebSphereListenerService(TcsMQConnectionParams connectionParameters)
{
_connectionParameters = connectionParameters;
}
public void Start()
{
// Create the connection factories factory
var factoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
// Use the connection factories factory to create a connection factory
_connectionFactory = factoryFactory.CreateConnectionFactory();
// Set the properties
_connectionFactory.SetStringProperty(XMSC.WMQ_HOST_NAME, _connectionParameters.Host);
_connectionFactory.SetIntProperty(XMSC.WMQ_PORT, _connectionParameters.Port);
_connectionFactory.SetStringProperty(XMSC.WMQ_CHANNEL, _connectionParameters.Channel);
_connectionFactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, _connectionParameters.ManagerName);
_connectionFactory.SetStringProperty(XMSC.CLIENT_ID, $"ClientName_{Environment.MachineName}.{"TestApp"}");
CreateNewConnection();
}
private void CreateNewConnection()
{
_connection = _connectionFactory.CreateConnection();
_session = _connection.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
_destination = _session.CreateTopic(_connectionParameters.TopicString);
var subName = "subscriptionName";
_consumer = _session.CreateDurableSubscriber(_destination, subName);
//_session.Unsubscribe(subName);
_consumer.MessageListener = Receive;
_connection.Start();
}
private void Receive(IMessage msg)
{
// Handler
}
}