1 24 25 package org.continuent.sequoia.controller.virtualdatabase.protocol; 26 27 import java.io.Serializable ; 28 import java.util.List ; 29 30 import org.continuent.hedera.common.Member; 31 import org.continuent.sequoia.common.jmx.management.BackendInfo; 32 import org.continuent.sequoia.controller.backend.DatabaseBackend; 33 import org.continuent.sequoia.controller.requestmanager.distributed.DistributedRequestManager; 34 import org.continuent.sequoia.controller.virtualdatabase.DistributedVirtualDatabase; 35 36 42 public class BackendStatus extends DistributedVirtualDatabaseMessage 43 { 44 private static final long serialVersionUID = -537987250588460222L; 45 46 private List backendList; 47 private long controllerId; 48 49 56 public BackendStatus(List backends, long controllerId) 57 { 58 backendList = backends; 59 this.controllerId = controllerId; 60 } 61 62 67 public List getBackendInfos() 68 { 69 return backendList; 70 } 71 72 77 public final long getControllerId() 78 { 79 return controllerId; 80 } 81 82 86 public Object handleMessageSingleThreaded(DistributedVirtualDatabase dvdb, 87 Member sender) 88 { 89 return null; 90 } 91 92 96 public Serializable handleMessageMultiThreaded( 97 DistributedVirtualDatabase dvdb, Member sender, 98 Object handleMessageSingleThreadedResult) 99 { 100 List remoteBackends = BackendInfo.toDatabaseBackends(dvdb, backendList); 102 dvdb.addRemoteControllerId(sender, controllerId); 103 dvdb.addBackendPerController(sender, remoteBackends); 104 return new BackendStatus( 105 DatabaseBackend.toBackendInfos(dvdb.getBackends()), 106 ((DistributedRequestManager) dvdb.getRequestManager()) 107 .getControllerId()); 108 } 109 110 } | Popular Tags |