if (b instanceof PojoBinding) {
realBinding = ((PojoBinding)b).getUserBinding();
} else {
realBinding = b;
}
final BindingActivator bindingActivator = bindingActivatorMap.get(realBinding.getClass());
return new ReferenceBindingProvider() {
List<InvokerProxy> invokers = new ArrayList<InvokerProxy>();
private InvokerFactory factory;
public Invoker createInvoker(Operation operation) {
InvokerProxy invoker = new InvokerProxy(factory, operation);
invokers.add(invoker);
return invoker;
}
public boolean supportsOneWayInvocation() {
return false;
}
public InterfaceContract getBindingInterfaceContract() {
return null;
}
public void start() {
if (b instanceof PojoBinding) {
factory = bindingActivator.createInvokerFactory(rc, rcr, b, ((PojoBinding)b).getUserBinding());
} else {
factory = bindingActivator.createInvokerFactory(rc, rcr, b, b);
}
if ( (factory != null) && (factory instanceof ComponentLifecycle)) {
((ComponentLifecycle)factory).start();
}
// for (InvokerProxy invoker : invokers) {