users@jms-spec.java.net

[jms-spec users] Relaxing the requirement to throw an exception if a message is sent to a deleted temp destination

From: Hiram Chirino <hiram_at_hiramchirino.com>
Date: Wed, 4 Jan 2012 12:19:57 -0500

Hi Everyone,

As an implementor of the JMS 1.1 spec one of the things that bother me
about that version of the spec is the need to throw an exception when
a client attempts to send a message to a temporary destination which
has been deleted.

You either have do an RPC against the server for each send to verify
the temp destination is still around (which is slow since your working
with non-persistent messages anyways) or the client has to monitor all
temp destinations on the server which increases complexity of the
client and the amount of memory it uses.

It also provides very little value to the end user application since
NOT getting an exception does not guarantee the message will get
processed. You could have a scenario where the producer sends a
message to a temp destination and then the temp destination gets
deleted which means the sent message gets dropped.

Hopefully the next version of the spec will be changed so that sending
to a deleted temp destination does not throw a JMSException but
instead the message gets dropped by the server.

Regards,
Hiram

FuseSource
Web: http://fusesource.com/