001package org.apache.commons.jcs3.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.jcs3.auxiliary.remote.CommonRemoteCacheAttributes; 023import org.apache.commons.jcs3.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; 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 final static 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 final static 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 } 063 064 /** 065 * Gets the localPort attribute of the RemoteCacheAttributes object 066 * <p> 067 * @return The localPort value 068 */ 069 @Override 070 public int getServicePort() 071 { 072 return this.servicePort; 073 } 074 075 /** 076 * Sets the localPort attribute of the RemoteCacheAttributes object 077 * <p> 078 * @param p The new localPort value 079 */ 080 @Override 081 public void setServicePort( final int p ) 082 { 083 this.servicePort = p; 084 } 085 086 /** 087 * Should gets from non-cluster clients be allowed to get from other remote auxiliaries. 088 * <p> 089 * @return The localClusterConsistency value 090 */ 091 @Override 092 public boolean isAllowClusterGet() 093 { 094 return allowClusterGet; 095 } 096 097 /** 098 * Should we try to get from other cluster servers if we don't find the items locally. 099 * <p> 100 * @param r The new localClusterConsistency value 101 */ 102 @Override 103 public void setAllowClusterGet( final boolean r ) 104 { 105 allowClusterGet = r; 106 } 107 108 /** 109 * Gets the ConfigFileName attribute of the IRemoteCacheAttributes object 110 * <p> 111 * @return The clusterServers value 112 */ 113 @Override 114 public String getConfigFileName() 115 { 116 return configFileName; 117 } 118 119 /** 120 * Sets the ConfigFileName attribute of the IRemoteCacheAttributes object 121 * <p> 122 * @param s The new clusterServers value 123 */ 124 @Override 125 public void setConfigFileName( final String s ) 126 { 127 configFileName = s; 128 } 129 130 /** 131 * Should we try to keep the registry alive 132 * <p> 133 * @param useRegistryKeepAlive the useRegistryKeepAlive to set 134 */ 135 @Override 136 public void setUseRegistryKeepAlive( final boolean useRegistryKeepAlive ) 137 { 138 this.useRegistryKeepAlive = useRegistryKeepAlive; 139 } 140 141 /** 142 * Should we start the registry 143 * <p> 144 * @param startRegistry the startRegistry to set 145 * @deprecated Always true, to be removed 146 */ 147 @Deprecated 148 @Override 149 public void setStartRegistry( final 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 @Deprecated 161 @Override 162 public boolean isStartRegistry() 163 { 164 return startRegistry; 165 } 166 167 /** 168 * Should we try to keep the registry alive 169 * <p> 170 * @return the useRegistryKeepAlive 171 */ 172 @Override 173 public boolean isUseRegistryKeepAlive() 174 { 175 return useRegistryKeepAlive; 176 } 177 178 /** 179 * @param registryKeepAliveDelayMillis the registryKeepAliveDelayMillis to set 180 */ 181 @Override 182 public void setRegistryKeepAliveDelayMillis( final long registryKeepAliveDelayMillis ) 183 { 184 this.registryKeepAliveDelayMillis = registryKeepAliveDelayMillis; 185 } 186 187 /** 188 * @return the registryKeepAliveDelayMillis 189 */ 190 @Override 191 public long getRegistryKeepAliveDelayMillis() 192 { 193 return registryKeepAliveDelayMillis; 194 } 195 196 /** 197 * @return String details 198 */ 199 @Override 200 public String toString() 201 { 202 final StringBuilder buf = new StringBuilder(super.toString()); 203 buf.append( "\n servicePort = [" + this.getServicePort() + "]" ); 204 buf.append( "\n allowClusterGet = [" + this.isAllowClusterGet() + "]" ); 205 buf.append( "\n configFileName = [" + this.getConfigFileName() + "]" ); 206 buf.append( "\n rmiSocketFactoryTimeoutMillis = [" + this.getRmiSocketFactoryTimeoutMillis() + "]" ); 207 buf.append( "\n useRegistryKeepAlive = [" + this.isUseRegistryKeepAlive() + "]" ); 208 buf.append( "\n registryKeepAliveDelayMillis = [" + this.getRegistryKeepAliveDelayMillis() + "]" ); 209 buf.append( "\n eventQueueType = [" + this.getEventQueueType() + "]" ); 210 buf.append( "\n eventQueuePoolName = [" + this.getEventQueuePoolName() + "]" ); 211 return buf.toString(); 212 } 213}