You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@qpid.apache.org by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org> on 2008/09/17 15:43:45 UTC

[jira] Created: (QPID-1284) QMan : Qpid JMX Management Bridge

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


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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: commons-pool-1.4.jar
                qman_patch

Hi all! 
here's the second version of QMan. I attached to this post two files: 

- qman_patch : the patch (svn -diff) containing all qman files.
- commons-pool-1.4.jar : a dependency used for qman connection pool.


*** FEATURES INCLUDED ***

- Content indication response message ('i') handler;
- Content indication response message ('c') handler;
- Schema response ('s') handler;
- Optional properties management;
- Properties validation against using constraints defined in the schema (max, min, maxlen);
- Schema-hash / class-hash management. QMan is able to work with classes having different schema inside the same package.
- Method invocation (see open issue below for this point) with arguments validation using constraints define in the schema;
- Graceful shutdown (At shutdown all management clients are shutdown and corresponding resources are released)
- Connection Pool : for each connected broker you can define (using configuration) a dedicated connecton pool. Properties of connection pool are : max capacity, initial capacity, max wait timeout. If you want for example to open all connections at startup set the initial capacity = max capacity. 
- Each class is responsible to request and build its own schema. So, for example, if a runtime, the remote broker adds a new class and sends instrumentation or configuration data, a corresponding (empty) class definition will be created on QMan; immediately after that, the just created class will request its schema.

*** OPEN POINTS ***

1) Logging should be better : I mean, all messages should be prefixed with an id like <QMAN-xxxxxx>. At the moment not all messages are in this format.
2) Code used for sending messages should be better (see QpidClass.schemaRequest() and QpidClass.methodRequest());
3) Overloaded methods : At the moment each method is defined using its name as identifier and that thing doesn't work for overloaded methods...
4) Default handlers (opcode handlers) must be hard-coded. Only add-on handler must be configurable. At the moment you can add & remove handler using configuration but in this way it's possible to remove the default handlers from the configuration and therefore QMan won't work at all!
5) Method invocation : there is an echo() method on broker object instance that is throwing an exception while getting the response. It's strange because other method invocations are working (solicitAck(), close(), purge()). I'm working on that...
5) Return values : are not handled at the moment : command messages must be sent synchronously in order to get the response message and pack the return value(s) in a composite structure used a return object; At the moment the corresponding handler for 'm' message is simply log (debug level) the content of the message, including status text and status code.
6) It's not clear how to represent events on QMan (Is it useful?)
7) Offline testcase must be made for all QMan features. There's still a lot of code duplication too  :(
8) Online testcase are missing.
9) Performance test cases (using something like JPerf) are missing.
10) ManagementDecoder & ManagementEncoder : I don't like very much those classes. For my opinionthe additional behaviour should be added on the 
corresponding BBDecoder & BBEncoder.

*** Configuration file (org.apache.qpid.management.config.xml) ****

1) RESPONSE MESSAGE HANDLERS

An handler is responsible to handle a message response with a specific opcode. You can configure handlers under the /configuration/message-handlers. 
First, you can configure an handler for response messages coming from management queue and / or method-reply queue. 
The first category can be defined under the /configuration/message-handlers/method-reply-queue while the second one under /configuration/message-handlers/management-queue. 
An handler is configured defining two parameters 

<opcode>x</opcode> --> the opcode
<class-name>xxx.xxx.xx.xxx</class-name> --> the implementation class 

2) TYPE MAPPINGS
A type mapping declares a mapping between a code (defined in management specification) and a concrete implementor of org.apache.qpid.management.domain.model.type.Type. 
At the moment concrete implementors are:

org.apache.qpid.management.domain.model.type.AbsTime.java
org.apache.qpid.management.domain.model.type.Binary.java
org.apache.qpid.management.domain.model.type.Boolean.java
org.apache.qpid.management.domain.model.type.DeltaTime.java
org.apache.qpid.management.domain.model.type.Map.java
org.apache.qpid.management.domain.model.type.ObjectReference.java
org.apache.qpid.management.domain.model.type.Str16.java
org.apache.qpid.management.domain.model.type.Str8.java
org.apache.qpid.management.domain.model.type.Type.java
org.apache.qpid.management.domain.model.type.Uint16.java
org.apache.qpid.management.domain.model.type.Uint32.java
org.apache.qpid.management.domain.model.type.Uint64.java
org.apache.qpid.management.domain.model.type.Uint8.java
org.apache.qpid.management.domain.model.type.Uuid.java

Anyway a type is defined under the /configuration/type-mappings/mapping using specifying properties:

<mapping>
	<code>x</code> --> as defined in the management specification
	<class-name>xx.xxx.xxx.xx.x</class-name> --> a concrete implementor of org.apache.qpid.management.domain.model.type.Type (see above)
</mapping>

3) ACCESS MODE MAPPINGS
A mapping between a code and a Access mode as defined on management specification.
It is configured under /configuration/access-mode-mappings/mapping using these properties :

<mapping>
	<code>x</code> --> as defined in the management specification
	<value>x</class-name> --> RC,RW,RO
<mapping>

4) BROKERS
QMan is able to connect with one or more brokers. In order to do that each broker is configured under a dedicated /configuraton/brokers/broker using the following properties :

<broker>            
	<host>192.168.148.131</host>   --> host name
	<port>5672</port> --> port 
	<virtual-host>test</virtual-host> --> virtual host
	<user>pippo</user> --> username
	<password>pluto</password> --> password
	<max-pool-capacity>4</max-pool-capacity> --> connection pool max capacity
	<initial-pool-capacity>4</initial-pool-capacity> --> connetion pool initial capacity
	<max-wait-timeout>-1</max-wait-timeout> --> wait time timeout (-1 stands for forever)
<broker>

*** DEPENDENCIES ***
qpid-common-incubating-M3.jar (already part of qpid) 
qpid-client-incubating-M3.jar (already part of qpid)
slf4j-api-1.4.0.jar (already part of qpid)
slf4j-log4j12-1.4.0.jar (already part of qpid)
mina-filter-ssl-1.0.1.jar (already part of qpid)
mina-core-1.0.1.jar (already part of qpid)
log4j-1.2.12.jar (already part of qpid)
commons-pool-1.4.jar (not part of qpid but attached to this post)


*** PREREQUISITES ****

You should have in your classpath a log4j.xml configuration file with a category defined as this : 

<category name="org.apache.qpid.management">
	<priority value="INFO"/>
</category>

it should be better if output is redirected to a file using a FileAppender.  

Now after set the classpath with the mentioned dependencies run :

> java -Dcom.sun.management.jmxremote org.apache.qpid.management.domain.services.QMan 

If you open the jconsole ($JAVA_HOME/bin/jconsole) you will be able to see (under a Q-MAN domain) all the objects of the connected broker(s) as MBeans.      

Regards,
Andrea

> 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: commons-pool-1.4.jar, DomainModel.jpg, QMan.jar, qman_patch, QpidClass.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635489#action_12635489 ] 

Ted Ross commented on QPID-1284:
--------------------------------

Andrea,

I finally got to the bottom of the problem you're seeing...

It turns out that you are using "str16" for long strings (which is correct according to the Wiki page).  The broker was assuming vbin32 as the type.  I've fixed this and the echo methods now work.

-Ted

> 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: commons-pool-1.4.jar, DomainModel.jpg, QMan.jar, qman_patch, QpidClass.jpg
>
>
> 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.


[jira] Resolved: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arnaud Simon resolved QPID-1284.
--------------------------------

    Resolution: Fixed

provided patches were checked in under java/management/client 

> 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
>            Assignee: Arnaud Simon
>         Attachments: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_14102008_latest.patch, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631798#action_12631798 ] 

Ted Ross commented on QPID-1284:
--------------------------------

Gazza,

Thanks for your work.  This will be a very valuable contribution.

A lot of work has gone into the management for the C++ broker in the last few months and the trunk has advanced well beyond the point where it was in the Fedora release.  We're calling it the Qpid Management Framework (QMF).  It is being used inside and outside of Apache to manage components beyond just the broker.

I would be happy to help you migrate to the trunk version as there have been a few protocol changes that have occurred.  We can use this Jira, or you can email me at tross@apache.org, or find me on #qpid at freenode.

-Ted


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


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arnaud Simon updated QPID-1284:
-------------------------------

    Status: Ready To Review  (was: In Progress)

> 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
>            Assignee: Arnaud Simon
>         Attachments: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_14102008_latest.patch, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633634#action_12633634 ] 

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

Hi Ted, thanks for reply...now It's clear.

In a previous post you told me that "Other protocol updates have occurred in the method and event area but those don't yet affect you (yet). "..well I've implemented method invocation; I mean, QMan is able to see and invoke the broker exposed operations but the 'm' response messages contain an error status code. 
Here are some examples :  


1) Invoking close() operation on a connection object instance. 

Status code : 4
Status text : InvalidParameter

2) Invoking solicitAck() on a session object instance.

Status code : 1
Status text :  UnknownObject

3) Invoking detach() on a session object instance.

Status code : 4
Status text : InvalidParameter

4) purge(int request)  on queue object instance with 0 as parameter value

Status code : 4
Status text : InvalidParameter

Where could I read those protocol updates?

Let me know.

Regards,
Andrea

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


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: configuration_domain_model.jpg

Here it is another class diagram. 
It illustrates the configuration domain model including configuration entity and all that you can configure in QMan. 
Any comment (including additional configurable data) would be appreciated.

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, QMan.jar, qman_patch, qman_predefined_handlers_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633206#action_12633206 ] 

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

Hi all,
I have a problem with optional properties...this is the scenario:

- Package is org.apache.qpid.broker
- class is "broker".

"broker" has 9 properties and the 9th is "dataDir". 
The problem is the following : when the content indication message ('c') arrives there's a value for dataDir property and there's only one presence bitmask octect equals to 1 (00000001) but the dataDir property is in the 9th position so there should be 2 octects like this 00000000 10000000. Am I wrong?

Any help would be appreciated...

Regards,
Andrea 




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


[jira] Assigned: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Arnaud Simon (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Arnaud Simon reassigned QPID-1284:
----------------------------------

    Assignee: Arnaud Simon

> 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
>            Assignee: Arnaud Simon
>         Attachments: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_14102008_latest.patch, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment:     (was: DomainModel.jpg)

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


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Aidan Skinner (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639365#action_12639365 ] 

Aidan Skinner commented on QPID-1284:
-------------------------------------

Now that this has landed in tree, I think it would be good to start splitting further work into different Jiras, like we do for the rest of the code base. This would allow more clarity about what's going on and why.

It might also be worth creating a 'management lib' component for this in jira, what do you think?

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: Invokes an operation.jpg
                use_cases.jpg

Use case diagram updated. 
In addition the "Invokes an operation" use case has been detailed on a dedicated sequence diagram.

A question regarding UML diagrams: 
I've used StartUML, which is open source and free of charge, so I'm adjusting the project containing all QMan diagrams. 
Do you think should be better to submit the StartUML project (which is in a proprietary format) or in XMI format?

I think should be better to maintain the UML project in one single file instead of separated image files... 

Any comments would be appreciated.

Regards,
Andrea 

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: qman_patch_14102008

Hi all, attached to this post you'll find the latest qman patch (qman_patch_14102008).
This need to be submitted in order to align / fix some classes after QMan movement made from qpid/client to qpid/management/client 

Just one thing : when I run svn diff from my worspace the created patch doesn't contains classes that I deleted.
I'm talking about :

- org.apache.qpid.management.Constants
- org.apache.qpid.management.configuration.ManagementQueueMessageListenerParser
- org.apache.qpid.management.configuration.MethodReplyQueueMessageListenerParser

So those classes should be deleted from the repository.

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment:     (was: use_cases.jpg)

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637935#action_12637935 ] 

Ted Ross commented on QPID-1284:
--------------------------------

Andrea,

QMan can be made to prevent closing its own connection and session.  You will need an enhancement to the API to do this however.  I'm told this enhancement is imminent.

With regard to exposing powerful methods to remote actors, the broker provides an ACL capability to selectively allow or deny access to methods for specific users.

-Ted


> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635730#action_12635730 ] 

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

Hi Ted, so please  correct me if I'm wrong : if I re-sync broker code from the trunk and rebuild all the method invocation is working isn't it?  

Let me know 

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_predefined_handlers_patch, qman_test_cases_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12639414#action_12639414 ] 

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

Hi Aidan, that works for me.

Regards,
Andrea 

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Rajika Kumarasiri (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12643460#action_12643460 ] 

Rajika Kumarasiri commented on QPID-1284:
-----------------------------------------

Is the latests patch available on the trunk ?

> 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
>            Assignee: Arnaud Simon
>         Attachments: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_14102008_latest.patch, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: message_processing.jpg

Hi all, message_processing.jpg is illustrating participants (at high level) involved in message processing.
I thouhght this is useful if anyone would like to have an overview of the basic processing flow.

Regards,
Andrea  

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_predefined_handlers_patch, qman_test_cases_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: management_message.jpg

Hi All, the attached screenshot is the class diagram containing the management specific implementation for qpid messages.
At the moment QMan is using two (request) messages : the one used for schema requests and the other for method invocations.
The idea behind is to encapsulate the logic / structure of the management message inside the message directly instead of doing that from a "controller".
In this way we could think something (like jassist for example) that could create those "message" classes dynamically at startup.

The management message layer supertype contains : 

1)  The common behaviour of a management message; (encoding of sequence number, operation code, etc)
2) a template method (specificMessageEncoding) that let subclasses indicates specifc message encoding (package name, hash, parameters, etc...) 

Regards,
Andrea     

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633223#action_12633223 ] 

Ted Ross commented on QPID-1284:
--------------------------------

Andrea,

Bits in the presence mask are only assigned for optional properties.  Since the broker table has only one optional property (dataDir), only one bit is allocated in the bitmask.

-Ted


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


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: QpidClass.jpg
                DomainModel.jpg

First image is an updated version of the QMan domain model.
The second one is a state diagram of the domain model core component : QpidClass
Included in the second diagram there's an explanation of each state.

Andrea 

> 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, QpidClass.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: use_cases.jpg
                actors.jpg

Issue updated with QMan actors & use cases.
According to specification, we have three actors : Management Client, Management Agent & Management Broker
Use case diagrams, at high level, is very simple because we have two detailed use case (initial connection estabilshing, schema loading) and a complex one (broker managing).
Later, I'll try to explode/expand the last one.
 
Regards,
Andrea

> 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: actors.jpg, commons-pool-1.4.jar, DomainModel.jpg, QMan.jar, qman_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: class_definition_building.jpg
                estabilish_initial_connection.jpg

Issue updated with sequence diagrams related to 

- estabilish initial connection use case;
- loading / building class definition use case.

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, DomainModel.jpg, estabilish_initial_connection.jpg, QMan.jar, qman_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631773#action_12631773 ] 

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

*** status of the work ***

I developed a first prototype which is able to interface with a M2.1 C++ broker.(the version installed with yum install qpidd on Fedora) I'm going to preparetyhe code for submit .
Now I built the qpid c++ broker from the trunk and it seems that it's not working because something has changed in the 'c' ContentIndication Message. I'm trying to investigate...  
I'm also preparing some UML diagrams to explain what I've done and what I should do on this component.

- Gazza - 

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


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: qman_predefined_handlers_patch

Hi all,
submitted  patch (qman_predefined_handlers_patch) contains an update related to message handlers.
There are some handlers that need to be hard-coded because they are part of core engine (in the previous version they were completely configurable). 
If those handlers are missing (and if they are configurable you can do that) QMan is not working.
So, at the moment, 'i', 'c' and 's' message handlers are hard-coded.
Improvements will be made in order to let the user to configure additional handlers for the same opcodes ('i' for example). 
So the final situation will be something like this :

- QMan has a predefined set of handlers for each opcode;
- Using configuration, QMan administrator can configure additional handlers for the same opcode. I think that those additional handlers will be used to work with "crosscutting" concerns  specific for opcode (for example a debugging 'i' message handler);

I'm working on that...

Regards,
Andrea

  

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, DomainModel.jpg, estabilish_initial_connection.jpg, QMan.jar, qman_patch, qman_predefined_handlers_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12635365#action_12635365 ] 

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

Hi Ted, 
I have got some strange behaviours after invoking the echo(int,String) method of the broker class. Can you help me?
This is the stacktrace :

java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:110)
2008-09-26 14:47:19,843 ERROR [org.apache.qpid.management.configuration.QpidDatasource] <QMAN-100012> : Error on closing connection. Reason is : , error code is 501
2008-09-26 14:47:19,858 ERROR [org.apache.qpid.transport.network.io.IoSender] error in write thread
java.net.SocketException: Connection reset by peer: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(Unknown Source)
	at java.net.SocketOutputStream.write(Unknown Source)
	at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:271)
2008-09-26 14:47:19,858 ERROR [org.apache.qpid.management.configuration.QpidDatasource] <QMAN-100012> : Error on closing connection. Reason is : connection was closed, error code is 3
java.net.SocketException: Connection reset
	at java.net.SocketInputStream.read(Unknown Source)
	at org.apache.qpid.transport.network.io.IoReceiver.run(IoReceiver.java:110)
java.net.SocketException: Software caused connection abort: socket write error
	at java.net.SocketOutputStream.socketWrite0(Native Method)
	at java.net.SocketOutputStream.socketWrite(Unknown Source)
	at java.net.SocketOutputStream.write(Unknown Source)
	at org.apache.qpid.transport.network.io.IoSender.run(IoSender.java:271)
2008-09-26 14:00:34,054 ERROR [org.apache.qpid.management.configuration.QpidDatasource] <QMAN-100012> : Error on closing connection. Reason is : , error code is 501
2008-09-26 14:00:34,054 ERROR [org.apache.qpid.management.configuration.QpidDatasource] <QMAN-100012> : Error on closing connection. Reason is : connection was closed, error code is 3
java.net.SocketException: Software caused connection abort: recv failed
	at java.net.SocketInputStream.socketRead0(Native Method)
	at java.net.SocketInputStream.read(Unknown Source)


It's strange because if I invoke another method (for example queue.purge(int), session.solicitAck() ) all it's working and of course the code is the same...
Method invocation is done following exactly what you told me in the previous post so the question is : could it be a broker problem?

Thanks in advance.

Best Regards,
Andrea

> 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: commons-pool-1.4.jar, DomainModel.jpg, QMan.jar, qman_patch, QpidClass.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: qpid_patch_under_management_folder_12102008

Hi All, 
this is the latest patch of QMan that should be loaded (according to QPID-1335) on qpid/management/client.

You can find it on this issue attachment section with the name "qpid_patch_under_management_folder_12102008". 

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12637920#action_12637920 ] 

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

Hi All, I have some doubts about remote management of Qpid Broker.

Running QMan I'm able to see several types of objects (queue, connection, session and so on). Those objects have methods that I can invoke. 
Now, there are some methods that in my opinion shouldn't be exposed for management. I mean shouldn't be part of the management interface.
What are those methods? In general  methods that control lifecycle of a specific object and specifically methods that are destroying / closing / invalidating an object.

Those operations should be controlled by the owning broker and in my opinion is not good to let an external client terminate those objects.

First possible  scenario :

1) QMan starts up. At least it needs one connection and one session
2) An external client connects to QMan using an XXX connector (where XXX could be RMI, WSDM, etc...) 
3) The external client invoke the close() operation on the connection instance that is used by QMan 
4) Result : QMan suicide
    
Second possible  scenario :

1) QMan starts up. At least it needs one connection and one session
2) An external client connects to QMan using an XXX connector (where XXX could be RMI, WSDM, etc...) 
3) The external client invoke the close() / detach() operation on the session instance that is used by QMan 
4) Result : QMan is no longer working...

Third possible scenario :

1) QMan starts up. At least it needs one connection and one session
2) An external client connects to QMan using an XXX connector (where XXX could be RMI, WSDM, etc...) 
3) The external client invoke the purge() operation on the management and / or queue instance that is used by QMan 
4) Result : QMan is not receiving management & method-reply messages

Fourth possible scenario :

1) QMan starts up and it connects to a broker already connected with other management clients. 
2) An external client connects to QMan using an XXX connector (where XXX could be RMI, WSDM, etc...) 
3) The external client invoke the close() operation on the connection instance that is used by another client 
4) Result : the other external client is no longer able to work.

...and so on...


What are you thinking about?

Let me know

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: QMan.jar

Hi Ted, thanks for your comments...be sure that I'm going to write you a lot of questions... :)

At the moment, if someone would have a look to the application (first version) and at the code too, I submitted the whole qman archive. Notes :

- Methods & events invocation is not supported  
- Initial broker request is missing : the broker ID(s) that you can see on the management console are generated randomly.
- only i,c,g and s operation codes are supported.

I will submit some sequence diagram to illustrate how it's working but at the moment here is a little riepilogue.

- At startup QMan starts and reads the configuration file. Here the following associations are made: management types with codes, operation codes and the corresponding handler class, types and validators (min, max, maxlength).
- For each <broker> tag a "management client" is created and connected with the given connection data. The connection is made following the specification foudn in the "management design notes" document (private queue bound to qpid.management, method-reply queue bound to amq.direct, etc...)
- Each broker starts to send ContentIndication messages containing instrumentation and configuration data.
- QMan receives those messages but at this moment it knows nothing about the mentioned package / class in the message. So raw data is cached and a schema request is made in order to get the corresponding definition.
- The qpid broker receives the request (S) and answer with a 's' response containing schema for requested class.
- QMan receives schema(s) and create the corresponding definition on domain model. The accumulated instrumentation / configuration raw data is now ready to be converted and the stored object instances are now registered to MBean server.
- When another content indication message arrives (related to the previous class) on QMan the raw data is converted immediately into property / statistic values and the corresponding object instance is updated with new values.
- When another content indication messages arrives and it contains an unknown package / class a new schema request (S) is made...         

The archive contains also the source code (src & test folders) so feel free to have a look and of course any comment would be appreciated.

Regards,
-- Gazza --
 

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


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: qman_14102008_latest.patch

Here is the latest QMan patch. 

It contains all needed fixes in order to let QMan working against  the trunk version of the c++ broker.

Regards,
Andrea 

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, Invokes an operation.jpg, management_message.jpg, message_processing.jpg, QMan.jar, qman_14102008_latest.patch, qman_patch, qman_patch_08102008, qman_patch_14102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, qpid_patch_under_management_folder_12102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: qman_test_cases_patch_08102008
                qman_patch_08102008

Hi all, attached with this post you'll find the last patches of QMan. I submitted 2 patches :

- qman_patch_08102008 : QMan sources with additional features explained below;
- qman_test_cases_patch_08102008 : QMan test cases updated (see below).

Included in this patch (qman_patch_08102008) : 

*** CONNECTION POOL LOGGING ***
- in DEBUG level you can see the lifecyle of each pooled connection.

*** METHOD INVOCATION ***
- Synchronous behavior (from external client perspective) of  method invocation : QMan is handling as adapter between asynchronous nature of communication with broker and synchronous communication with external clients. So, at the end, method invocation for external client is synchronous
- Method invocation, in order to be able to return multiple values, is returning one of the following :

1) A result value object contaings output and bidirectional parameters (not schema ordered but this is not an issue because external clients knows nothing about QMan / QPid schema)
2) An exception (jmx MBeanException that wraps MethodInvocationException)  when incoming code is not 0;
3) An exception (jmx ReflectionException that wraps NoSuchMethodException) when requested method is unknown.

*** TEST CASES *** 
I've added another package called 

org.apache.qpid.management.online 

It contains (at the moment there's only one test) online tests. I mean, QMan must be up and running in order to run these tests.

Regards,
Andrea

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, message_processing.jpg, QMan.jar, qman_patch, qman_patch_08102008, qman_predefined_handlers_patch, qman_test_cases_patch, qman_test_cases_patch_08102008, QpidClass.jpg, use_cases.jpg
>
>
> 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.


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12633926#action_12633926 ] 

Ted Ross commented on QPID-1284:
--------------------------------

Andrea,

For method calls, use a routing key of "agent.0".  Here's the list of items to be encoded:

Header (opcode='M')
ObjectId of target object (128 bits)
Package name (str8)
Class name (str8)
Class hash (bin128)
Method name (str8) [as defined in the schema]

Now encode all input ("I") and i/o (IO) arguments in the order in which they are defined in the schema. (i.e. make one pass over the argument list and encode arguments that are either input or inptu/output).

The response will be encoded thus:

Header (opcode='m')
Status code (uint32)
Status text (str8)
all output (O) and i/o (IO) arguments in the order in which they appear in the schema.

-Ted



> 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, QpidClass.jpg
>
>
> 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.


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: DomainModel.jpg

Here I am again...first attachment is diagram of the QMan domain model (that is, it is the domain model of a remote broker).
Here you can find the entities described in the specification (package, class, property, statistic, events) and other entities used for  managing schema entity definitions.

I'm going to submit other diagrams (and the code of the first version) very soon..

Any comment would be appreciate...

- Gazza -    

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


[jira] Commented: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Ted Ross (JIRA)" <qp...@incubator.apache.org>.
    [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12631823#action_12631823 ] 

Ted Ross commented on QPID-1284:
--------------------------------

Gazza,

A few quick notes...

1) The "management design notes" wiki page is no longer being updated.  It represents the state of the code in the M3 release.
2) A new page has been created (http://cwiki.apache.org/confluence/display/qpid/Qpid+Management+Framework) for the ongoing effort.  Lots of details need to be filled in.
3) After a quick look at the QMan code (which looks very neat by the way), I think the main issue you are having with the trunk is that the objectId has been expanded from 64-bits to 128-bits.  Other protocol updates have occurred in the method and event area but those don't yet affect you (yet).
4) Another feature your code doesn't support is optional properties.  Search for "optional properties" in the M3 management design notes for details.

-Ted


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


[jira] Updated: (QPID-1284) QMan : Qpid JMX Management Bridge

Posted by "Andrea Gazzarini (JIRA)" <qp...@incubator.apache.org>.
     [ https://issues.apache.org/jira/browse/QPID-1284?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrea Gazzarini updated QPID-1284:
-----------------------------------

    Attachment: qman_test_cases_patch

Hi All,
attached file (qman_test_cases_patch) contains fixs for existing test cases and two additional test cases for QpidClass & BrokerMessageListener.

Regards,
Andrea 

> 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: actors.jpg, class_definition_building.jpg, commons-pool-1.4.jar, configuration_domain_model.jpg, DomainModel.jpg, estabilish_initial_connection.jpg, QMan.jar, qman_patch, qman_predefined_handlers_patch, qman_test_cases_patch, QpidClass.jpg, use_cases.jpg
>
>
> 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.