RR(S): 8011038 sourceObj validation during desereliazation of RelationNotification should be relaxed
shanliang
shanliang.jiang at oracle.com
Wed Jul 3 00:00:51 PDT 2013
After reading again the constructor Javadoc:
"sourceObj - source object, sending the notification. This is either an
ObjectName or a RelationService object. In the latter case it must be
the MBean emitting the notification; the MBean Server will rewrite the
source to be the ObjectName under which that MBean is registered."
In this case, should we override instead the method "setSource" to
refuse a null value and do the necessary check? like
setSource(Object source) {
if (!(sourceObj instanceof RelationService) &&
!(sourceObj instanceof ObjectName))) {
throw new IllegalArgumentException();
}
}
Shanliang
shanliang wrote:
> The constructor Javadoc says: "Throws IllegalArgumentException if no
> source object", we have to modify the spec if the implementation is
> changed.
>
> Shanliang
>
> Dmitry Samersoff wrote:
>> Hi Everybody,
>>
>> *problem*
>>
>> Despite the fact, that validation in constructor of RelationNotification
>> prohibit creation of the class instance with null sourceObj its possible
>> to set it to null later by public setSource() method. So we should relax
>> validation rules to preserve serialization behavior compatibility.
>>
>> *webrev*
>>
>> http://cr.openjdk.java.net/~dsamersoff/8011038/webrev.01/
>>
>> *testing*
>>
>> JCK, no separate regression tests required.
>>
>>
>
>
More information about the serviceability-dev
mailing list