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