I don't interpret that sentence in quite the same way.

When it says "portable applications should not invoke any method
declared by java.lang.Object, except for toString(), on a client
proxy", I read that to say that this is behavior that the spec decided
it couldn't define, so they are basically telling the user not to do
it because they risk being broken.

It does appear to leave the behavior up to the implementation though.

Sincerely,

Joe

On Thu, Sep 23, 2010 at 10:43 AM, Mark Struberg <[email protected]> wrote:
>> The behavior of all methods declared by java.lang.Object,
>> except for
>> toString(), is undefined for a client proxy. Portable
>> applications
>> should not invoke any method declared by java.lang.Object,
>> except for
>> toString(), on a client proxy.
>
> I'm reading this as "we should not allow the interception of Object methods", 
> because equals() and hashCode() are really important to use.
>
> LieGrue,
> strub
>
> --- On Thu, 9/23/10, Eric Covener <[email protected]> wrote:
>
>> From: Eric Covener <[email protected]>
>> Subject: Re: [DISCUSS] remove logging for "Calling method on proxy is 
>> restricted except Object.toString()"
>> To: [email protected]
>> Date: Thursday, September 23, 2010, 2:34 PM
>> On Thu, Sep 23, 2010 at 10:31 AM,
>> Mark Struberg <[email protected]>
>> wrote:
>> > I generally doubt that this is undefined/unintended!
>> >
>>
>> I thought this trace message and thread were in regards to
>> this rule
>> on contextual references:
>>
>>
>> 5.4.2. Client proxy invocation
>>
>> Every time a method of the bean is invoked upon a client
>> proxy, the
>> client proxy must:
>>
>> obtain a contextual instance of the bean, as defined in
>> Section 6.5.2,
>> “Contextual instance of a bean”, and
>>
>> invoke the method upon this instance.
>>
>> If the scope is not active, as specified in Section 6.5.1,
>> “The active
>> context object for a scope”, the client proxy rethrows
>> the
>> ContextNotActiveException or IllegalStateException.
>>
>> The behavior of all methods declared by java.lang.Object,
>> except for
>> toString(), is undefined for a client proxy. Portable
>> applications
>> should not invoke any method declared by java.lang.Object,
>> except for
>> toString(), on a client proxy.
>>
>>
>>
>> --
>> Eric Covener
>> [email protected]
>>
>
>
>
>

Reply via email to