public void PurgeQueue(string context) { var factory = new QueueConnectionFactory(); factory.setConnectionURLs(TransportConstants.BROKER); QueueConnection connection = factory.createQueueConnection(TransportConstants.USERNAME, TransportConstants.PASSWORD); connection.start(); Session receiveSession = connection.createSession(false, SessionMode.AUTO_ACKNOWLEDGE); PurgeQueue(context, receiveSession, TransportConstants.QUEUE1); PurgeQueue(context, receiveSession, TransportConstants.QUEUE2); connection.close(); }
public Transport(TransportInfo transportInfo, Action onFailure, MessageFormat messageFormat) { if (onFailure == null) { throw new ArgumentNullException("onFailure"); } m_OnFailure = onFailure; m_MessageFormat = messageFormat; m_JailedTag = (transportInfo.JailStrategy ?? JailStrategy.None).CreateTag(); var factory = new QueueConnectionFactory(); (factory as ConnectionFactory).setConnectionURLs(transportInfo.Broker); m_Connection = factory.createQueueConnection(transportInfo.Login, transportInfo.Password); ((Connection)m_Connection).setConnectionStateChangeListener(new GenericConnectionStateChangeListener(connectionStateHandler)); ((Connection)m_Connection).setPingInterval(30); m_Connection.start(); }
public void InvestigationTest() { var factory = new QueueConnectionFactory(); (factory as ConnectionFactory).setConnectionURLs(TransportConstants.BROKER); var connection = factory.createQueueConnection(TransportConstants.USERNAME, TransportConstants.PASSWORD); ((Connection)connection).setPingInterval(30); connection.start(); var session = (QueueSession)connection.createQueueSession(false, 1004); var queue = session.createQueue("finam.ibank.dev.tests"); var consumer = session.createConsumer(queue); int i = 0; consumer.setMessageListener(new GenericMessageListener(message => { Console.WriteLine(DateTime.Now); message.acknowledge(); })); Thread.Sleep(2000); consumer.close(); var producer = session.createProducer(queue); BytesMessage bytesMessage; for (int j = 0; j < 5; j++) { bytesMessage = session.createBytesMessage(); bytesMessage.writeBytes(new byte[] { 100 }); producer.send(bytesMessage); } consumer = session.createConsumer(queue); var p = session.createProducer(session.createTemporaryQueue()); bytesMessage = session.createBytesMessage(); bytesMessage.writeBytes(new byte[] { 100 }); p.send(bytesMessage); consumer.setMessageListener(new GenericMessageListener(message => { Console.WriteLine("" + DateTime.Now + (++i) + " " + (i % 2 == 0)); //message.acknowledge();return; if (i % 2 == 0) { message.acknowledge(); } else { throw new Exception(); } //session.recover(); })); Thread.Sleep(1000); Console.WriteLine("waiting"); Thread.Sleep(60 * 60 * 1000); consumer.close(); session.close(); connection.close(); }