dev@jsr311.java.net

Re: JSR311: POLL - Targets for _at_*Param, _at_DefaultValue, _at_Encoded

From: Bill Burke <bburke_at_redhat.com>
Date: Tue, 11 Mar 2008 15:24:14 -0400

I just want to add that we're disallowing field injection for a
singleton component model we don't even define in the specification when
its perfectly feasible to want and have it with the out-of-the-box
model. It also works perfectly fine with EJB SLSBs and Interceptors.

The funny thing is is that we already allow it for @Context, we'd want
it for other injection annotations for the same exact reason, to not
bloat method invocations with common contextual information.

I want something greater than (i). If I had a choice, I would pick (v).

Stefan Tilkov wrote:
> (i)
>
> On Mar 11, 2008, at 6:36 PM, Marc Hadley wrote:
>
>> There's been a lot of discussion of whether or not to expand the
>> targets (i.e. what Java artifacts you can use the annotation on) of
>> the @*Param annotations (i.e. @PathParam etc al). If we do add targets
>> for these annotations I think we also need to do the same for
>> @DefaultValue and @Encoded. I'm uncomfortable adding targets that are
>> only supported in some implementations so if we do add targets they
>> will be required to be supported on resource classes (not providers)
>> in all implementations.
>>
>> Discussion so far has been between Bill, Stephan and myself, I'd like
>> to hear from others hence this poll. Please choose from the following
>> and reply to the list with your selection. Silence means you don't
>> care what happens - how could that be ;-).
>>
>> Here are the options for target I see:
>>
>> (i) Parameter. The status quo. Works with any lifecycle.
>> (ii) Parameter and field. Spec will warn that use on a field in a
>> singleton resource isn't supported.
>> (iii) Parameter and field. Spec will require use of a proxy for field
>> injection. Pro: singletons can be supported. Con: will affect
>> performance. Con: still won't work for simple types, spec will warn
>> about this.
>> (iv) Parameter, field and method (bean setter). Spec will warn that
>> use on a field in a singleton resource isn't supported and that use on
>> method will require application-managed thread-local handling. Pro:
>> bean setter enable support for singletons. Con: complicated bean setters.
>> (v) Parameter, field and method (bean setter). Spec will require use
>> of a proxy for field and method injection. Same pros and cons as (iii).
>>
>> Vote early, vote once.
>> Marc.
>>
>> ---
>> Marc Hadley <marc.hadley at sun.com>
>> CTO Office, Sun Microsystems.
>>
>>
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: dev-unsubscribe_at_jsr311.dev.java.net
>> For additional commands, e-mail: dev-help_at_jsr311.dev.java.net
>>
>>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_jsr311.dev.java.net
> For additional commands, e-mail: dev-help_at_jsr311.dev.java.net
>

-- 
Bill Burke
JBoss, a division of Red Hat
http://bill.burkecentral.com