@Retention(value=RUNTIME) public @interface Tagged
module.addService(MyService.class).taggedWith(new ServiceTags("onetag","twotag"));
and then at an injection point you can do this:
@Service @Tagged("onetag") MyService service;
to get only a service tagged with MyService. If several match only the first match is used.public abstract String[] value