X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-common-impl%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fmd%2Fsal%2Fcommon%2Fimpl%2Fservice%2FAbstractDataBroker.xtend;h=7c6f52f110fd1771650c9670c43a8136d8999a2b;hp=2c3b0188f48096d34ea45485fe34ec1a1711efe1;hb=3948bedd0129e44c0943bd77c91806425645cd72;hpb=6fd408a04fe4a3611843e2246ece6d7c34b76903;ds=sidebyside diff --git a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend index 2c3b0188f4..7c6f52f110 100644 --- a/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend +++ b/opendaylight/md-sal/sal-common-impl/src/main/java/org/opendaylight/controller/md/sal/common/impl/service/AbstractDataBroker.xtend @@ -332,21 +332,23 @@ package class TwoPhaseCommit

, D, DCL extends DataChangeListene } def void publishDataChangeEvent(ImmutableList> listeners) { - for (listenerSet : listeners) { - val updatedConfiguration = dataBroker.readConfigurationData(listenerSet.path); - val updatedOperational = dataBroker.readOperationalData(listenerSet.path); - - val changeEvent = new DataChangeEventImpl(transaction, listenerSet.initialConfigurationState, - listenerSet.initialOperationalState, updatedOperational, updatedConfiguration); - for (listener : listenerSet.listeners) { - try { - listener.instance.onDataChanged(changeEvent); - - } catch (Exception e) { - e.printStackTrace(); - } - } - } + dataBroker.executor.submit [| + for (listenerSet : listeners) { + val updatedConfiguration = dataBroker.readConfigurationData(listenerSet.path); + val updatedOperational = dataBroker.readOperationalData(listenerSet.path); + + val changeEvent = new DataChangeEventImpl(transaction, listenerSet.initialConfigurationState, + listenerSet.initialOperationalState, updatedOperational, updatedConfiguration); + for (listener : listenerSet.listeners) { + try { + listener.instance.onDataChanged(changeEvent); + + } catch (Exception e) { + e.printStackTrace(); + } + } + } + ] } def rollback(List> transactions, Exception e) {