0 Replies Latest reply on Jul 17, 2009 8:39 AM by jmesnil

    Provide GUI-friendly management operations

    jmesnil

      related to https://jira.jboss.org/jira/browse/JBMESSAGING-1605.

      Currently, it is not possible to use a GUI management console (e.g. jconsole or AS 5 jmx-console) to create JMS connection factories.
      All createConnectionFactory() methods required complex parameters of type Object[], String[], Map<String, Object> but the gui consoles can not know how to transform the text input field into these types (e.g. AS 5 console will complain that there is no PropertyEditor for Map)

      To make it possible to create JMS connection factory from a management console, we need to pass a String instead of these complex data structures and recreate them on the server side.

      e.g. a method which requires a String[] will have a corresponding method where a String is expected. This String will expect comma-separated values and, on the server side, we will recreate the String[] from the comma-separated String.

      Similarly, when a Map<String, Object> is expected, we will add an equivalent method with a String expecting a comma-separated list of key=value.

      In fact, the encoding we will use is JSON. The management console will send a String to the server. On the server, we will use a JSON decoder to recreate the complex data structures.

      It is not completely user-friendly as the management user will need to know the expected format of the String (CSV, or comma-separated key=value) but we will help him by providing MBeanInfo and good documentation on the expected format.

      Only the JMSServerControl.createConnectionFactory() methods are affected as they are the only management methods which uses these complex parameters.