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