<HTML><HEAD><TITLE>Mail</TITLE>
<META name=GENERATOR
content="KsDHTMLEDLib.ocx, FreeWare HTML Editor 1.164.2, ?Kurt Senfer">
<META content="text/html; charset=GB2312" http-equiv=Content-Type></HEAD>
<BODY style="FONT-SIZE: 9pt; FONT-FAMILY: ËÎÌå" leftMargin=5 topMargin=5 #ffffff>
<DIV>Hi Tom</DIV>
<DIV> </DIV>
<DIV>I run the test in my computer, and I got all the messages form 0 to
9.</DIV>
<DIV>but i comment the statement </DIV>
<DIV> </DIV>
<DIV>if (!StringUtils.isEmpty(message)) </DIV>
<DIV> </DIV>
<DIV>Is the static method "isEmpty" wrong?</DIV>
<DIV> </DIV>
<DIV> </DIV>
<DIV>----- Original Message ----- </DIV>
<BLOCKQUOTE
style="PADDING-LEFT: 5px; MARGIN-LEFT: 5px; BORDER-LEFT: #000000 2px solid; PADDING-RIGHT: 0px; MARGIN-RIGHT: 0px">
<DIV
style="FONT-SIZE: 9pt; FONT-VARIANT: normal; BACKGROUND: #e4e4e4; FONT-WEIGHT: normal; FONT-STYLE: normal; LINE-HEIGHT: normal; font-color: black"><B>From:
</B><A href="mailto:tom.reineke@googlemail.com">Tom Reineke</A> </DIV>
<DIV
style="FONT-SIZE: 9pt; FONT-VARIANT: normal; FONT-WEIGHT: normal; FONT-STYLE: normal; LINE-HEIGHT: normal"><B>To:
</B><A href="mailto:rabbitmq-discuss@googlegroups.com">rabbitmq-discuss</A>
</DIV>
<DIV
style="FONT-SIZE: 9pt; FONT-VARIANT: normal; FONT-WEIGHT: normal; FONT-STYLE: normal; LINE-HEIGHT: normal"><B>Sent:
</B>2013-12-04, 23:26:47</DIV>
<DIV
style="FONT-SIZE: 9pt; FONT-VARIANT: normal; FONT-WEIGHT: normal; FONT-STYLE: normal; LINE-HEIGHT: normal"><B>Subject:
</B>[rabbitmq-discuss] Basic question on message delivery problem</DIV>
<DIV><BR></DIV>
<DIV></DIV>
<DIV></DIV>
<DIV>
<DIV dir=ltr>Hi,
<DIV><BR></DIV>
<DIV>I seem to have a very basic problem when setting up RabbitMQ and would be
grateful for any help. Ich have the following class:</DIV>
<DIV><BR></DIV>
<DIV>
<DIV>public class RabbitTest {</DIV>
<DIV><BR></DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>private final
static ConnectionFactory factory = new ConnectionFactory();</DIV>
<DIV> private final static String MAIL_QUEUE_NAME =
"mailQueue";</DIV>
<DIV> private static Connection connection;</DIV>
<DIV> private static Channel channel;</DIV>
<DIV> private static QueueingConsumer
consumer;</DIV>
<DIV><BR></DIV>
<DIV><SPAN class=Apple-tab-span style="WHITE-SPACE: pre"></SPAN>public static
void main(final String[] args) throws IOException, KeyManagementException,
NoSuchAlgorithmException, URISyntaxException, InterruptedException
{</DIV>
<DIV> factory = new ConnectionFactory();</DIV>
<DIV><SPAN class=Apple-tab-span
style="WHITE-SPACE: pre"></SPAN>factory.setHost("localhost");</DIV>
<DIV> connection = factory.newConnection();</DIV>
<DIV> channel = connection.createChannel();</DIV>
<DIV> channel.queueDeclare(MAIL_QUEUE_NAME, true,
false, false, null);</DIV>
<DIV> consumer = new
QueueingConsumer(channel);</DIV>
<DIV> channel.basicConsume(MAIL_QUEUE_NAME, false,
consumer);</DIV>
<DIV> new Thread() {</DIV>
<DIV> @Override</DIV>
<DIV> public void run() {</DIV>
<DIV> while (true)
{</DIV>
<DIV> try
{</DIV>
<DIV>
// The processor stops here until something</DIV>
<DIV>
// is in the queue. It does not continue with the next</DIV>
<DIV>
final QueueingConsumer.Delivery delivery = consumer</DIV>
<DIV>
.nextDelivery();</DIV>
<DIV>
final String message = new String(delivery.getBody());</DIV>
<DIV>
if (!StringUtils.isEmpty(message)) {</DIV>
<DIV>
System.out.println("########## message
#############");</DIV>
<DIV>
System.out.println(message);</DIV>
<DIV>
}</DIV>
<DIV> }
catch (final Exception e) {</DIV>
<DIV><BR></DIV>
<DIV>
}</DIV>
<DIV> }</DIV>
<DIV> }</DIV>
<DIV> }.start();</DIV>
<DIV><BR></DIV>
<DIV> for (int i = 0; i < 10; i++) {</DIV>
<DIV> createMailTask("message " +
i);</DIV>
<DIV> }</DIV>
<DIV><BR></DIV>
<DIV> Thread.sleep(10000);</DIV>
<DIV> channel.close();</DIV>
<DIV> connection.close();</DIV>
<DIV> }</DIV>
<DIV><BR></DIV>
<DIV> public static void createMailTask(final String
amqpMessage)</DIV>
<DIV> throws IOException {</DIV>
<DIV> final Channel ch =
connection.createChannel();</DIV>
<DIV> ch.queueDeclare(MAIL_QUEUE_NAME, true, false,
false, null);</DIV>
<DIV> ch.basicPublish("", MAIL_QUEUE_NAME,</DIV>
<DIV>
MessageProperties.PERSISTENT_TEXT_PLAIN, amqpMessage.getBytes());</DIV>
<DIV> ch.close();</DIV>
<DIV> }</DIV>
<DIV>}</DIV>
<DIV><BR></DIV>
<DIV>I would have assumed that I get a log output for each of the 10 messages;
instead I only get:</DIV>
<DIV><BR></DIV>
<DIV>[Thread-0] INFO de.apt.utils.APTMailUtil - ########## message
#############</DIV>
<DIV>[Thread-0] INFO de.apt.utils.APTMailUtil - message 2</DIV>
<DIV>[Thread-0] INFO de.apt.utils.APTMailUtil - ########## message
#############</DIV>
<DIV>[Thread-0] INFO de.apt.utils.APTMailUtil - message 5</DIV>
<DIV>[Thread-0] INFO de.apt.utils.APTMailUtil - ########## message
#############</DIV>
<DIV>[Thread-0] INFO de.apt.utils.APTMailUtil - message 8</DIV></DIV>
<DIV><BR></DIV>
<DIV>Can you tell me where the problem is in my
code?</DIV></DIV></DIV></BLOCKQUOTE></BODY></HTML>