[jboss-cvs] JBossCache/src/org/jboss/cache/jmx ...
Brian Stansberry
brian.stansberry at jboss.com
Fri May 11 18:41:13 EDT 2007
User: bstansberry
Date: 07/05/11 18:41:13
Added: src/org/jboss/cache/jmx LegacyConfiguration.java
Log:
[JBCACHE-1056] Wrapper class to allow PojoCache deployment via legacy AS ServiceController
Revision Changes Path
1.1 date: 2007/05/11 22:41:13; author: bstansberry; state: Exp;JBossCache/src/org/jboss/cache/jmx/LegacyConfiguration.java
Index: LegacyConfiguration.java
===================================================================
/*
* JBoss, Home of Professional Open Source.
* Copyright 2007, Red Hat Middleware LLC, and individual contributors
* as indicated by the @author tags. See the copyright.txt file in the
* distribution for a full listing of individual contributors.
*
* This is free software; you can redistribute it and/or modify it
* under the terms of the GNU Lesser General Public License as
* published by the Free Software Foundation; either version 2.1 of
* the License, or (at your option) any later version.
*
* This software is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this software; if not, write to the Free
* Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
* 02110-1301 USA, or see the FSF site: http://www.fsf.org.
*/
package org.jboss.cache.jmx;
import javax.management.ObjectName;
import javax.transaction.TransactionManager;
import org.jboss.cache.Region;
import org.jgroups.ChannelFactory;
import org.w3c.dom.Element;
/**
* Legacy configuration attributes from JBC 1.x.
*
* @author <a href="brian.stansberry at jboss.com">Brian Stansberry</a>
* @version $Revision: 1.1 $
*/
public interface LegacyConfiguration
{
/**
* Get the name of the replication group
*/
String getClusterName();
/**
* Set the name of the replication group
*/
void setClusterName(String name);
/**
* Sets whether marshalling uses scoped class loaders on a per region basis.
* <p/>
* This property must be set to <code>true</code> before any call to
* {@link Region#registerContextClassLoader(ClassLoader)}.
*
* @param isTrue
*/
void setUseRegionBasedMarshalling(boolean isTrue);
/**
* Gets whether marshalling uses scoped class loaders on a per region basis.
*
* @return true if region based marshalling is used.
*/
boolean getUseRegionBasedMarshalling();
/**
* Gets whether the cache should create interceptor mbeans
* that are used to capture and publish interceptor statistics.
*
* @return true if mbeans should be created for each interceptor
*/
boolean getExposeManagementStatistics();
void setExposeManagementStatistics(boolean expose);
/**
* Get the cluster properties (e.g. the protocol stack specification in case of JGroups)
*/
String getClusterProperties();
/**
* Set the cluster properties. If the cache is to use the new properties, it has to be redeployed
*
* @param cluster_props The properties for the cluster (JGroups)
*/
void setClusterProperties(String cluster_props);
Element getCacheLoaderConfiguration();
void setCacheLoaderConfiguration(Element cache_loader_config);
boolean getSyncCommitPhase();
void setSyncCommitPhase(boolean sync_commit_phase);
boolean getSyncRollbackPhase();
void setSyncRollbackPhase(boolean sync_rollback_phase);
Element getEvictionPolicyConfig();
/**
* Setup eviction policy configuration
*/
void setEvictionPolicyConfig(Element config);
/**
* Convert a list of elements to the JG property string
*/
void setClusterConfig(Element config);
/**
* Get the max time to wait until the initial state is retrieved. This is used in a replicating cache: when a new cache joins the cluster, it needs to acquire the (replicated) state of the other members to initialize itself. If no state has been received within <tt>timeout</tt> milliseconds, the map will be empty.
*
* @return long Number of milliseconds to wait for the state. 0 means to wait forever.
*/
long getInitialStateRetrievalTimeout();
/**
* Set the initial state transfer timeout (see {@link #getInitialStateRetrievalTimeout()})
*/
void setInitialStateRetrievalTimeout(long timeout);
/**
* Returns the current caching mode. Valid values are <ul> <li>LOCAL <li>REPL_ASYNC <li>REPL_SYNC <ul>
*
* @return String The caching mode
*/
String getCacheMode();
/**
* Sets the default caching mode)
*/
void setCacheMode(String mode) throws Exception;
/**
* Returns the default max timeout after which synchronous replication calls return.
*
* @return long Number of milliseconds after which a sync repl call must return. 0 means to wait forever
*/
long getSyncReplTimeout();
/**
* Sets the default maximum wait time for synchronous replication to receive all results
*/
void setSyncReplTimeout(long timeout);
boolean getUseReplQueue();
void setUseReplQueue(boolean flag);
long getReplQueueInterval();
void setReplQueueInterval(long interval);
int getReplQueueMaxElements();
void setReplQueueMaxElements(int max_elements);
/**
* Returns the transaction isolation level.
*/
String getIsolationLevel();
/**
* Set the transaction isolation level. This determines the locking strategy to be used
*/
void setIsolationLevel(String level);
/**
* Returns whether or not any initial state transfer or subsequent partial
* state transfer following an <code>activateRegion</code> call should
* include in-memory state. Allows for warm/hot caches (true/false). The
* characteristics of a state transfer can be further defined by a cache
* loader's FetchPersistentState property.
*/
boolean getFetchInMemoryState();
/**
* Sets whether or not any initial or subsequent partial state transfer
* should include in-memory state.
*/
void setFetchInMemoryState(boolean flag);
/**
* Gets the format version of the data transferred during an initial state
* transfer or a call to {@link Region#activate()}. Different
* releases of JBossCache may format this data differently; this property
* identifies the format version being used by this cache instance.
* <p/>
* The default value for this property is
* {@link org.jboss.cache.config.Configuration#DEFAULT_REPLICATION_VERSION}.
* </p>
*
* @return a short identifying JBossCache release; e.g. <code>124</code>
* for JBossCache 1.2.4
*/
String getReplicationVersion();
/**
* Sets the format version of the data transferred during an initial state
* transfer or a call to {@link Region#activate()}. Different
* releases of JBossCache may format this data differently; this property
* identifies the format version being used by this cache instance. Setting
* this property to a value other than the default allows a cache instance
* from a later release to interoperate with a cache instance from an
* earlier release.
*
* @param version a short identifying JBossCache release;
* e.g. <code>124</code> for JBossCache 1.2.4
*/
void setReplicationVersion(String version);
/**
* Default max time to wait for a lock. If the lock cannot be acquired within this time, a LockingException will be thrown.
*
* @return long Max number of milliseconds to wait for a lock to be acquired
*/
long getLockAcquisitionTimeout();
/**
* Set the max time for lock acquisition. A value of 0 means to wait forever (not recomended). Note that lock acquisition timeouts may be removed in the future when we have deadlock detection.
*
* @param timeout
*/
void setLockAcquisitionTimeout(long timeout);
String getTransactionManagerLookupClass();
/**
* Sets the class of the TransactionManagerLookup impl. This will attempt to create an instance, and will throw an exception if this fails.
*
* @param cl
* @throws Exception
*/
void setTransactionManagerLookupClass(String cl) throws Exception;
TransactionManager getTransactionManager();
void setTransactionManager(TransactionManager manager);
void setNodeLockingScheme(String nodeLockingScheme);
String getNodeLockingScheme();
/**
* Gets whether the entire tree is inactive upon startup, only responding
* to replication messages after activateRegion is
* called to activate one or more parts of the tree.
* <p/>
* This property is only relevant if {@link org.jboss.cache.config.Configuration#isUseRegionBasedMarshalling()} is
* <code>true</code>.
*/
boolean isInactiveOnStartup();
/**
* Sets whether the entire tree is inactive upon startup, only responding
* to replication messages after {@link Region#activate()} is
* called to activate one or more parts of the tree.
* <p/>
* This property is only relevant if {@link org.jboss.cache.config.Configuration#isUseRegionBasedMarshalling()} is
* <code>true</code>.
*/
void setInactiveOnStartup(boolean inactiveOnStartup);
/**
* Sets the buddy replication configuration element
*
* @param config
*/
void setBuddyReplicationConfig(Element config);
/**
* Retrieves the buddy replication cofiguration element
*
* @return config
*/
Element getBuddyReplicationConfig();
/**
* Retrieves the JGroups multiplexer stack name if defined.
*
* @return the multiplexer stack name
*/
String getMultiplexerStack();
/**
* Used with JGroups multiplexer, specifies stack to be used (e.g., fc-fast-minimalthreads)
* This attribute is optional; if not provided, a default multiplexer stack will be used.
*
* @param stackName the name of the multiplexer stack
*/
void setMultiplexerStack(String stackName);
ChannelFactory getMuxChannelFactory();
void setMuxChannelFactory(ChannelFactory factory);
/**
*
* @deprecated directly inject the ChannelFactory via {@link #setMuxChannelFactory(ChannelFactory)}
*/
ObjectName getMultiplexerService();
/**
*
* @deprecated directly inject the ChannelFactory via {@link #setMuxChannelFactory(ChannelFactory)}
*/
void setMultiplexerService(ObjectName muxService);
}
More information about the jboss-cvs-commits
mailing list