Ok, so this second @New bean is essentially a pojo (i.e. no longer an ejb)?

So currently the issue is that you could have say 10 EJBs all using the same 
class but different meta-data, but the NewBean.getId is generated from the 
class info so all 10 beans will have the same NewBean.getId and deployment will 
fail due to duplicate keys (specifically when adding to the 
BeanManagerImpl.passivationBeans collection).

Any preference on how we deal with this.  We can either make the ID unique for 
all 10 bean classes or ignore the duplicate exception.  Or perhaps a third 
approach of refining the process of adding a NewBean for anything of 
BaseEjbBean so it can check to see if the class has already been registered.

Thoughts?


-David



On Aug 3, 2010, at 11:02 PM, Mark Struberg wrote:

> in other words, we are adding
> 
> 1.) the original bean
> 2.) the bean which can be injected with @New (thus the name)
> 
> LieGrue,
> strub
> 
> 
> 
> 
> ----- Original Message ----
>> From: Gurkan Erdogdu <gurkanerdo...@yahoo.com>
>> To: dev@openwebbeans.apache.org
>> Sent: Wed, August 4, 2010 7:58:47 AM
>> Subject: Re: EJBUtility.fireEvents
>> 
>> Spec section; 
>> 
>> 3.12. @New qualified beans
>> 
>> Important part is  :
>> 
>> "....
>> Note that this second bean exists—and may be enabled and  available for 
>> injection—even if the first bean is disabled,
>> defined by  Section 5.1.2, “Enabled and disabled beans”, or if the bean 
>> class 
>> is 
>> 
>> deployed outside of a bean archive,
>> defined in Section 12.1, “Bean  archives”, and is therefore not discovered 
>> during 
>> 
>> the bean discovery process  defined
>> Chapter 12, Packaging and deployment. The container discovers @New  
>> qualified 
>> beans by inspecting injection points
>> other enabled  beans.
>> ....
>> "
>> 
>> 
>> Thanks;
>> 
>> --Gurkan
>> 
>> 
>> ________________________________
>> From:  David Blevins <david.blev...@visi.com>
>> To: dev@openwebbeans.apache.org
>> Sent:  Wed, August 4, 2010 1:40:22 AM
>> Subject: EJBUtility.fireEvents
>> 
>> Curious  on this part of that method:
>> 
>>         manager.addBean(WebBeansUtil.createNewBean(ejbBean));                
>>  
> 
>>         manager.addBean(ejbBean);
>> 
>> Wondering why we need to essentially add the  bean twice.  Running into an 
>> issue 
>> 
>> as the NewBean impl uses only class  information to construct the unique ID 
>> of 
> 
>> the bean.  This basically  puts the restriction that you cannot use the same 
>> EJB 
>> 
>> class twice.  In  EJB-land you can definitely do that.
>> 
>> What is the NewBean registration  for?
>> 
>> -David
>> 
>> 
> 
> 
> 
> 

Reply via email to