001package org.apache.commons.jcs.auxiliary.remote.server; 002 003/* 004 * Licensed to the Apache Software Foundation (ASF) under one 005 * or more contributor license agreements. See the NOTICE file 006 * distributed with this work for additional information 007 * regarding copyright ownership. The ASF licenses this file 008 * to you under the Apache License, Version 2.0 (the 009 * "License"); you may not use this file except in compliance 010 * with the License. You may obtain a copy of the License at 011 * 012 * http://www.apache.org/licenses/LICENSE-2.0 013 * 014 * Unless required by applicable law or agreed to in writing, 015 * software distributed under the License is distributed on an 016 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 017 * KIND, either express or implied. See the License for the 018 * specific language governing permissions and limitations 019 * under the License. 020 */ 021 022import org.apache.commons.jcs.auxiliary.remote.CommonRemoteCacheAttributes; 023import org.apache.commons.jcs.auxiliary.remote.server.behavior.IRemoteCacheServerAttributes; 024 025/** 026 * These attributes are used to configure the remote cache server. 027 */ 028public class RemoteCacheServerAttributes 029 extends CommonRemoteCacheAttributes 030 implements IRemoteCacheServerAttributes 031{ 032 /** Don't change */ 033 private static final long serialVersionUID = -2741662082869155365L; 034 035 /** port the server will listen to */ 036 private int servicePort = 0; 037 038 /** Can a cluster remote get from other remotes */ 039 private boolean allowClusterGet = true; 040 041 /** The config file, the initialization is multistage. Remote cache then composite cache. */ 042 private String configFileName = ""; 043 044 /** Should we start the registry */ 045 private boolean DEFAULT_START_REGISTRY = true; 046 047 /** Should we start the registry */ 048 private boolean startRegistry = DEFAULT_START_REGISTRY; 049 050 /** Should we try to keep the registry alive */ 051 private boolean DEFAULT_USE_REGISTRY_KEEP_ALIVE = true; 052 053 /** Should we try to keep the registry alive */ 054 private boolean useRegistryKeepAlive = DEFAULT_USE_REGISTRY_KEEP_ALIVE; 055 056 /** The delay between runs */ 057 private long registryKeepAliveDelayMillis = 15 * 1000; 058 059 /** Default constructor for the RemoteCacheAttributes object */ 060 public RemoteCacheServerAttributes() 061 { 062 super(); 063 } 064 065 /** 066 * Gets the localPort attribute of the RemoteCacheAttributes object 067 * <p> 068 * @return The localPort value 069 */ 070 @Override 071 public int getServicePort() 072 { 073 return this.servicePort; 074 } 075 076 /** 077 * Sets the localPort attribute of the RemoteCacheAttributes object 078 * <p> 079 * @param p The new localPort value 080 */ 081 @Override 082 public void setServicePort( int p ) 083 { 084 this.servicePort = p; 085 } 086 087 /** 088 * Should gets from non-cluster clients be allowed to get from other remote auxiliaries. 089 * <p> 090 * @return The localClusterConsistency value 091 */ 092 @Override 093 public boolean isAllowClusterGet() 094 { 095 return allowClusterGet; 096 } 097 098 /** 099 * Should we try to get from other cluster servers if we don't find the items locally. 100 * <p> 101 * @param r The new localClusterConsistency value 102 */ 103 @Override 104 public void setAllowClusterGet( boolean r ) 105 { 106 allowClusterGet = r; 107 } 108 109 /** 110 * Gets the ConfigFileName attribute of the IRemoteCacheAttributes object 111 * <p> 112 * @return The clusterServers value 113 */ 114 @Override 115 public String getConfigFileName() 116 { 117 return configFileName; 118 } 119 120 /** 121 * Sets the ConfigFileName attribute of the IRemoteCacheAttributes object 122 * <p> 123 * @param s The new clusterServers value 124 */ 125 @Override 126 public void setConfigFileName( String s ) 127 { 128 configFileName = s; 129 } 130 131 /** 132 * Should we try to keep the registry alive 133 * <p> 134 * @param useRegistryKeepAlive the useRegistryKeepAlive to set 135 */ 136 @Override 137 public void setUseRegistryKeepAlive( boolean useRegistryKeepAlive ) 138 { 139 this.useRegistryKeepAlive = useRegistryKeepAlive; 140 } 141 142 /** 143 * Should we start the registry 144 * <p> 145 * @param startRegistry the startRegistry to set 146 * @deprecated Always true, to be removed 147 */ 148 @Override 149 public void setStartRegistry( boolean startRegistry ) 150 { 151 this.startRegistry = startRegistry; 152 } 153 154 /** 155 * Should we start the registry 156 * <p> 157 * @return the startRegistry 158 * @deprecated Always true, to be removed 159 */ 160 @Override 161 public boolean isStartRegistry() 162 { 163 return startRegistry; 164 } 165 166 /** 167 * Should we try to keep the registry alive 168 * <p> 169 * @return the useRegistryKeepAlive 170 */ 171 @Override 172 public boolean isUseRegistryKeepAlive() 173 { 174 return useRegistryKeepAlive; 175 } 176 177 /** 178 * @param registryKeepAliveDelayMillis the registryKeepAliveDelayMillis to set 179 */ 180 @Override 181 public void setRegistryKeepAliveDelayMillis( long registryKeepAliveDelayMillis ) 182 { 183 this.registryKeepAliveDelayMillis = registryKeepAliveDelayMillis; 184 } 185 186 /** 187 * @return the registryKeepAliveDelayMillis 188 */ 189 @Override 190 public long getRegistryKeepAliveDelayMillis() 191 { 192 return registryKeepAliveDelayMillis; 193 } 194 195 /** 196 * @return String details 197 */ 198 @Override 199 public String toString() 200 { 201 StringBuilder buf = new StringBuilder(super.toString()); 202 buf.append( "\n servicePort = [" + this.getServicePort() + "]" ); 203 buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" ); 204 buf.append( "\n configFileName = [" + this.getConfigFileName() + "]" ); 205 buf.append( "\n rmiSocketFactoryTimeoutMillis = [" + this.getRmiSocketFactoryTimeoutMillis() + "]" ); 206 buf.append( "\n useRegistryKeepAlive = [" + this.isUseRegistryKeepAlive() + "]" ); 207 buf.append( "\n registryKeepAliveDelayMillis = [" + this.getRegistryKeepAliveDelayMillis() + "]" ); 208 buf.append( "\n eventQueueType = [" + this.getEventQueueType() + "]" ); 209 buf.append( "\n eventQueuePoolName = [" + this.getEventQueuePoolName() + "]" ); 210 return buf.toString(); 211 } 212}