X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-dom-broker%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fsal%2Fdom%2Fbroker%2FBrokerImpl.java;h=7998bdecdd1847f6e86bdf28c5a40efda80b6112;hb=a373371d34293ce0e436700ac328a58e9ea37f2e;hp=6cd0ebc5f838dbded2f16dac6fd5dc9eeee748a7;hpb=dceb9db7853dabfbd4abdfb3d886a79871097831;p=controller.git diff --git a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java index 6cd0ebc5f8..7998bdecdd 100644 --- a/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java +++ b/opendaylight/md-sal/sal-dom-broker/src/main/java/org/opendaylight/controller/sal/dom/broker/BrokerImpl.java @@ -38,7 +38,7 @@ import org.slf4j.Logger; import org.slf4j.LoggerFactory; public class BrokerImpl implements Broker, DOMRpcProviderService, DOMRpcService, AutoCloseable { - private final static Logger log = LoggerFactory.getLogger(BrokerImpl.class); + private static final Logger LOG = LoggerFactory.getLogger(BrokerImpl.class); // Broker Generic Context private final Set sessions = Collections @@ -79,9 +79,11 @@ public class BrokerImpl implements Broker, DOMRpcProviderService, DOMRpcService, // Validation private void checkPredicates(final Provider prov) { Preconditions.checkNotNull(prov, "Provider should not be null."); - for (final ProviderContextImpl session : providerSessions) { - if (prov.equals(session.getProvider())) { - throw new IllegalStateException("Provider already registered"); + synchronized (providerSessions) { + for (final ProviderContextImpl session : providerSessions) { + if (prov.equals(session.getProvider())) { + throw new IllegalStateException("Provider already registered"); + } } } @@ -89,9 +91,11 @@ public class BrokerImpl implements Broker, DOMRpcProviderService, DOMRpcService, private void checkPredicates(final Consumer cons) { Preconditions.checkNotNull(cons, "Consumer should not be null."); - for (final ConsumerContextImpl session : sessions) { - if (cons.equals(session.getConsumer())) { - throw new IllegalStateException("Consumer already registered"); + synchronized (sessions) { + for (final ConsumerContextImpl session : sessions) { + if (cons.equals(session.getConsumer())) { + throw new IllegalStateException("Consumer already registered"); + } } } } @@ -144,7 +148,7 @@ public class BrokerImpl implements Broker, DOMRpcProviderService, DOMRpcService, @Override public ConsumerSession registerConsumer(final Consumer consumer) { checkPredicates(consumer); - log.trace("Registering consumer {}", consumer); + LOG.trace("Registering consumer {}", consumer); final ConsumerContextImpl session = newSessionFor(consumer); consumer.onSessionInitiated(session); sessions.add(session);