Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
org.distributeme.test.concurrencycontrol.generated.RemoteTestServiceSkeleton Maven / Gradle / Ivy
package org.distributeme.test.concurrencycontrol.generated;
//CHECKSTYLE:OFF
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.List;
import java.util.Map;
import java.util.ArrayList;
import org.distributeme.core.Verbosity;
import org.distributeme.core.Defaults;
import org.distributeme.core.ServerSideCallContext;
import org.distributeme.core.interceptor.ServerSideRequestInterceptor;
import org.distributeme.core.interceptor.InterceptorResponse;
import org.distributeme.core.interceptor.InterceptionContext;
import org.distributeme.core.interceptor.InterceptorRegistry;
import org.distributeme.core.interceptor.InterceptionPhase;
import org.distributeme.core.concurrencycontrol.ConcurrencyControlStrategy;
import net.anotheria.moskito.core.dynamic.MoskitoInvokationProxy;
import net.anotheria.moskito.core.logging.DefaultStatsLogger;
import net.anotheria.moskito.core.logging.IntervalStatsLogger;
import net.anotheria.moskito.core.logging.SLF4JLogOutput;
import net.anotheria.moskito.core.stats.DefaultIntervals;
import net.anotheria.moskito.core.predefined.ServiceStatsCallHandler;
import net.anotheria.moskito.core.predefined.ServiceStatsFactory;
import net.anotheria.moskito.core.registry.IProducerRegistryAPI;
import net.anotheria.moskito.core.registry.ProducerRegistryAPIFactory;
import net.anotheria.moskito.core.producers.IStatsProducer;
// Generated by org.distributeme.generator.SkeletonGenerator
public class RemoteTestServiceSkeleton implements RemoteTestService {
private static Logger log = LoggerFactory.getLogger(RemoteTestServiceSkeleton.class);
private org.distributeme.test.concurrencycontrol.TestService implementation;
private long lastAccess;
private long created;
// CONCURRENCY CONTROL
// Class wide concurrency control strategy
private ConcurrencyControlStrategy clazzWideCCStrategy = createConcurrencyControlStrategy5();
private ConcurrencyControlStrategy clientSideLimitedCCStrategy_longparameter = createConcurrencyControlStrategy6();
private ConcurrencyControlStrategy serverSideLimitedCCStrategy_longparameter = createConcurrencyControlStrategy7();
private ConcurrencyControlStrategy bothSideLimitedCCStrategy_longparameter = createConcurrencyControlStrategy8();
private ConcurrencyControlStrategy clazzLevelServerSideLimitedCCStrategy_longparameter = clazzWideCCStrategy;
private ConcurrencyControlStrategy printAndResetStatsCCStrategy = clazzWideCCStrategy;
private ConcurrencyControlStrategy printStatsCCStrategy = clazzWideCCStrategy;
// CONCURRENCY CONTROL end
public RemoteTestServiceSkeleton(){
this(null);
}
public RemoteTestServiceSkeleton(org.distributeme.test.concurrencycontrol.TestService anImplementation){
created = System.currentTimeMillis();
MoskitoInvokationProxy proxy = new MoskitoInvokationProxy(
anImplementation,
new ServiceStatsCallHandler(),
new ServiceStatsFactory(),
"TestService",
"service",
"default",
org.distributeme.test.concurrencycontrol.TestService.class, net.anotheria.anoprise.metafactory.Service.class
);
implementation = (org.distributeme.test.concurrencycontrol.TestService) proxy.createProxy();
// add moskito logger
new DefaultStatsLogger(proxy.getProducer(), new SLF4JLogOutput(LoggerFactory.getLogger("moskito.custom.default")));
new IntervalStatsLogger(proxy.getProducer(), DefaultIntervals.FIVE_MINUTES, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.custom.5m")));
new IntervalStatsLogger(proxy.getProducer(), DefaultIntervals.FIFTEEN_MINUTES, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.custom.15m")));
new IntervalStatsLogger(proxy.getProducer(), DefaultIntervals.ONE_HOUR, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.custom.1h")));
new IntervalStatsLogger(proxy.getProducer(), DefaultIntervals.ONE_DAY, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.custom.1d")));
//end moskito logger
// //ADD LOGGING FOR ALL BUILTIN PRODUCERS
IProducerRegistryAPI api = new ProducerRegistryAPIFactory().createProducerRegistryAPI();
List stats = api.getAllProducersBySubsystem("builtin");
for (IStatsProducer producer : stats){
new DefaultStatsLogger(producer, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.bi.default")));
new IntervalStatsLogger(producer, DefaultIntervals.FIVE_MINUTES, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.bi.5m")));
new IntervalStatsLogger(producer, DefaultIntervals.FIFTEEN_MINUTES, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.bi.15m")));
new IntervalStatsLogger(producer, DefaultIntervals.ONE_HOUR, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.bi.1h")));
new IntervalStatsLogger(producer, DefaultIntervals.ONE_DAY, new SLF4JLogOutput(LoggerFactory.getLogger("moskito.bi.1d")));
}
}
public List clientSideLimited(long parameter, Map,?> __transportableCallContext){
lastAccess = System.currentTimeMillis();
ServerSideCallContext diMeCallContext = new ServerSideCallContext("clientSideLimited", __transportableCallContext);
diMeCallContext.setServiceId(TestServiceConstants.getServiceId());
ArrayList diMeParameters = new ArrayList();
diMeParameters.add(parameter);
diMeCallContext.setParameters(diMeParameters);
InterceptionContext diMeInterceptionContext = new InterceptionContext();
// Initialize interceptors
List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();
ArrayList __return = new ArrayList();
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
// Concurrency control, server side -
clientSideLimitedCCStrategy_longparameter.notifyServerSideCallStarted(diMeCallContext);
try{
Object __result = implementation.clientSideLimited(parameter);
__return.add(__result);
diMeInterceptionContext.setReturnValue(__result);
__return.add(diMeCallContext.getTransportableCallContext());
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
return __return;
}finally{
clientSideLimitedCCStrategy_longparameter.notifyServerSideCallFinished(diMeCallContext);
}
}
public List serverSideLimited(long parameter, Map,?> __transportableCallContext){
lastAccess = System.currentTimeMillis();
ServerSideCallContext diMeCallContext = new ServerSideCallContext("serverSideLimited", __transportableCallContext);
diMeCallContext.setServiceId(TestServiceConstants.getServiceId());
ArrayList diMeParameters = new ArrayList();
diMeParameters.add(parameter);
diMeCallContext.setParameters(diMeParameters);
InterceptionContext diMeInterceptionContext = new InterceptionContext();
// Initialize interceptors
List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();
ArrayList __return = new ArrayList();
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
// Concurrency control, server side -
serverSideLimitedCCStrategy_longparameter.notifyServerSideCallStarted(diMeCallContext);
try{
Object __result = implementation.serverSideLimited(parameter);
__return.add(__result);
diMeInterceptionContext.setReturnValue(__result);
__return.add(diMeCallContext.getTransportableCallContext());
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
return __return;
}finally{
serverSideLimitedCCStrategy_longparameter.notifyServerSideCallFinished(diMeCallContext);
}
}
public List bothSideLimited(long parameter, Map,?> __transportableCallContext){
lastAccess = System.currentTimeMillis();
ServerSideCallContext diMeCallContext = new ServerSideCallContext("bothSideLimited", __transportableCallContext);
diMeCallContext.setServiceId(TestServiceConstants.getServiceId());
ArrayList diMeParameters = new ArrayList();
diMeParameters.add(parameter);
diMeCallContext.setParameters(diMeParameters);
InterceptionContext diMeInterceptionContext = new InterceptionContext();
// Initialize interceptors
List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();
ArrayList __return = new ArrayList();
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
// Concurrency control, server side -
bothSideLimitedCCStrategy_longparameter.notifyServerSideCallStarted(diMeCallContext);
try{
Object __result = implementation.bothSideLimited(parameter);
__return.add(__result);
diMeInterceptionContext.setReturnValue(__result);
__return.add(diMeCallContext.getTransportableCallContext());
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
return __return;
}finally{
bothSideLimitedCCStrategy_longparameter.notifyServerSideCallFinished(diMeCallContext);
}
}
public List clazzLevelServerSideLimited(long parameter, Map,?> __transportableCallContext){
lastAccess = System.currentTimeMillis();
ServerSideCallContext diMeCallContext = new ServerSideCallContext("clazzLevelServerSideLimited", __transportableCallContext);
diMeCallContext.setServiceId(TestServiceConstants.getServiceId());
ArrayList diMeParameters = new ArrayList();
diMeParameters.add(parameter);
diMeCallContext.setParameters(diMeParameters);
InterceptionContext diMeInterceptionContext = new InterceptionContext();
// Initialize interceptors
List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();
ArrayList __return = new ArrayList();
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
// Concurrency control, server side -
clazzLevelServerSideLimitedCCStrategy_longparameter.notifyServerSideCallStarted(diMeCallContext);
try{
Object __result = implementation.clazzLevelServerSideLimited(parameter);
__return.add(__result);
diMeInterceptionContext.setReturnValue(__result);
__return.add(diMeCallContext.getTransportableCallContext());
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
return __return;
}finally{
clazzLevelServerSideLimitedCCStrategy_longparameter.notifyServerSideCallFinished(diMeCallContext);
}
}
public List printAndResetStats(Map,?> __transportableCallContext){
lastAccess = System.currentTimeMillis();
ServerSideCallContext diMeCallContext = new ServerSideCallContext("printAndResetStats", __transportableCallContext);
diMeCallContext.setServiceId(TestServiceConstants.getServiceId());
ArrayList diMeParameters = new ArrayList();
diMeCallContext.setParameters(diMeParameters);
InterceptionContext diMeInterceptionContext = new InterceptionContext();
// Initialize interceptors
List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();
ArrayList __return = new ArrayList();
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
// Concurrency control, server side -
printAndResetStatsCCStrategy.notifyServerSideCallStarted(diMeCallContext);
try{
implementation.printAndResetStats();
__return.add(org.distributeme.core.util.VoidMarker.VOID);
__return.add(diMeCallContext.getTransportableCallContext());
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
return __return;
}finally{
printAndResetStatsCCStrategy.notifyServerSideCallFinished(diMeCallContext);
}
}
public List printStats(Map,?> __transportableCallContext){
lastAccess = System.currentTimeMillis();
ServerSideCallContext diMeCallContext = new ServerSideCallContext("printStats", __transportableCallContext);
diMeCallContext.setServiceId(TestServiceConstants.getServiceId());
ArrayList diMeParameters = new ArrayList();
diMeCallContext.setParameters(diMeParameters);
InterceptionContext diMeInterceptionContext = new InterceptionContext();
// Initialize interceptors
List diMeInterceptors = InterceptorRegistry.getInstance().getServerSideRequestInterceptors();
ArrayList __return = new ArrayList();
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.BEFORE_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.beforeServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
// Concurrency control, server side -
printStatsCCStrategy.notifyServerSideCallStarted(diMeCallContext);
try{
implementation.printStats();
__return.add(org.distributeme.core.util.VoidMarker.VOID);
__return.add(diMeCallContext.getTransportableCallContext());
diMeInterceptionContext.setCurrentPhase(InterceptionPhase.AFTER_SERVANT_CALL);
for (ServerSideRequestInterceptor interceptor : diMeInterceptors){
InterceptorResponse interceptorResponse = interceptor.afterServantCall(diMeCallContext, diMeInterceptionContext);
switch(interceptorResponse.getCommand()){
case ABORT:
if (interceptorResponse.getException() instanceof RuntimeException)
throw (RuntimeException) interceptorResponse.getException();
throw new RuntimeException("Interceptor exception",interceptorResponse.getException());
case RETURN:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case OVERWRITE_RETURN_AND_CONTINUE:
__return.set(0, interceptorResponse.getReturnValue());
diMeInterceptionContext.setReturnValue(interceptorResponse.getReturnValue());
break;
case CONTINUE:
break;
} //...switch
} //...for
return __return;
}finally{
printStatsCCStrategy.notifyServerSideCallFinished(diMeCallContext);
}
}
// Service adapter methods
public long getCreationTimestamp(){ return created; }
public long getLastAccessTimestamp(){ return lastAccess; }
private ConcurrencyControlStrategy createConcurrencyControlStrategy5(){
ConcurrencyControlStrategy strat = new org.distributeme.core.concurrencycontrol.ConstantBasedConcurrencyControlStrategy();
strat.customize("0,5");
return strat;
}
private ConcurrencyControlStrategy createConcurrencyControlStrategy6(){
ConcurrencyControlStrategy strat = new org.distributeme.core.concurrencycontrol.ConstantBasedConcurrencyControlStrategy();
strat.customize("3,0");
return strat;
}
private ConcurrencyControlStrategy createConcurrencyControlStrategy7(){
ConcurrencyControlStrategy strat = new org.distributeme.core.concurrencycontrol.ConstantBasedConcurrencyControlStrategy();
strat.customize("0,5");
return strat;
}
private ConcurrencyControlStrategy createConcurrencyControlStrategy8(){
ConcurrencyControlStrategy strat = new org.distributeme.core.concurrencycontrol.ConstantBasedConcurrencyControlStrategy();
strat.customize("4,5");
return strat;
}
}