You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by me...@cs.man.ac.uk on 2008/08/25 03:02:16 UTC

Qpid Management Questions - Need quick reply

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



Re: Qpid Management Questions - Need quick reply

Posted by Ted Ross <tr...@redhat.com>.
Arnaud Simon wrote:
> On Mon, 2008-08-25 at 02:02 +0100, mehtar@cs.man.ac.uk wrote:
>   
>> 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?
>>     
>
> I believe our cluster solution is not fully implemented yet so it's most
> certainly the case that the management tool does not support cluster
> operations yes. Ted should confirm that. 
>   
This is correct.  The cluster support in the schema is a placeholder for 
a future clustering feature.
>   
>> 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"
>>     
>
> This is most certainly because you are not using external Management
> Agents.
>   
Also correct.  If there are no instances of a class, you will receive no 
content messages.
> Arnaud 
>
>   


Re: Qpid Management Questions - Need quick reply

Posted by Arnaud Simon <as...@redhat.com>.
On Mon, 2008-08-25 at 02:02 +0100, mehtar@cs.man.ac.uk wrote:
> 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?

I believe our cluster solution is not fully implemented yet so it's most
certainly the case that the management tool does not support cluster
operations yes. Ted should confirm that. 

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

This is most certainly because you are not using external Management
Agents.

Arnaud