X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-binding-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fbinding%2Fcodegen%2Fimpl%2FAbstractRuntimeCodeGenerator.java;h=1fa54be2005b06d0be70226ac4abd30625f8a8bb;hb=a449700f10ad3733d64555510d5d6b8012c9deaf;hp=86003b2aedc2344e86244134ea7870e83cfcd7c6;hpb=1d5ba4a98412a83dc83a6151ef7fea2289f33fdb;p=controller.git diff --git a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/AbstractRuntimeCodeGenerator.java b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/AbstractRuntimeCodeGenerator.java index 86003b2aed..1fa54be200 100644 --- a/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/AbstractRuntimeCodeGenerator.java +++ b/opendaylight/md-sal/sal-binding-broker/src/main/java/org/opendaylight/controller/sal/binding/codegen/impl/AbstractRuntimeCodeGenerator.java @@ -136,22 +136,17 @@ abstract class AbstractRuntimeCodeGenerator implements org.opendaylight.controll return invoker; } - utils.getLock().lock(); - try { - synchronized (utils) { - invoker = ClassLoaderUtils.withClassLoader(cls.getClassLoader(), new Supplier() { - @Override - public RuntimeGeneratedInvokerPrototype get() { - return generateListenerInvoker(cls); - } - }); - } - - invokerClasses.put(cls, invoker); - return invoker; - } finally { - utils.getLock().unlock(); + synchronized (utils) { + invoker = ClassLoaderUtils.withClassLoader(cls.getClassLoader(), new Supplier() { + @Override + public RuntimeGeneratedInvokerPrototype get() { + return generateListenerInvoker(cls); + } + }); } + + invokerClasses.put(cls, invoker); + return invoker; } @Override @@ -161,13 +156,8 @@ abstract class AbstractRuntimeCodeGenerator implements org.opendaylight.controll @Override public final T getDirectProxyFor(final Class serviceType) { - utils.getLock().lock(); - try { - synchronized (utils) { - return ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), directProxySupplier(serviceType)); - } - } finally { - utils.getLock().unlock(); + synchronized (utils) { + return ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), directProxySupplier(serviceType)); } } @@ -184,14 +174,9 @@ abstract class AbstractRuntimeCodeGenerator implements org.opendaylight.controll } }); - utils.getLock().lock(); - try { - synchronized (utils) { - final T instance = ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), routerSupplier(serviceType, metadata)); - return new RpcRouterCodegenInstance(name, serviceType, instance, metadata.getContexts()); - } - } finally { - utils.getLock().unlock(); + synchronized (utils) { + final T instance = ClassLoaderUtils.withClassLoader(serviceType.getClassLoader(), routerSupplier(serviceType, metadata)); + return new RpcRouterCodegenInstance(name, serviceType, instance, metadata.getContexts()); } }