[ 
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.

Reply via email to