@@ -27,33 +27,33 @@ class DefaultServiceRegistry implements ServiceRegistry, Initializable {
2727 */
2828 final Datastore datastore
2929
30- protected final Map<Class ,Service > servicesByInterface
30+ protected final Map<String ,Service > servicesByInterface
3131 protected final Collection<Service > services = []
3232 private boolean initialized
3333
3434 DefaultServiceRegistry (Datastore datastore , boolean exceptionOnLoadError = true ) {
3535 this . datastore = datastore
3636 Iterable<Service > services = loadServices()
37- Map<Class , Service > serviceMap = [:]
37+ Map<String , Service > serviceMap = [:]
3838 Iterator<Service > serviceIterator = services. iterator()
3939 while (serviceIterator. hasNext()) {
4040 try {
4141 Service service = serviceIterator. next()
4242 this . services. add(service)
4343 Class [] allInterfaces = ClassUtils . getAllInterfaces(service)
4444 Class theClass = service. getClass()
45- serviceMap. put(theClass, service)
45+ serviceMap. put(theClass. name , service)
4646 if ( theClass. simpleName. startsWith(' $' ) ) {
4747 // handle automatically implemented abstract service implementations
4848 Class superClass = theClass. getSuperclass()
4949 if (superClass != null && superClass != Object . class && Modifier . isAbstract(superClass. modifiers)) {
50- serviceMap. put(superClass, service)
50+ serviceMap. put(superClass. name , service)
5151 }
5252
5353 }
5454 for (Class i in allInterfaces) {
5555 if (isValidInterface(i)) {
56- serviceMap. put(i, service)
56+ serviceMap. put(i. name , service)
5757 }
5858 }
5959 } catch (Throwable e) {
@@ -76,7 +76,7 @@ class DefaultServiceRegistry implements ServiceRegistry, Initializable {
7676
7777 @Override
7878 def <T> T getService (Class<T> interfaceType ) throws ServiceNotFoundException {
79- Service s = servicesByInterface. get(interfaceType)
79+ final Service s = servicesByInterface. get(interfaceType. name )
8080 if (s == null ) {
8181 throw new ServiceNotFoundException (" No service found for type $interfaceType " )
8282 }
0 commit comments