Hi Jaroslav,

1. I think it would be good to change the synopsis of the issue
   to match what the proposed change does.

   It seems to me that something like:

   Add a new javax.management.annotation.ConstructorProperties
   annotation

   would be a better description.

2. I agree with Alan that logging might not be needed.
   I am not opposed to keeping it but then I'd suggest
   using one of the loggers defined in JmxProperties.java
   rather than creating a new logger object.

3. I was told recently that @since 1.9 should now be @since 9
   (package-info + new annotation type)

4. ConstructorProperties.java: Are you going to annotate MemoryUsage?

5. I see you have updated existing tests to use the new
   annotation. I wonder whether it would have been better to
   clone them instead.
   On the other hand you have added a new test to  test the legacy
   annotation, so maybe that was the right thing to do.
   Unless others object, keep it like that.

Best regards,

-- daniel


On 08/10/15 13:49, Jaroslav Bachorik wrote:
Please, review the following change

Issue : https://bugs.openjdk.java.net/browse/JDK-7199353
Webrev: http://cr.openjdk.java.net/~jbachorik/7199353/webrev.00/top
         http://cr.openjdk.java.net/~jbachorik/7199353/webrev.00/jdk

Issue description:
"MXBean currently supports model-specific types annotated with
java.beans.ConstructorProperties that is tightly coupled with
the client API. A MXBean developer will likely want to avoid
using java.beans.ConstructorProperties if it ends up in the
desktop module that their code doesn't want to pull in. In
that case, the code has to write to achieve the same effort
by defining the from(CompositeData) method."

This patch adds a new annotation
@javax.management.annotation.ConstructorProperties which can be used in
stead of @java.beans.ConstructorProperties. This will allow the
developers to use this convenience feature without introducing a bit
strange dependency on java.desktop.

For the backward compatibility purposes
@java.beans.ConstructorProperties annotation will still be recognized by
the JMX system but
a) A warning will be logged about using a deprecated way to specify
@ConstructorProperties
b) If there is also @javax.management.annotation.ConstructorProperties
annotation present on the same constructor then only this annotation
will be considered.

All the tests exercising the JMX related @ConstructorProperties
functionality have been updated to use
@javax.management.annotation.ConstructorProperties.

Since this change is affecting public APIs the relevant CCC request has
been filed and is in processing now.


Thanks,

-JB-

Reply via email to