package org.opendaylight.restconf.nb.rfc8040.handlers;
import java.util.Objects;
+import javax.annotation.PreDestroy;
+import javax.inject.Inject;
+import javax.inject.Singleton;
import org.opendaylight.mdsal.dom.api.DOMDataBroker;
import org.opendaylight.mdsal.dom.api.DOMDataTreeTransaction;
import org.opendaylight.mdsal.dom.api.DOMTransactionChain;
/**
* Implementation of {@link TransactionChainHandler}.
- *
*/
+@Singleton
public class TransactionChainHandler implements Handler<DOMTransactionChain>, AutoCloseable {
private static final Logger LOG = LoggerFactory.getLogger(TransactionChainHandler.class);
/**
* Prepare transaction chain service for Restconf services.
*/
+ @Inject
public TransactionChainHandler(final DOMDataBroker dataBroker) {
this.dataBroker = Objects.requireNonNull(dataBroker);
transactionChain = Objects.requireNonNull(dataBroker.createTransactionChain(transactionChainListener));
}
@Override
+ @PreDestroy
public synchronized void close() {
transactionChain.close();
}