1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 |
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 } } |