List<ServiceAdvisor> advisors = registry.findAdvisorsForService(serviceDef);
if (advisors.isEmpty())
return service;
final AspectInterceptorBuilder builder = aspectDecorator.createBuilder(serviceDef.getServiceInterface(),
service, serviceDef, String.format("<AspectProxy for %s(%s)>", serviceDef.getServiceId(), serviceDef
.getServiceInterface().getName()));
for (final ServiceAdvisor advisor : advisors)
{
registry.run("Invoking " + advisor, new Runnable()
{
public void run()
{
advisor.advise(builder);
}
});
}
return builder.build();
}