In linux the exception message is quite different:
Queue name: /var/spool/test
javax.naming.NameNotFoundException: var not bound
Any idea what the cause of this exception?
I don't think (I may be wrong) that JBM supports subcontext creation during destination deployment (useful feature though).
That is, in your case, for creating /var/spool/test, it first has to create a context called var followed by another subContext call spool and then another subContext called test which, to my knowledge, JBM doens't do.
Thanks for your comment.
It seems that JBM trying to do subcontext deployment.
In Windows, somehow, var context is available, so it continues to check spool sub-context, which is not available, then the exception is generated.
I suspect the culprit is not the deployer though, since I can deploy queue with that kind of name using JMX-Console.
The problem may lies somewhere inside the translation of destination's XML file.
In windows, I got another funny behavior.
Somehow, I can deploy queue using this name: /var/usr/test
I change the name into: /var/user/test, and it is failed (get this exception: javax.naming.NameNotFoundException: user not bound)
When I changed the name back to /var/usr/test, it is failed as the queue is still active??
This seems like bug, but I am not sure.
The queue/topic name should not contain a slash.
If you want to deploy the queue/topic at a specific place in the JNDI tree (e.g. /a/b/) then use the JNDIName attribute for this.
Is it possible to set the JNDI name differently than the queue name in configuration? Or should I do it only via JMX?