"name" is the ejb-name of the bean, it makes no sense to use it for the queue name.

"mappedName" is not portable:

Application servers are not required to support any particular form or type of mapped name, nor the ability to use mapped names. The mapped name is product-dependent and often installation-dependent. No use of a mapped name is portable.

On the other hand, using a destination @ActivationConfigProperty *is* portable.

It's been 2 years but I recently had the same problem, so I want to share my solution to this problem: Don't use slash character in your destination.

"Physical Destination Name" (which corresponds to "destination" property of the JMS Queue) MAY contain slash ("/") character according to JMS specification (JSR: 343). JBoss supports this character, but in the GlassFish implementation that field has more restrictions (cannot start with number, cannot contain non-alpha-numeric chars etc.). So, in terms of compatibility, it is best to choose your queue (resource) names with the only allowed characters in specification:

Subscription name characters and length

The JMS provider must allow a durable or non-durable subscription name to contain the following characters:

* Java letters

* Java digits

* Underscore ( _ )

* Dot ( . )

* Minus ( - )

JMS providers may support additional characters to these, but applications which use them may not be portable.

The JMS provider must allow a durable or non-durable subscription name to have up to 128 characters.

JMS providers may support names longer than this, but applications which use longer names may not be portable.