Hello Arnaud/Ted/Qpid Gurus,

So far, I have exposed all the attributes and methods of all the classes of Qpid as MBeans on JMX console. And whatever methods we invoke of these classes, changes reflect in the Qpid C++ Broker.

I have a few questions and I am expecting their answers very quickly as GSoC is about to finish.

1. What is the "cluster" ? what should be the "clusterName" (parameter) in the invocation of "joinCluster" method of "broker" class. What value of this argument should I pass?

2. I never receive the Configuration and Instrumentation Content Messages for "agent" class. Infact, I cannot see the agent class by using the python tool "qpid-tool"


Its like this when I use the "list" command

----------

qpid: list Management Object Types:
   ObjectType       Active  Deleted
   ==================================
   qpid.binding     10      2
   qpid.bridge      0       1
   qpid.broker      1       0
   qpid.connection  3       40
   qpid.exchange    6       0
   qpid.link        2       0
   qpid.queue       5       1
   qpid.session     1       42
   qpid.system      1       0
   qpid.vhost       1       0
qpid: Remark: I was not able to see the link and bridge classes in the begining, but when I invoked the "connect" method of the "connection" class then I got the "link" class. Furthermore, when i invoked the "bridge" method of the "link" class then I got the "bridge" class.

So am I missing something which i need to perform so that i can see the "link" class in the above list and then broker will start automatically sending the messages for "agent" class and then I will be able to expose it on JMX as well.

3. I have got very strange values for "tag" attribute of "Bridge" class.

I have got the following Configuration values in my property file (these values are send by Broker):

-----

#Mon Aug 25 03:44:03 CEST 2008 dest= #Mon Aug 25 03:44:03 CEST 2008 linkRef=281475060596766 #Mon Aug 25 03:44:03 CEST 2008 srcIsQueue=0 #Mon Aug 25 03:44:03 CEST 2008 channelId=1 #Mon Aug 25 03:44:03 CEST 2008 excludes= #Mon Aug 25 03:44:03 CEST 2008 tag=anagement\ttestQueue\ttestQueue\u0005hello\u0005world\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0001\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000\u0000 #Mon Aug 25 03:44:03 CEST 2008 src= #Mon Aug 25 03:44:03 CEST 2008 durable=0 #Mon Aug 25 03:44:03 CEST 2008 key=\n

------

On the qpid-tool, I am getting the format like this:

-----
qpid: show 191
Object of type qpid.bridge: (last sample time: 01:42:13)
   Type      Element     191
=====================================================================================================================================
   property  linkRef     139
   property  channelId   1
   property  durable     False
property src property dest property key
   property  srcIsQueue  False
   property  srcIsLocal  False
   property  tag         anagement      testQueue       testQueuehelloworld
property excludes qpid: list

----------


I am very much suspicious about the values of "tag" element. I am decoding these incoming values by using the following piece of code:

----

// for bridge
        public void getBridgeConfigurationAttributes()
        {

                long linkRef = decoder.readUint64();
                bridgeConfMap.put("linkRef",linkRef);

                int channelId =decoder.readUint16();
                bridgeConfMap.put("channelId",channelId);
                
                int durable=decoder.readUint8();
                bridgeConfMap.put("durable",durable);
                                
                String src=decoder.readStr8();
                bridgeConfMap.put("src",src);
                
                String dest=decoder.readStr8();
                bridgeConfMap.put("dest",dest);
                
                String key=decoder.readStr8();
                bridgeConfMap.put("key",key);
                
                int srcIsQueue=decoder.readUint8();
                bridgeConfMap.put("srcIsQueue",srcIsQueue);
                
                int srcIsLocal=decoder.readUint8();
                bridgeConfMap.put("srcIsLocal",srcIsLocal);
                
                String tag=decoder.readStr8();
                bridgeConfMap.put("tag",tag);
                
                String excludes=decoder.readStr8();
                bridgeConfMap.put("excludes",excludes);
                
                printMap(bridgeConfMap,"bridge");

        }
        
---------------

Note: I passed the following values in the "bridge" method of the "link" class before getting these above mentioned values for the "bridge" class.

arg names            values
----------------------------------
durable               0
src                management
dest               testQueue
key                testQueue
tag                hello
excludes           world
srcIsQueue           0
srcIsLocal           0


where src and dest are the "management" and "testQueue" queues respectively. I am not sure about the "tag" and "excludes" elements.


Thanks in advance for looking into these details and giving me some solutions.

Arnaud, I will upload the most-up-to-date code very soon as I have some hard-code in the programs (objectID of the "qpid classes") as I am receiving the "Configuration and Instrumentation Content Messages" for the classes and invoking the methods of the "classes" based on the objectIDs.

Do you also know if there is some method that gives the active objectIDs of the class?

BR,
Rahul


Reply via email to