You could create two new interfaces that extend RequestFilter (say HandsetGroupRequestFilter and DeviceRecognitionRequestFilter) whose sole purpose is to allow you to distinguish between the beans. Then inject the two different interfaces.
On Mon, Jul 26, 2010 at 11:00 AM, Christian Koller < christian.kol...@net-m.ch> wrote: > Is there a better solution than this here: > > http://stackoverflow.com/questions/2684171/tapestry-5-and-spring-beans-with-same-interface > > Begin forwarded message: > > > From: Christian Koller <ko...@swissonline.ch> > > Date: 26. Juli 2010 16:54:58 MESZ > > To: Tapestry users <users@tapestry.apache.org> > > Subject: Tapestry 5 and Spring beans with same interface > > > > Hi all > > > > I want to use two different spring beans with same interface in my module > class, like the example shows: > > > > public void contributeRequestHandler(OrderedConfiguration<RequestFilter> > configuration, > > @Inject RequestFilter handsetGroupRequestFilter, > > @Inject RequestFilter deviceRecognitionRequestFilter) { > > > > configuration.add("HandsetGroupRequestFilter", > handsetGroupRequestFilter); > > configuration.add("DeviceRecognitionRequestFilter", > deviceRecognitionRequestFilter); > > } > > > > Of course i get an exception like: > > Spring context contains 2 beans assignable to type > org.apache.tapestry5.services.RequestFilter: deviceRecognitionRequestFilter, > handsetGroupRequestFilter. > > > > > > How can I solve this problem? Somehow I have to provide the spring bean > id. > > thx > > chris > > Christian Koller > Sofwareentwickler > > net mobile Schweiz AG > Seestrasse 45 > CH ñ 8702 Zollikon > > Tel: + 41 (0) 44 918 99 99 > Fax: + 41 (0) 44 918 99 98 > Direkt: + 41 (0) 44 918 99 72 > > Mail: christian.kol...@net-m.ch > Web: www.net-m.ch > > -- Jonathan Barker ITStrategic