[cdi-dev] 'implicit bean' definition, section 2.5.1

Mark Struberg struberg at yahoo.de
Tue Jun 7 00:53:27 EDT 2016

Oki, txs. I can follow the explanation - but the result still sounds awesome wrong ;)
The _archive_ is implicit, but the beans inside it are imo not. 

A class with @RequestScoped is pretty much as explicit about it’s ‚bean-ness‘ as it can get ;)

Without your explanation I would have guessed that an ‚Implicit Bean‘ is everything which gets a @Dependent scope by rule. E.g. Interceptors, Decorators and classes which become auto-dependent.
I’d rather have argued that „if a java archive contains an explicit Bean then the archive becomes an Implicit Bean Archive“
But not sure we can change this now.


> Am 06.06.2016 um 08:25 schrieb Matej Novotny <manovotn at redhat.com>:
> Hi Mark
> I think there is a reason for that.
> Look at section "12.1. Bean archives" -> "An  implicit  bean  archive is  any  other  archive  which  
> contains  one  or  more  bean  classes  with  a  bean defining annotation as defined in Bean defining annotations." (E.g. which contains one or more implicit beans)
> Basically, "implicit bean" creates a basis for definition on "implicit bean archive" (and, as opposed to that, "explicit bean archive").
> I think you want to use explicit/implicit to define archives (based on presence/absence of beans.xml). And from that you derive that implicit archive contains implicit beans.
> Matej
> ----- Original Message -----
>> From: "Mark Struberg" <struberg at yahoo.de>
>> To: "Cdi-dev" <cdi-dev at lists.jboss.org>
>> Sent: Monday, June 6, 2016 6:40:54 AM
>> Subject: [cdi-dev] 'implicit bean' definition, section 2.5.1
>> "A bean class with a bean defining annotation is said to be an implicit
>> bean."
>> That sounds pretty weird to me. I would have expected it exactly the other
>> way around.
>> A bean with a @SessionScoped annotation is rather an explicit bean to me.
>> Any reason for this section?
>> LieGrue,
>> strub
>> _______________________________________________
>> cdi-dev mailing list
>> cdi-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/cdi-dev
>> Note that for all code provided on this list, the provider licenses the code
>> under the Apache License, Version 2
>> (http://www.apache.org/licenses/LICENSE-2.0.html). For all other ideas
>> provided on this list, the provider waives all patent and other intellectual
>> property rights inherent in such information.

More information about the cdi-dev mailing list