Hi,

I am doing some JMS testing on JBoss and I just discovered that the
empty String specified as a message selector is invalid in the JBoss JMS
implementation.

Example:

      TopicSubscriber subscriber =
session.createDurableSubscriber(topic, "mySubscription", "", false);

>From the Sun JavaDocs of Interface TopicSession:

public TopicSubscriber createDurableSubscriber(Topic topic,
                                               java.lang.String name,
                                               java.lang.String
messageSelector,
                                               boolean noLocal)
                                        throws JMSException
Parameters:
messageSelector - only messages with properties matching the message
selector expression are delivered. A value of null or an empty string
indicates that there is no message selector for the message consumer.


So I think it is valid to provide null or the empty String as a message
selector. Therefore I guess this must be a bug in the JMS
implementation. I am running JBoss 3.0.4.

This is the exception I am getting:

------------------------------------------------------------------------
---------
javax.jms.InvalidSelectorException: The selector is invalid.
        at org.jboss.mq.selectors.Selector.<init>(Selector.java:76)
        at org.jboss.mq.Subscription.getSelector(Subscription.java:58)
        at
org.jboss.mq.SpyTopicSubscriber.<init>(SpyTopicSubscriber.java:50)
        at
org.jboss.mq.SpyTopicSession.createDurableSubscriber(SpyTopicSession.
java:128)
        at
com.sknt.picasso.monitor.JMSTopicMonitor.startDurableSubscriber(JMSTo
picMonitor.java:231)
        at java.lang.reflect.Method.invoke(Native Method)
        at
org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke(ReflectedMBea
nDispatcher.java:284)
        at
org.jboss.mx.server.MBeanServerImpl.invoke(MBeanServerImpl.java:517)
        at
org.jboss.jmx.adaptor.control.Server.invokeOpByName(Server.java:227)
        at
org.jboss.jmx.adaptor.control.Server.invokeOp(Server.java:196)
        at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.invokeOp(HtmlAdaptorSer
vlet.java:183)
        at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdap
torServlet.java:78)
        at
org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doPost(HtmlAdaptorServl
et.java:60)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:366
)
        at
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicati
onHandler.java:293)
        at
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:5
81)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1687)
        at
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplication
Context.java:544)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1637)
        at org.mortbay.http.HttpServer.service(HttpServer.java:875)
        at org.jboss.jetty.Jetty.service(Jetty.java:543)
        at
org.mortbay.http.HttpConnection.service(HttpConnection.java:806)
        at
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:956)
        at
org.mortbay.http.HttpConnection.handle(HttpConnection.java:823)
        at
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:
203)
        at
org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:290)
        at
org.mortbay.util.ThreadPool$JobRunner.run(ThreadPool.java:743)
        at java.lang.Thread.run(Thread.java:484)
getTargetException():
javax.jms.InvalidSelectorException: The selector is invalid.
        at org.jboss.mq.selectors.Selector.<init>(Selector.java:76)
        at org.jboss.mq.Subscription.getSelector(Subscription.java:58)
        at
org.jboss.mq.SpyTopicSubscriber.<init>(SpyTopicSubscriber.java:50)
        at
org.jboss.mq.SpyTopicSession.createDurableSubscriber(SpyTopicSession.
java:128)
------------------------------------------------------------------------
--------

Regards,

Sebastian


-------------------------------------------------------
This sf.net email is sponsored by: To learn the basics of securing
your web site with SSL, click here to get a FREE TRIAL of a Thawte
Server Certificate: http://www.gothawte.com/rd524.html
_______________________________________________
JBoss-user mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/jboss-user

Reply via email to