1 22 23 package org.continuent.sequoia.controller.backend; 24 25 import java.sql.SQLException ; 26 27 import org.continuent.sequoia.common.log.Trace; 28 import org.continuent.sequoia.controller.recoverylog.BackendRecoveryInfo; 29 import org.continuent.sequoia.controller.recoverylog.RecoveryLog; 30 31 37 public class BackendStateListener 38 { 39 40 Trace logger = Trace.getLogger(BackendStateListener.class 41 .getName()); 42 private String virtualDatabaseName; 43 private RecoveryLog recoveryLog; 44 45 51 public BackendStateListener(String vdbName, RecoveryLog recoveryLog) 52 { 53 this.virtualDatabaseName = vdbName; 54 this.recoveryLog = recoveryLog; 55 } 56 57 63 public synchronized void stateChanged(DatabaseBackend backend) 64 { 65 try 66 { 67 recoveryLog.storeBackendRecoveryInfo(virtualDatabaseName, 68 new BackendRecoveryInfo(backend.getName(), backend 69 .getLastKnownCheckpoint(), backend.getStateValue(), 70 virtualDatabaseName)); 71 } 72 catch (SQLException e) 73 { 74 logger.error("Could not store information for backend: " 75 + backend.getName(), e); 76 } 77 } 78 } | Popular Tags |