diff --git a/client/src/main/java/org/infinispan/creson/container/AbstractContainer.java b/client/src/main/java/org/infinispan/creson/container/AbstractContainer.java index b75769a..17c2250 100644 --- a/client/src/main/java/org/infinispan/creson/container/AbstractContainer.java +++ b/client/src/main/java/org/infinispan/creson/container/AbstractContainer.java @@ -56,7 +56,7 @@ public final Object getProxy(){ public abstract void doExecute(Call call); protected Object execute(Call call) - throws InterruptedException, ExecutionException, java.util.concurrent.TimeoutException { + throws Throwable { if (log.isTraceEnabled()) log.trace(this + " Executing "+call); @@ -72,8 +72,8 @@ protected Object execute(Call call) attempts++; doExecute(call); ret = future.get(TTIMEOUT_TIME, TimeUnit.MILLISECONDS); - if (ret instanceof Throwable) - throw new ExecutionException((Throwable) ret); +// if (ret instanceof Throwable) +// throw new ExecutionException((Throwable) ret); }catch (TimeoutException e) { if (!future.isDone()) log.warn(" Failed "+ call + " ("+e.getMessage()+")"); @@ -83,6 +83,9 @@ protected Object execute(Call call) } Thread.sleep(TTIMEOUT_TIME); } + if (ret instanceof Throwable) + throw ((Throwable) ret).getCause(); + } registeredCalls.remove(call.getCallID()); diff --git a/client/src/main/java/org/infinispan/creson/container/BaseContainer.java b/client/src/main/java/org/infinispan/creson/container/BaseContainer.java index ec04db8..b16016f 100644 --- a/client/src/main/java/org/infinispan/creson/container/BaseContainer.java +++ b/client/src/main/java/org/infinispan/creson/container/BaseContainer.java @@ -164,7 +164,7 @@ public String toString() { // internals private synchronized void open() - throws InterruptedException, ExecutionException, java.util.concurrent.TimeoutException { + throws Throwable { if (!isOpen) { diff --git a/server/src/main/bin/server.sh b/server/src/main/bin/server.sh index 8bffd17..1a8a9dc 100755 --- a/server/src/main/bin/server.sh +++ b/server/src/main/bin/server.sh @@ -3,7 +3,6 @@ DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )" CLASSPATH="${DIR}/*:${DIR}/lib/*" IP="0.0.0.0" -JVM="-XX:+UseConcMarkSweepGC -Xms64m -Xmx1024m -Djava.net.preferIPv4Stack=true -Djgroups.tcp.address=${IP} -Dlog4j.configurationFile=${DIR}/log4j2.xml" EXTRA="-rf 1" if [ "$1" == "-ec2" ]; @@ -14,4 +13,5 @@ then EXTRA="-proxy ${PIP}:11222 -ec2 -rf 2" fi +JVM="-XX:+UseConcMarkSweepGC -Xms64m -Xmx1024m -Djava.net.preferIPv4Stack=true -Djgroups.tcp.address=${IP} -Dlog4j.configurationFile=${DIR}/log4j2.xml" java -cp ${CLASSPATH} ${JVM} org.infinispan.creson.Server -server ${IP}:11222 ${EXTRA} diff --git a/server/src/main/java/org/infinispan/creson/Server.java b/server/src/main/java/org/infinispan/creson/Server.java index c7f2d92..73ea101 100644 --- a/server/src/main/java/org/infinispan/creson/Server.java +++ b/server/src/main/java/org/infinispan/creson/Server.java @@ -54,6 +54,9 @@ public class Server { @Option(name = "-userLibs", usage = "directory containing the user libraries") private String userLib = userLibraries; + @Option(name = "-wt", usage = "number of HotRod worker threads") + private int workerThreads = 100; + private volatile boolean running = false; public Server() { @@ -145,7 +148,7 @@ public void doMain(String[] args) { hbuilder.proxyPort(proxyPort); } - hbuilder.workerThreads(100); + hbuilder.workerThreads(workerThreads); hbuilder.tcpNoDelay(true); final HotRodServer server = new HotRodServer();