<Beans Dev> [9] Review Request: 8156043 Unstable behavior of PropertyDescriptor's getWriteMethod() in case of overloaded setters

Sergey Bylokhov Sergey.Bylokhov at oracle.com
Tue May 24 18:37:39 UTC 2016

On 24.05.16 20:31, Semyon Sadetsky wrote:
> Could you check which property setter/getter will be returned if to add
> an extra method:
> public Enum getFoo()
> is added to the  1. the test Sub class, 2. the test Base class?

In this case the type of foo property will be Enum, before and after the 
fix. But the write method will be found only if this method is added to 
Sub, in other case the write method is recognized only if we remove all 
duplicates of set(xxx). Not sure is it intended behavior in jdk9 to skip 
such writers or not. I will file CR for that.

> --Semyon
> On 5/17/2016 3:20 PM, Sergey Bylokhov wrote:
>> Hello.
>> Please review the fix for jdk9.
>> We have a number of bugs which state that our JavaBeans randomly does
>> not work, examples: JDK-6807471[1] , JDK-6788525[2], the reason is
>> that the order of methods from Class.getMethods() is not specified.
>> So I propose to fix this bug totally and sort the methods in some
>> order. Note that the resulted list is cached, and we sort the list
>> only the once.
>> The code partly was copied from com.sun.jmx.mbeanserver.MethodOrder
>> [3], but the parameters check and the order for return values were
>> changed. After this fix our bugs(if any) can be easily reproduced.
>> [1] https://bugs.openjdk.java.net/browse/JDK-6807471
>> [2] https://bugs.openjdk.java.net/browse/JDK-6788525
>> [3]
>> http://hg.openjdk.java.net/jdk9/client/jdk/file/fb38b0925915/src/java.management/share/classes/com/sun/jmx/mbeanserver/MBeanAnalyzer.java
>> Bug: https://bugs.openjdk.java.net/browse/JDK-8156043
>> Webrev can be found at:
>> http://cr.openjdk.java.net/~serb/8156043/webrev.00

Best regards, Sergey.

More information about the beans-dev mailing list