+1

But why do we need the manual setBeanManager public at all?
I'll go on and make it protected.

LieGrue,
strub



----- Original Message -----
> From: Gerhard Petracek <[email protected]>
> To: [email protected]
> Cc: 
> Sent: Monday, January 23, 2012 7:56 AM
> Subject: Re: [DISCUSS] BeanManagerProvider API
> 
> hi christian,
> 
> thx for moving this discussion to the mailing list!
> 
> actually you don't have to check it because it would fail earlier.
> due to the basic mechanism you would see an IllegalStateException in
> #getInstance, if the cdi implementation isn't configured correctly (this
> topic is related to an upcoming discussion).
> 
> the only case i can see right now would be caused by a manual call of
> #setBeanManager which resets it.
> -> imo we have to decide if we allow such a manual call.
> 
> in general we should also discuss if we re-use existing exception types (if
> it makes sense) or if we create our own types.
> 
> regards,
> gerhard
> 
> 
> 
> 2012/1/23 Christian Kaltepoth <[email protected]>
> 
>>  Hey @all,
>> 
>>  yesterday I had a deeper look at the BeanManagerProvider
>>  implementation and found something that could be improved. I created
>>  DELTASPIKE-56 (see [1]) for this but it turned out that we should
>>  discuss this topic on the mailing list.
>> 
>>  I saw that getBeanManager() may return null in some rare
>>  circumstances. Unfortunately this forces everyone calling this method
>>  to check the result for null. I think most code calling the method
>>  absolutely requires the BeanManager and cannot proceed without it.
>> 
>>  My first idea was to add another method getRequiredBeanManager() that
>>  doesn't return null if the BeanManager is not available but instead
>>  throws a meaningful runtime exception. That's what Solder does per
>>  default. Calling Solder's BeanManagerLocator.getBeanManager() without
>>  a BeanManager being available will result in a
>>  BeanManagerUnavailableException (see [2]).
>> 
>>  However Mark suggested that throwing an exception should be the
>>  default behavior. I for myself like Mark's idea.
>> 
>>  What do you think?
>> 
>>  Christian
>> 
>>  [1] https://issues.apache.org/jira/browse/DELTASPIKE-56
>>  [2]
>> 
> https://github.com/seam/solder/blob/master/api/src/main/java/org/jboss/solder/beanManager/BeanManagerLocator.java#L82
>> 
>>  --
>>  Christian Kaltepoth
>>  Blog: http://chkal.blogspot.com/
>>  Twitter: http://twitter.com/chkal
>> 
> 

Reply via email to