[jmscts-cvs] jmscts/src/java/org/exolab/jmscts/test/session MessageListenerTest.java,1.7,1.8
Status: Alpha
Brought to you by:
tanderson
From: Tim A. <tan...@us...> - 2005-06-16 07:50:14
|
Update of /cvsroot/jmscts/jmscts/src/java/org/exolab/jmscts/test/session In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv18206/src/java/org/exolab/jmscts/test/session Modified Files: MessageListenerTest.java Log Message: changed to use helpers Index: MessageListenerTest.java =================================================================== RCS file: /cvsroot/jmscts/jmscts/src/java/org/exolab/jmscts/test/session/MessageListenerTest.java,v retrieving revision 1.7 retrieving revision 1.8 diff -C2 -d -r1.7 -r1.8 *** MessageListenerTest.java 3 Feb 2004 21:52:11 -0000 1.7 --- MessageListenerTest.java 16 Jun 2005 07:50:05 -0000 1.8 *************** *** 127,155 **** final long sleep = 100; ! MessageConsumer[] consumers = new MessageConsumer[DESTINATIONS.length]; TestListener listener = new TestListener(expected, sleep); ! TestContext context = getContext(); ! MessagingBehaviour behaviour = context.getMessagingBehaviour(); ! for (int i = 0; i < DESTINATIONS.length; ++i) { ! Destination destination = getDestination(DESTINATIONS[i]); ! String name = null; ! if (behaviour.getDurable()) { ! name = SessionHelper.getSubscriberName(); ! } ! MessageConsumer consumer = SessionHelper.createConsumer( ! context, destination, name); ! consumer.setMessageListener(listener); ! consumers[i] = consumer; } Message message = context.getMessage(); ! for (int i = 0; i < DESTINATIONS.length; ++i) { ! Destination destination = getDestination(DESTINATIONS[i]); ! MessageSender sender = SessionHelper.createSender( ! context, destination); ! sender.send(message, send); ! sender.close(); } Session session = context.getSession(); if (session.getTransacted()) { --- 127,145 ---- final long sleep = 100; ! TestContext context = getContext(); TestListener listener = new TestListener(expected, sleep); + MessageConsumer[] consumers = createConsumers(); ! for (int i = 0; i < consumers.length; ++i) { ! consumers[i].setMessageListener(listener); } Message message = context.getMessage(); ! MessageSender[] senders = createSenders(); ! for (int i = 0; i < senders.length; ++i) { ! senders[i].send(message, send); } + close(senders); + Session session = context.getSession(); if (session.getTransacted()) { *************** *** 157,160 **** --- 147,151 ---- } + // wait for the messages to be received synchronized (listener) { if (listener.getReceived() != expected) { *************** *** 162,168 **** } } ! for (int i = 0; i < consumers.length; ++i) { ! consumers[i].close(); } if (listener.getFailures() != 0) { fail("The listener was not invoked serially"); --- 153,165 ---- } } ! close(consumers); ! ! // acknowledge the messages, so that the destinations can be destroyed ! // cleanly on test completion ! Message last = listener.getMessage(); ! if (last != null) { ! last.acknowledge(); } + if (listener.getFailures() != 0) { fail("The listener was not invoked serially"); *************** *** 204,207 **** --- 201,209 ---- private int _received = 0; + /** + * The last received message + */ + private Message _message; + /** *************** *** 223,226 **** --- 225,229 ---- public void onMessage(Message message) { synchronized (this) { + _message = message; if (_invoked) { _failures++; *************** *** 233,237 **** } try { ! Thread.currentThread().sleep(_sleep); } catch (InterruptedException ignore) { log.debug("TestListener interrupted while sleeping " --- 236,240 ---- } try { ! Thread.sleep(_sleep); } catch (InterruptedException ignore) { log.debug("TestListener interrupted while sleeping " *************** *** 244,248 **** /** ! * Returns the no. of times {@link #onMessage()} was invoked by * more than one thread * --- 247,251 ---- /** ! * Returns the no. of times {@link #onMessage} was invoked by * more than one thread * *************** *** 261,264 **** --- 264,276 ---- return _received; } + + /** + * Returns the last messsage received + * + * @return the last message received + */ + public Message getMessage() { + return _message; + } } |