On Apr 6, 2009, at 12:31 PM, Pete Muir wrote:
Carlo, Ken, Andrew,
JSR-299 supports the notion of a producer field. By adding the
annotation @Produces to a field, you make it into a bean, which can
be used as the source of injections. The field can also be
associated with a scope. When you first look up an instance of a
bean, the field value is accessed, and stored in the context for
it's lifetime.
As we deal with EJB references, we can't directly access the field
value (using reflection) so I think we should use the SPI here.
I propose we add a method with this signature to the
SessionObjectReference we previously created for the purpose of
casting/removing EJBs
https://svn.jboss.org/repos/webbeans/ri/trunk/spi/src/main/java/org/jboss...
There isn't necessarily a one-to-one relationship between an ejb
reference and a bean instance. For stateless session beans, any one
of the bean instances can be used for any invocation.
Can't this behavior be handled by the web beans interceptor? By
definition, each interceptor instance has the same life cycle as its
associated bean instance, and the bean instance is available via the
Interceptor InvocationContext.
/**
* Retrieve the value of a (possibly private) field
*
* @param field
* the field to retrieve the value of
* @return the retrieved value
* @throws IllegalArgumentException
* if the field doesn't exist on this session object
instance
*/
public Object getFieldValue(Field field);
Any comments?
On 29 Mar 2009, at 22:57, Pete Muir wrote:
> Ok, I would think that some language in the spec to hint at this
> might be good, as instances of session beans elsewhere in the spec
> implies a EJB reference.
>
> On 29 Mar 2009, at 18:04, Gavin King wrote:
>
>> Yes, this is a good question - the 299 implementation would need
>> direct integration with the EJB container for this. (Not the only
>> place this is needed.)
>>
>>
>> On Sat, Mar 28, 2009 at 7:18 PM, Pete Muir <pmuir(a)redhat.com> wrote:
>>> Hey
>>>
>>> Not quite sure how this is supposed to work as everywhere we hold a
>>> reference (proxy) to the EJB, and therefore don't have access to
>>> the
>>> instance and therefore can't get hold of the fields. Any pointers?
>>>
>>> Thanks!
>>>
>>>
>>> --
>>> Pete Muir
>>>
http://www.seamframework.org
>>>
http://in.relation.to/Bloggers/Pete
>>>
>>>
>>
>>
>>
>> --
>> Gavin King
>> gavin.king(a)gmail.com
>>
http://in.relation.to/Bloggers/Gavin
>>
http://hibernate.org
>>
http://seamframework.org
>
> --
> Pete Muir
>
http://www.seamframework.org
>
http://in.relation.to/Bloggers/Pete
>
> _______________________________________________
> webbeans-dev mailing list
> webbeans-dev(a)lists.jboss.org
>
https://lists.jboss.org/mailman/listinfo/webbeans-dev
--
Pete Muir
http://www.seamframework.org
http://in.relation.to/Bloggers/Pete