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

Rahul Mehta commented on QPID-955:
----------------------------------

Hello All,

I uploaded the code on the JIRA - 955.

There are three main files:

1.      QueryListener - which creates the three queues (management, reply, 
testQueue) and prompts user to quey (e.g. package, schema, method etc) and put 
the schema into the property file 
2.      ManagementListener - this listens the Configuration and Instrumentation 
Content Messages for all the class that the broker knows. In the present 
situation, it gets all the attributes for the queue (testQueue) and write into 
the property file so that we can expose it (by using ExposeMBean.java)
3.      ExposeMBean - is used to get the elements from the property file and 
expose them on the JMX agent by Running (ExposeMBeanMain.java)

You can open the jconsole to view all the elements of the queue class 
"testQueue", you can also invoke the "purge" method by supplying an argument 
"request" (number of messages you want to delete). This change will directly 
reflect into the broker.

Please note: you cannot modify the elements value via console as this 
setAttribute() mapping is not implemented in the broker. (as Ted confirmed)

One last thing, if you run these program then please change the objectID in the 
QueryListener, ManagementListener and ExposeQueue for the testQueue queue (as 
it is hardcoded) but in the next version it would be dynamic. (with all the 
classes)

There is one more program, which I reuse from already existing api is 
DirectProducer for testing which is used to put few messages in the testQueue

How to run this:

1.      Run the QueryListener.java if you want to send any management request 
and receive the management response on the "reply" queue. This will create the 
queues automatically by calling Queue.java

2.      Run the ManagementListener if you want to receive the sporadic 
Configuration and Instrumentation Content Messages for all the class that the 
broker knows. It will also create the queues.

3.      You can run the qpid-tool to see the objectId of the testQueue and 
change in the all three files (QueryListener.java, ManagementListener and 
ExposeMBean.java) as it is hard coded for the time being.  . but in the next 
version will be fixed.

4.      Run the DirectProducer.java to put some messages in the testQueue

5.      step -2

6.      see in the directory structure ./conf/exposeProperty.prop file, you 
will receive the all queue elements in it.

7.      run the ExposeMBeanMain.java to expose all the elements of the property 
file on JMX agent

8.      open jconsole and view all elements of the queue, you can also invoke 
the purge method to purge the messaged from the testQueue



Next Step- by next week I am hoping to expose all the classes dynamically and 
fix issues.

Thanks to Ted for guiding me and notifying the changes in management protocol 
otherwise I was caught with the old version of broker and apis.

You feedback is required.

Thanks.

BR,
Rahul


> WSDM Interface
> --------------
>
>                 Key: QPID-955
>                 URL: https://issues.apache.org/jira/browse/QPID-955
>             Project: Qpid
>          Issue Type: New Feature
>          Components: AMQP Compliance, Java Management Console
>         Environment: Java, WS-DM Specification
>            Reporter: Rahul Mehta
>             Fix For: M4
>
>         Attachments: JMX-WSDM.doc, qpid_JMX-WSDM.ppt, rahul.zip, README.txt
>
>
> Create a WS-DM (Web Services-Distributed Management) interface that will 
> receive management Data through the AMQP mgmt protocol and translate those 
> into WS-DM.
> The main objective of introducing this AMQP-WSDM bridge in Apache Qpid is to 
> allow any qpid broker to be hooked into any WS-DM console and allow for all 
> the instrumentation data to be read, all the methods to be invoked, and the 
> configuration to be updated through standard WS-DM console.
> This project will take the schema from AMQP-mgnt and then dynamically expose 
> those over JMX and WS-DM. This means that any of the management data from the 
> broker can be managed by any JMX console or WS-DM console.
> "Implementation of WSDM specification(s) (Management of Web Service & 
> Management Using Web Service ) and integrate this in the Apache Qpid will be 
> the major tasks in this project."

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

Reply via email to