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

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

    Sargis Harutyunyan Newbie

      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, "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