| package org.apache.commons.jcs.auxiliary.remote.behavior; |
| |
| import java.util.List; |
| |
| import org.apache.commons.jcs.auxiliary.remote.RemoteLocation; |
| |
| /* |
| * Licensed to the Apache Software Foundation (ASF) under one |
| * or more contributor license agreements. See the NOTICE file |
| * distributed with this work for additional information |
| * regarding copyright ownership. The ASF licenses this file |
| * to you under the Apache License, Version 2.0 (the |
| * "License"); you may not use this file except in compliance |
| * with the License. You may obtain a copy of the License at |
| * |
| * http://www.apache.org/licenses/LICENSE-2.0 |
| * |
| * Unless required by applicable law or agreed to in writing, |
| * software distributed under the License is distributed on an |
| * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY |
| * KIND, either express or implied. See the License for the |
| * specific language governing permissions and limitations |
| * under the License. |
| */ |
| |
| /** |
| * This specifies what a remote cache configuration object should look like. |
| */ |
| public interface IRemoteCacheAttributes |
| extends ICommonRemoteCacheAttributes |
| { |
| /** |
| * If RECEIVE is false then the remote cache will not register a listener with the remote |
| * server. This allows you to configure a remote server as a repository from which you can get |
| * and to which you put, but from which you do not receive any notifications. That is, you will |
| * not receive updates or removes. |
| * <p> |
| * If you set this option to false, you should set your local memory size to 0. |
| */ |
| boolean DEFAULT_RECEIVE = true; |
| |
| /** |
| * The number of elements the zombie queue will hold. This queue is used to store events if we |
| * loose our connection with the server. |
| */ |
| int DEFAULT_ZOMBIE_QUEUE_MAX_SIZE = 1000; |
| |
| /** |
| * Gets the failoverIndex attribute of the IRemoteCacheAttributes object. |
| * <p> |
| * This specifies which server in the list we are listening to if the number is greater than 0 |
| * we will try to move to 0 position the primary is added as position 1 if it is present |
| * <p> |
| * @return The failoverIndex value |
| */ |
| int getFailoverIndex(); |
| |
| /** |
| * Sets the failoverIndex attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @param p The new failoverIndex value |
| */ |
| void setFailoverIndex( int p ); |
| |
| /** |
| * Gets the failovers attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @return The failovers value |
| */ |
| List<RemoteLocation> getFailovers(); |
| |
| /** |
| * Sets the failovers attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @param failovers The new failovers value |
| */ |
| void setFailovers( List<RemoteLocation> failovers ); |
| |
| /** |
| * Gets the localPort attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @return The localPort value |
| */ |
| int getLocalPort(); |
| |
| /** |
| * Sets the localPort attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @param p The new localPort value |
| */ |
| void setLocalPort( int p ); |
| |
| /** |
| * Gets the failoverServers attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @return The failoverServers value |
| */ |
| String getFailoverServers(); |
| |
| /** |
| * Sets the failoverServers attribute of the IRemoteCacheAttributes object |
| * <p> |
| * @param s The new failoverServers value |
| */ |
| void setFailoverServers( String s ); |
| |
| /** |
| * The thread pool the remote cache should use. At first this will only be for gets. |
| * <p> |
| * The default name is "remote_cache_client" |
| * <p> |
| * @return the name of the pool |
| */ |
| String getThreadPoolName(); |
| |
| /** |
| * Set the name of the pool to use. Pools should be defined in the cache.ccf. |
| * <p> |
| * @param name |
| */ |
| void setThreadPoolName( String name ); |
| |
| /** |
| * -1 and 0 mean no timeout, this is the default if the timeout is -1 or 0, no threadpool will |
| * be used. |
| * <p> |
| * @return the time in millis |
| */ |
| int getGetTimeoutMillis(); |
| |
| /** |
| * -1 means no timeout, this is the default if the timeout is -1 or 0, no threadpool will be |
| * used. If the timeout is greater than 0 a threadpool will be used for get requests. |
| * <p> |
| * @param millis |
| */ |
| void setGetTimeoutMillis( int millis ); |
| |
| /** |
| * By default this option is true. If you set it to false, you will not receive updates or |
| * removes from the remote server. |
| * <p> |
| * @param receive |
| */ |
| void setReceive( boolean receive ); |
| |
| /** |
| * If RECEIVE is false then the remote cache will not register a listener with the remote |
| * server. This allows you to configure a remote server as a repository from which you can get |
| * and to which you put, but from which you do not receive any notifications. That is, you will |
| * not receive updates or removes. |
| * <p> |
| * If you set this option to false, you should set your local memory size to 0. |
| * <p> |
| * The remote cache manager uses this value to decide whether or not to register a listener. |
| * <p> |
| * It makes no sense to configure a cluster remote cache to no receive. |
| * <p> |
| * Since a non-receiving remote cache client will not register a listener, it will not have a |
| * listener id assigned from the server. As such the remote server cannot determine if it is a |
| * cluster or a normal client. It will assume that it is a normal client. |
| * <p> |
| * @return the receive value. |
| */ |
| boolean isReceive(); |
| |
| /** |
| * The number of elements the zombie queue will hold. This queue is used to store events if we |
| * loose our connection with the server. |
| * <p> |
| * @param zombieQueueMaxSize The zombieQueueMaxSize to set. |
| */ |
| void setZombieQueueMaxSize( int zombieQueueMaxSize ); |
| |
| /** |
| * The number of elements the zombie queue will hold. This queue is used to store events if we |
| * loose our connection with the server. |
| * <p> |
| * @return Returns the zombieQueueMaxSize. |
| */ |
| int getZombieQueueMaxSize(); |
| } |