qpid-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Andrea Gazzarini (JIRA)" <qpid-...@incubator.apache.org>
Subject [jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge
Date Thu, 18 Sep 2008 06:23:44 GMT

    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12632108#action_12632108
] 

Andrea Gazzarini commented on QPID-1284:
----------------------------------------

Hi Ted, thanks for help. 
I read the document of QMF but it is linking to the same http://cwiki.apache.org/confluence/display/qpid/Management+Design+notes
where the changes you told me (object id for example) are not described.
Anyway,I printed out the array content of a 'c' content indication message. Note that the
first 4 bytes (AM1c)  have been deleted:

        byte data [] = {
                0, 0, 0, 0, 22, 111, 114, 103, 46, 97, 112, 97, 99, 104, 101, 46, 113, 112,
105, 100, 46, 98, 114, 111, 107, 
                101, 114, 8, 101, 120, 99, 104, 97, 110, 103, 101, 109, 44, 75, 73, 108, 40,
88, 92, 26, -98, 93, 24, 122, 7, 
                -55, -44, 16, -12, 36, 99, -112, -27, 114, -7, 16, -12, 35, 64, -119, 40,
126, -24, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
                0, 16, 0, 0, 0, 32, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 16, 0, 0, 0, 16, 0, 0,
0, 0, 0, 0, 3, 9, 97, 109, 113, 46, 109, 97, 
                116, 99, 104, 7, 104, 101, 97, 100, 101, 114, 115, 1};

        ByteBuffer buffer = ByteBuffer.wrap(data);
        BBDecoder decoder = new BBDecoder();
        decoder.init(buffer);

        assertEquals(0,decoder.readSequenceNo()); 
        
        assertEquals("org.apache.qpid.broker",decoder.readStr8());
        assertEquals("exchange",decoder.readStr8());

        // CLASS-HASH
        decoder.readUint64();
        decoder.readUint64();
        
        // TIMESTAMPS
        assertEquals(1221641408975565561,decoder.readDatetime());
        assertEquals(1221640159010258664,decoder.readDatetime());
        assertEquals(0,decoder.readDatetime());
        
        // OBJECT ID : you told me that now is 128 bit wide.
        decoder.readUint64();
        decoder.readUint64();
        
        // !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
        // >>>> What is it? I need to read further 64 bits in order to get the
correct data.
*    decoder.readUint64();
        
        assertEquals(1152921504606846979,decoder.readUint64());
        assertEquals("amq.match",decoder.readStr8());
        assertEquals("headers",decoder.readStr8());
        assertTrue(decoder.readUint8() == 1);

If I delete the * line I'm getting 

Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException
	at org.apache.qpid.transport.Binary.<init>(Binary.java:41)
	at org.apache.qpid.transport.codec.BBDecoder.get(BBDecoder.java:61)
	at org.apache.qpid.transport.codec.AbstractDecoder.readStr8(AbstractDecoder.java:144)
	at org.apache.qpid.management.A.main(A.java:68)

while reading the "type" property.

Let me know when you want, there's no rush, and again thanks for support.

Regards,

--Gazza-- 

I don't know if  the format of the code will be retained after 

 

> QMan : Qpid JMX Management Bridge
> ---------------------------------
>
>                 Key: QPID-1284
>                 URL: https://issues.apache.org/jira/browse/QPID-1284
>             Project: Qpid
>          Issue Type: New Feature
>    Affects Versions: M3
>         Environment: J2SE 5, any OS that is supporting Java
>            Reporter: Andrea Gazzarini
>         Attachments: DomainModel.jpg, QMan.jar
>
>
> QMan is an application used for exposing via JMX the management domain model of one or
more remote brokers.
> Capabilities (the list is not complete) : 
> - Operates from a formally defined management schema;
> - Uses the AMQP protocol and its type system for communicating with remote brokers;
> - Exposes via JMX the remote broker domain model: that means for each connected broker
QMan lets you see its domain model entities according to their schema (attribute, methods,
statistics and events). In addition, lets you invoke operations on those entities.  
> - Multi broker management; 
> - It doesn't have prior knowledge of the management model of the system under management.
no definition is hard-coded and entity definitions (schema) are requested and built "on demand";
> - Namespace separation between brokers : each connected broker can have a different schema.

> - JMX interface : QMan is itself a Management Bean and using JMX it exposes its public
interface (for example, to connect with a new broker). So at the end it should be exposed
via WS-DM, SMTP, RMI, etc...
>       

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message