2 Replies Latest reply on Jun 12, 2009 2:08 PM by armsargis_sargis

    Fuse/AMQ impl for JMS Message setProperty is not corresponding to JMS spec.

    armsargis_sargis

      Hi, I have following code;

       

      BlobMessage message = session.createBlobMessage(in);

      message.setStringProperty("document.id", "some value");

       

      here does not matter  its BlobMessage or other Message type, the problem in:

       

      message.setStringProperty("document.id", "some value");

       

      If I try to use message.setStringProperty("document.id", "some value") with JBoss Messaging it throws exception that document.id is not valid Java identifier, which correct as I understand because in JMS specification we have:

       

      3.5.1 Property Names

      Property names must obey the rules for a message selector identifier. See Section 3.8.1.1, "Message Selector Syntax," for more information.

       

      • Identifiers:

      - An identifier is an unlimited-length character sequence that must begin with a Java identifier start character; all following characters must be Java identifier part characters. An identifier start character is any character for which the method character.isJavaIdentifierStart returns true. This includes ‘_' and ‘$'. An identifier part character is any character for which the method Character.isJavaIdentifierPart returns true.

       

      But Fuse/AMQ accept such messages, seems there is lack between JMS specification and Fuse/AMQ implementation related to setXXXProperty.

       

      Thanks in advance

       

      Edited by: armsargis on Jun 12, 2009 7:49 AM