Hi

I logged a ticket to not forget about this.
https://issues.apache.org/jira/browse/CAMEL-5997

Will work with Lukasz proposals to get this into the 2.11 codebase, so
we have a baseline for better CDI and OSGi registry integration.


On Tue, Nov 20, 2012 at 6:16 PM, Łukasz Dywicki <l...@code-house.org> wrote:
> Dear all,
> During my work on camel-cdi component and cdi itself I realized that beans 
> don't have to be named. They have qualifiers, which are more generic 
> approach. To put some name on bean user must use @Named qualifier.
>
> This model doesn't fit very well to current camel registry SPI. For example 
> if component developer is interested in returning all instances of given type 
> he must name them. Next thing is Injector stuff, which allows usage of type 
> to create instance. It's overlaps in some places same logic as most popular 
> integration we have (Spring) uses ApplicationContext in both.
> I know that logically Registry and Injector are different ideas, however in 
> 99.9% people use same Registry and Injector provider. Why we support that 
> then?
>
> The proposal I bring here is following:
> interface Registry {
>     // named lookups
>     lookupByName(String name) : Object
>     lookupByNameAndType(String name, Class<T> type) : T
>
>     // typed lookups
>     lookupByType(Class<T> type) : T
>     lookupByType(Class<T> type, boolean createIfNotFound) : T
>
>     // find calls
>     findByTypeWithName(Class<T> type) : Map<String, T>
>     findByType(Class<T> type) : Set<T>
> }
>
> I reviewed usage of current lookupByType which returns map and in most places 
> key from returned map is not used at all.
> WDYT?
> --
> Łukasz Dywicki
> l...@code-house.org
> Twitter: ldywicki
> Blog: http://dywicki.pl
> Code-House - http://code-house.org



-- 
Claus Ibsen
-----------------
Red Hat, Inc.
FuseSource is now part of Red Hat
Email: cib...@redhat.com
Web: http://fusesource.com
Twitter: davsclaus
Blog: http://davsclaus.com
Author of Camel in Action: http://www.manning.com/ibsen

Reply via email to