X-Git-Url: https://git.opendaylight.org/gerrit/gitweb?p=controller.git;a=blobdiff_plain;f=opendaylight%2Fmd-sal%2Fsal-clustering-commons%2Fsrc%2Fmain%2Fjava%2Forg%2Fopendaylight%2Fcontroller%2Fcluster%2Fcommon%2Factor%2FAbstractUntypedPersistentActor.java;h=432c2d5615227d7d67f856bef6215fd550053084;hp=36b2866210cadb84d9db0ab28c5a8137236254a7;hb=b5e3b3f436f8534ddb6c7f326ccbef995b96ddc3;hpb=b3e553ce5b3d3e972cbe19465ab7af2fcb39934c diff --git a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/AbstractUntypedPersistentActor.java b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/AbstractUntypedPersistentActor.java index 36b2866210..432c2d5615 100644 --- a/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/AbstractUntypedPersistentActor.java +++ b/opendaylight/md-sal/sal-clustering-commons/src/main/java/org/opendaylight/controller/cluster/common/actor/AbstractUntypedPersistentActor.java @@ -8,18 +8,20 @@ package org.opendaylight.controller.cluster.common.actor; -import akka.event.Logging; -import akka.event.LoggingAdapter; +import akka.japi.Procedure; +import akka.persistence.SnapshotSelectionCriteria; import akka.persistence.UntypedPersistentActor; +import org.opendaylight.controller.cluster.DataPersistenceProvider; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; public abstract class AbstractUntypedPersistentActor extends UntypedPersistentActor { - protected final LoggingAdapter LOG = - Logging.getLogger(getContext().system(), this); + protected final Logger LOG = LoggerFactory.getLogger(getClass()); public AbstractUntypedPersistentActor() { - if(LOG.isDebugEnabled()) { - LOG.debug("Actor created {}", getSelf()); + if(LOG.isTraceEnabled()) { + LOG.trace("Actor created {}", getSelf()); } getContext(). system(). @@ -31,24 +33,24 @@ public abstract class AbstractUntypedPersistentActor extends UntypedPersistentAc @Override public void onReceiveCommand(Object message) throws Exception { final String messageType = message.getClass().getSimpleName(); - if(LOG.isDebugEnabled()) { - LOG.debug("Received message {}", messageType); + if(LOG.isTraceEnabled()) { + LOG.trace("Received message {}", messageType); } handleCommand(message); - if(LOG.isDebugEnabled()) { - LOG.debug("Done handling message {}", messageType); + if(LOG.isTraceEnabled()) { + LOG.trace("Done handling message {}", messageType); } } @Override public void onReceiveRecover(Object message) throws Exception { final String messageType = message.getClass().getSimpleName(); - if(LOG.isDebugEnabled()) { - LOG.debug("Received message {}", messageType); + if(LOG.isTraceEnabled()) { + LOG.trace("Received message {}", messageType); } handleRecover(message); - if(LOG.isDebugEnabled()) { - LOG.debug("Done handling message {}", messageType); + if(LOG.isTraceEnabled()) { + LOG.trace("Done handling message {}", messageType); } } @@ -67,4 +69,71 @@ public abstract class AbstractUntypedPersistentActor extends UntypedPersistentAc } unhandled(message); } + + protected class PersistentDataProvider implements DataPersistenceProvider { + + public PersistentDataProvider(){ + + } + + @Override + public boolean isRecoveryApplicable() { + return true; + } + + @Override + public void persist(T o, Procedure procedure) { + AbstractUntypedPersistentActor.this.persist(o, procedure); + } + + @Override + public void saveSnapshot(Object o) { + AbstractUntypedPersistentActor.this.saveSnapshot(o); + } + + @Override + public void deleteSnapshots(SnapshotSelectionCriteria criteria) { + AbstractUntypedPersistentActor.this.deleteSnapshots(criteria); + } + + @Override + public void deleteMessages(long sequenceNumber) { + AbstractUntypedPersistentActor.this.deleteMessages(sequenceNumber); + } + } + + protected class NonPersistentDataProvider implements DataPersistenceProvider { + + public NonPersistentDataProvider(){ + + } + + @Override + public boolean isRecoveryApplicable() { + return false; + } + + @Override + public void persist(T o, Procedure procedure) { + try { + procedure.apply(o); + } catch (Exception e) { + LOG.error("An unexpected error occurred", e); + } + } + + @Override + public void saveSnapshot(Object o) { + } + + @Override + public void deleteSnapshots(SnapshotSelectionCriteria criteria) { + + } + + @Override + public void deleteMessages(long sequenceNumber) { + + } + } }