public SimpleSubscriber(IConnectionFactory connectionFactory, MqEnvironment env, CancellationToken ct)
 {
     _connectionFactory = connectionFactory;
     _env = env;
     _ct  = ct;
 }
Пример #2
0
 public SimplePublisher(IConnectionFactory connectionFactory, MqEnvironment env)
 {
     _connectionFactory = connectionFactory;
     _env = env;
 }
Пример #3
0
        public static void Main(string[] args)
        {
            var env = MqEnvironment.Load("env.json");

            if (args.Length == 0)
            {
                Console.WriteLine("Say which program you want to run; put, get, pub, sub, request, response");
                Environment.Exit(0);
            }

            var xmsFactoryFactory = XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
            var connectionFactory = xmsFactoryFactory.CreateConnectionFactory();

            connectionFactory.SetStringProperty(XMSC.WMQ_HOST_NAME, env.Host);
            connectionFactory.SetIntProperty(XMSC.WMQ_PORT, env.Port);
            connectionFactory.SetStringProperty(XMSC.WMQ_CHANNEL, env.Channel);
            connectionFactory.SetIntProperty(XMSC.WMQ_CONNECTION_MODE, XMSC.WMQ_CM_CLIENT);
            connectionFactory.SetStringProperty(XMSC.WMQ_QUEUE_MANAGER, env.Qmgr);
            if (env.KeyRepository != null && env.CipherSuite != null)
            {
                connectionFactory.SetStringProperty(XMSC.WMQ_SSL_KEY_REPOSITORY, env.KeyRepository);
            }
            if (env.CipherSuite != null)
            {
                connectionFactory.SetStringProperty(XMSC.WMQ_SSL_CIPHER_SPEC, env.CipherSuite);
            }

            //connectionFactory.SetStringProperty(XMSC.USERID, env.AppUser);
            //connectionFactory.SetStringProperty(XMSC.PASSWORD, env.AppPassword);

            try
            {
                switch (args[0])
                {
                case "put":
                    new SimpleProducer(connectionFactory, env).PutMessage();
                    break;

                case "get":
                    new SimpleConsumer(connectionFactory, env, CancellationTokenSource.Token).GetMessages();
                    break;

                case "sub":
                    new SimpleSubscriber(connectionFactory, env, CancellationTokenSource.Token).SubscribeMessages();
                    break;

                case "pub":
                    new SimplePublisher(connectionFactory, env).PublishMessage();
                    break;

                case "request":
                    connectionFactory.SetStringProperty(XMSC.WMQ_TEMPORARY_MODEL, env.ModelQueueName);
                    new SimpleRequest(connectionFactory, env, CancellationTokenSource.Token).SendRequest();
                    break;

                case "response":
                    new SimpleResponse(connectionFactory, env, CancellationTokenSource.Token).ReceiveMessages();
                    break;

                default:
                    Console.WriteLine("Say which program you want to run; put, get, pub, sub, request, response");
                    break;
                }
            }
            catch (XMSException ex)
            {
                Console.WriteLine(ex);
            }
        }