Well It worked for a single service implementing the interface, as soon as I
added a second service it blew up :(
I was given this exception
Caused by: java.lang.RuntimeException: Error building service proxy for
service 'Scheduler' (at
org.mydomain.eprs.services.Scheduler(HibernateSessionSource, Session,
AutocompleteCache, AutocompleteCache) (at Scheduler.java:34) via
org.mydomain.eprs.services.AppModule.bind(ServiceBinder) (at
AppModule.java:29)): Service interface
org.mydomain.eprs.services.AutocompleteCache is matched by 2 services:
UserAutocompleteCache, VendorAutocompleteCache. Automatic dependency
resolution requires that exactly one service implement the interface.
this is my code
public class AppModule {
public static void bind(ServiceBinder binder) {
binder.bind(UserInfo.class, UserInfoImpl.class);
binder.bind(Scheduler.class);
}
public static AutocompleteCache<ApplicationUser>
buildUserAutocompleteCache() {
return new AutocompleteCacheImpl<ApplicationUser>() {};
}
public static AutocompleteCache<IfasvVendor>
buildVendorAutocompleteCache() {
return new AutocompleteCacheImpl<IfasvVendor>() {};
}
public class Scheduler {
public Scheduler(AutocompleteCache<ApplicationUser>
userAutocompleteCache,
AutocompleteCache<IfasvVendor> vendorAutocompleteCache) {
I looked at Taha's suggestion "Disambiguation with Marker Annotations" in
http://tapestry.apache.org/defining-tapestry-ioc-services.html
however that example seemed like one interface implementing different
classes, where as I have one interface implementing one class, ie the
generic.
Any thoughts or suggestions?
--
View this message in context:
http://tapestry.1045711.n5.nabble.com/Using-generics-in-tapestry-service-tp5700399p5700861.html
Sent from the Tapestry - User mailing list archive at Nabble.com.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]