Menu

#1085 JbossMQ gets confused of destinations with a slash in name

v3.0 Rabbit Hole
closed-rejected
JBossMQ (152)
5
2014-09-23
2003-01-22
No

> JBoss 3.2.0RC1, 3.0.4 and 3.0.5
>
> All my queues are persistent with the file based
PersistenceManager.
>
> When I queue messages I see them in
> server/default/db/jbossmq/file//QUEUENAME. It runs
fine when I run a
> scheduled task to pick these up. Life is good and
JBoss rocks :-)
>
> Now the problem; I stop JBoss while messages are
still queued. I see
> the files on disk. JBoss is started again, and it doesn't
see these
> messages. Nothing happens. I can submit new
messages to the queue and
> those are correctly processed, but the old messages
are still there,
> nothing happens.
>
> I use the PERSISTENT flag everywhere.
>
> Does anyone have a clue what could be the cause of
this? Configuration
> error or bug in JBossMQ? I've looked everywhere and
I'm not sure what
> to do next ...

Ah! I solved this one. I had this in jbossmq-
destinations.xml:

<mbean code="org.jboss.mq.server.jmx.Queue"

name="jboss.mq.destination:service=Queue,name=mcc
p/
FailedIncomingMessages">
<depends optional-attribute
name="DestinationManager">
jboss.mq:service=DestinationManager
</depends>
</mbean>

The problem is the slash in the destination name,
"mccp/FailedIncomingMessages". In both the
rollinglogged and file
persistence managers this is not handled correctly .. the
slash is not
escaped and interpreted as a path separator.

Before I file this as a bug report, does anyone know
if 'blah/bleh' is
a valid destination name? I would say yes, but I'm not
sure in which
specification to look for a confirmation.

S.

Discussion

  • Michael Barker

    Michael Barker - 2003-06-29

    Logged In: YES
    user_id=659570

    Created a partial fix for this bug (patch #751562). Only
    fixed rolling logged pm so far. Can submit a fix for the
    rest if interested.

     
  • Adrian Brock

    Adrian Brock - 2003-09-15

    Logged In: YES
    user_id=9459

    If you are trying to bind the destination in a different context
    you should use the JNDIName attribute.

    I could introduce some validation to force a queue name to
    follow
    the java identifier rules but this could break existing
    deployments.

    Regards,
    Adrian

     
  • Adrian Brock

    Adrian Brock - 2003-09-15
    • assigned_to: nobody --> ejort
    • status: open --> closed-rejected
     

Log in to post a comment.

MongoDB Logo MongoDB