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

Semyon Sadetsky semyon.sadetsky at oracle.com
Wed May 25 08:38:02 UTC 2016

On 5/24/2016 9:37 PM, Sergey Bylokhov wrote:
> 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.
That maybe an another issue. But the current fix need to be checked by 
the scenario when there are several getters (over-ridden with the return 
type substitutability) in addition to the setters.

>> --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

More information about the beans-dev mailing list