Hi Harsha and Erik

I certainly understand the desire to design the API well.
My point was just that when there is a mature battle-tested de-facto
solution out in the wild, it would be a pity not to see potential for
interoperability where the solutions are in fact really close.
To illustrate where I'm coming from, I hacked the source of a plugin that
is able to control the flight recorder via JMX , to adapt the POST payloads
to this JEP.
Assuming I understood it correctly the changes are quite small, but would
the require a complete rewrite of all plugins, a layer of indirection or
even worse a compatibility layer to use it.
Note: I assumed the arguments are still an array and not an object?  ([] ,
not {}) ?

You can see an example of what changes would typically be needed here:
https://github.com/skarsaune/hawtio/commit/36ca65f495f05d20061b001fcc291ed3bc6e183f

Cheers

Martin


man. 11. sep. 2017 kl. 17:36 skrev Kirk Pepperdine <
kirk.pepperd...@gmail.com>:

> Hi Harsha,
>
> The only reason I mentioned Jolokia is that it’s a project that usefulness
> is some what limited because it is *not* a compliment JMX connector and as
> such cannot be used as a straight drop-in replacement for the current RMI
> based connector. Is your plan here to make it a fully compliant connector
> so that we could configure tooling such as the MBean viewers in jConsole
> and VisualVM (or JMC for that matter) to use a restful connector instead of
> an RMI based connector? IMHO, doing so would represent a huge win as I know
> of quite a few projects that cannot or will not use JMX because of it’s
> reliance on RMI.
>
> Consolidating all of the options under a single flag looks like another
> interesting win.
>
> Kind regards,
> Kirk
>
>
>
> On Sep 11, 2017, at 4:08 PM, Harsha Wardhana B <
> harsha.wardhan...@oracle.com> wrote:
>
> Hi Erik,
>
> On Monday 11 September 2017 07:14 PM, Erik Gahlin wrote:
>
> Hi Harsha,
>
> I haven't looked at Jolokia, or know what is the most reasonable approach
> in this case, but as a principle, I think we should strive for the best
> possible design rather than trying to be compatible with third party tools.
>
> Agreed. That will always be the first priority. That is the reason HTTP
> GET interfaces will not be changed. I am undecided if the POST payloads
> need to be changed (without compromising the REST design principles) to
> increase adoption of this feature.
>
>
> How will the command line look like to start the agent with the rest
> adapter?
>
> In the past there have been discussions about adding syntactic sugar for
> -Dcom.sun.management, i.e.
>
> -Xmanagement:ssl=false,port=7091,authenticate=false
>
> instead of
>
> -Dcom.sun.management.jmxremote.ssl=false
> -Dcom.sun.management.jmxremote.port=7091
> -Dcom.sun.management.jmxremote.authenticate=false
>
> which is hard to remember, cumbersome to write and error prone since the
> parameters are not validated. If we are adding support for REST, it could
> perhaps be default, i.e.
>
> -Xmanagement:ssl=false,authenticate=false,port=80
>
> If you want to use JMX over RMI you would specify protocol:
>
> -Xmanagement:ssl=false,port=7091,authenticate=false,protocol=rmi
>
> Yes. There is an enhancement request to add the -Xmanagemet:* syntatic
> sugar for -Dcom.sun.management.jmxremote.* flags. REST adapter will use one
> of the above flags though I haven't thought of the exact name for it yet. I
> will update the JEP with the details of the flag shortly.
>
>
> Has there been any thoughts about JMX notifications?
>
> Notifications will not be supported in this JEP.
>
>    - MBean Notifications are not a widely used feature and will not be
>    supported via the REST adapter.
>
>
> I know it is outside the scope of the JEP, but I think we should take it
> into consideration when doing the design, so the functionality could be
> added on later without too much difficulty.
>
> Notifications can be added without modifying the current design too much.
> If required, it will be worked upon via an enhancement request.
>
>
> Thanks
> Erik
>
> Thanks
> Harsha
>
> Hi Martin,
>
> In my opinion, the interfaces exposed by current JEP are lot closer to
> REST style than the interfaces exposed by Jolokia.
>
> For instance, HTTP GET by default should be used to read resources, but it
> is made part of URL in Jolokia interfaces.
>
> <base-url>/read/<mbean name>/<attribute name>/<inner path>
>
>
> I would wait on opinions from more people before considering changing the
> current interfaces.
>
> Thanks
> -Harsha
>
> On Wednesday 06 September 2017 11:40 AM, Martin Skarsaune wrote:
>
> Hello
>
> Would one at least consider adopting the same URL paths and payloads as
> Jolokia? This could make life a lot easier for third party tools that
> connect to it.
>
> Best Regards
>
> Martin Skarsaune
>
> ons. 6. sep. 2017 kl. 07:04 skrev Harsha Wardhana B <
> harsha.wardhan...@oracle.com>:
>
>> Hi Kirk,
>>
>> Yes. Jolokia was considered and is listed as an alternative in the JEP.
>>
>>
>>    - Jolokia can serve as a viable alternative but can be bulky. We are
>>    looking for simple and lightweight solution.
>>
>>
>> -Harsha
>>
>> On Wednesday 06 September 2017 10:21 AM, Kirk Pepperdine wrote:
>>
>> Hi,
>>
>> Have you run into this project? https://jolokia.org. Unfortunately it’s not 
>> exactly a drop in replacement for the standard RMI based JMX connector but 
>> it’s not far off.
>>
>> Kind regards,
>> Kirk
>>
>>
>> On Sep 5, 2017, at 6:30 PM, Erik Gahlin <erik.gah...@oracle.com> 
>> <erik.gah...@oracle.com> wrote:
>>
>> Hi Harsha,
>>
>> Looping in jmx-dev.
>>
>>
>> byte[], short[], int[], float[], double[]
>>
>> Should long[] be included there as well?
>>
>>
>> The REST adapter will come with a simple and lightweight JSON parser.
>>
>> Is this an internal parser or will it be exposed as an API?
>>
>> If so, how does it relate to JEP 198: Light-Weight JSON 
>> API?http://openjdk.java.net/jeps/198
>>
>> Will com.sun.net.httpserver.HttpServer be used to serve the requests?
>>
>> Thanks
>> Erik
>>
>>
>> Hi All,
>>
>> Please review the JEP for REST APIs for JMX :
>>        https://bugs.openjdk.java.net/browse/JDK-8171311
>>
>> The JEP aims at providing RESTful web interfaces to MBeans.
>>
>> Access to MBeans registered in a MBeanServer running inside a JVM requires a 
>> Java client. Language-agnostic access to MBeans will require spawning a Java 
>> client which can be cumbersome. The proposed JEP allows MBeans to be 
>> accessed in a language/platform-independent, ubiquitous and seamless manner.
>>
>> Thanks
>> -Harsha
>>
>>
>>
>>
>
>
>
>

Reply via email to