From 8dcbf0ae38a4233b854a6ed1f44813e04b289790 Mon Sep 17 00:00:00 2001 From: Hailin Date: Tue, 28 May 2013 10:20:01 +0800 Subject: [PATCH 1/5] Fix pom setting --- server/pom.xml | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/server/pom.xml b/server/pom.xml index ebb0e04..3090c04 100644 --- a/server/pom.xml +++ b/server/pom.xml @@ -1,12 +1,20 @@ 4.0.0 - com.bj58.spat + com.bj58.spat.gaea com.bj58.spat.gaea.server.contract 1.0.0 gaea.server + + com.bj58.spat + json + 1.1.0 + system + ${project.basedir}/lib/com.bj58.spat.json-1.1.0.jar + + commons-logging commons-logging @@ -39,13 +47,13 @@ - com.bj58.spat + com.bj58.spat.gaea com.bj58.spat.gaea.serializer 1.0.0 - com.bj58.spat + com.bj58.spat.gaea com.bj58.spat.gaea.protocol 1.0.0 From 96b611b9db3fef8884cd51cb348953a43330894f Mon Sep 17 00:00:00 2001 From: Hailin Date: Mon, 24 Jun 2013 10:30:10 +0800 Subject: [PATCH 2/5] =?UTF-8?q?=E6=B8=85=E7=90=86=E7=9B=AE=E5=BD=95?= =?UTF-8?q?=E7=BB=93=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .gitignore | 9 + .../communication/socket/ScoketPool.java | 6 +- .../loadbalance/ServerProfile.java | 2 +- .../gaea/client/loadbalance/Dispatcher.java | 1 + .../spat/gaea/client/loadbalance/Server.java | 2 +- .../spat/gaea/client/proxy/ServiceProxy.java | 4 +- demo/COPYRIGHT | 1 + demo/README | 7 + demo/bin/demo_run.sh | 9 + demo/bin/restart.sh | 86 ++++++ demo/bin/shutdown.bat | 0 demo/bin/shutdown.sh | 34 +++ demo/bin/startup.bat | 76 ++++++ demo/bin/startup.sh | 117 ++++++++ demo/conf/gaea_config.xml | 255 ++++++++++++++++++ demo/conf/gaea_log4j.xml | 29 ++ .../lib/com.bj58.spat.gaea.client-1.0.0.jar | Bin 164829 -> 0 bytes .../lib/com.bj58.spat.gaea.protocol-1.0.0.jar | Bin 54386 -> 0 bytes .../com.bj58.spat.gaea.serializer-1.0.0.jar | Bin 60973 -> 0 bytes demo/gaeaClientDemo/lib/gaeaDemo.jar | Bin 5590 -> 0 bytes .../src/gaeaclientdemo/GaeaClientTest.java | 48 ---- .../src/gaeaclientdemo/gaea.config | 33 --- .../lib/com.bj58.spat.gaea.protocol-1.0.0.jar | Bin 54386 -> 0 bytes .../com.bj58.spat.gaea.serializer-1.0.0.jar | Bin 60973 -> 0 bytes demo/gaeaDemo/src/components/NewsService.java | 57 ---- demo/gaeaDemo/src/contract/INewsService.java | 44 --- demo/gaeaDemo/src/entity/News.java | 60 ----- demo/lib/antlrall-2.7.2.jar | Bin 0 -> 358273 bytes .../lib/com.bj58.spat.gaea.protocol-1.0.0.jar | Bin 0 -> 118661 bytes .../com.bj58.spat.gaea.serializer-1.0.0.jar | Bin 0 -> 131096 bytes demo/lib/com.bj58.spat.gaea.server-1.0.0.jar | Bin 0 -> 591523 bytes .../lib/commons-logging.jar | Bin demo/lib/javassist.jar | Bin 0 -> 630906 bytes demo/lib/json-2.0.1.jar | Bin 0 -> 204170 bytes .../{gaeaClientDemo => }/lib/log4j-1.2.15.jar | Bin demo/lib/netty-3.1.5.GA.jar | Bin 0 -> 699044 bytes demo/lib/tools.jar | Bin 0 -> 12505617 bytes demo/service/deploy/demo/demo.jar | Bin 0 -> 2082 bytes demo/service/deploy/demo/gaea_config.xml | 255 ++++++++++++++++++ demo/service/deploy/demo/gaea_log4j.xml | 29 ++ demo/service/lib/antlr-3.3.jar | Bin 0 -> 897071 bytes demo/service/lib/antlr-runtime-3.3.jar | Bin 0 -> 163650 bytes ...com.bj58.spat.beanquery-0.0.1-SNAPSHOT.jar | Bin 0 -> 43300 bytes .../lib/com.bj58.spat.core-0.0.1-SNAPSHOT.jar | Bin 0 -> 68043 bytes .../lib/com.bj58.spat.dao-1.0.0-SNAPSHOT.jar | Bin 0 -> 72982 bytes .../lib/com.bj58.spat.memcached-0.0.1-rc1.jar | Bin 0 -> 97029 bytes demo/service/lib/commons-discovery-0.2.jar | Bin 0 -> 71442 bytes demo/service/lib/httpclient-4.0.1.jar | Bin 0 -> 291039 bytes demo/service/lib/httpcore-4.0.1.jar | Bin 0 -> 172888 bytes demo/service/lib/jaxrpc.jar | Bin 0 -> 31191 bytes demo/service/lib/jcl-over-slf4j-1.6.1.jar | Bin 0 -> 17308 bytes demo/service/lib/jyaml-1.3.jar | Bin 0 -> 59352 bytes .../lib/mysql-connector-java-5.1.6-bin.jar | Bin 0 -> 703265 bytes demo/service/lib/slf4j-api-1.6.1.jar | Bin 0 -> 25496 bytes demo/service/lib/slf4j-log4j12-1.6.1.jar | Bin 0 -> 9753 bytes demo/service/lib/sqljdbc4-2.0.jar | Bin 0 -> 466359 bytes gaea.tar.gz | Bin 9520343 -> 0 bytes gaea.zip | Bin 9440362 -> 0 bytes .../gaea/serializer/component/TypeMap.java | 6 +- 59 files changed, 919 insertions(+), 251 deletions(-) create mode 100644 demo/COPYRIGHT create mode 100644 demo/README create mode 100644 demo/bin/demo_run.sh create mode 100644 demo/bin/restart.sh create mode 100644 demo/bin/shutdown.bat create mode 100644 demo/bin/shutdown.sh create mode 100644 demo/bin/startup.bat create mode 100644 demo/bin/startup.sh create mode 100644 demo/conf/gaea_config.xml create mode 100644 demo/conf/gaea_log4j.xml delete mode 100644 demo/gaeaClientDemo/lib/com.bj58.spat.gaea.client-1.0.0.jar delete mode 100644 demo/gaeaClientDemo/lib/com.bj58.spat.gaea.protocol-1.0.0.jar delete mode 100644 demo/gaeaClientDemo/lib/com.bj58.spat.gaea.serializer-1.0.0.jar delete mode 100644 demo/gaeaClientDemo/lib/gaeaDemo.jar delete mode 100644 demo/gaeaClientDemo/src/gaeaclientdemo/GaeaClientTest.java delete mode 100644 demo/gaeaClientDemo/src/gaeaclientdemo/gaea.config delete mode 100644 demo/gaeaDemo/lib/com.bj58.spat.gaea.protocol-1.0.0.jar delete mode 100644 demo/gaeaDemo/lib/com.bj58.spat.gaea.serializer-1.0.0.jar delete mode 100644 demo/gaeaDemo/src/components/NewsService.java delete mode 100644 demo/gaeaDemo/src/contract/INewsService.java delete mode 100644 demo/gaeaDemo/src/entity/News.java create mode 100644 demo/lib/antlrall-2.7.2.jar create mode 100644 demo/lib/com.bj58.spat.gaea.protocol-1.0.0.jar create mode 100644 demo/lib/com.bj58.spat.gaea.serializer-1.0.0.jar create mode 100644 demo/lib/com.bj58.spat.gaea.server-1.0.0.jar rename demo/{gaeaClientDemo => }/lib/commons-logging.jar (100%) create mode 100644 demo/lib/javassist.jar create mode 100644 demo/lib/json-2.0.1.jar rename demo/{gaeaClientDemo => }/lib/log4j-1.2.15.jar (100%) create mode 100644 demo/lib/netty-3.1.5.GA.jar create mode 100644 demo/lib/tools.jar create mode 100644 demo/service/deploy/demo/demo.jar create mode 100644 demo/service/deploy/demo/gaea_config.xml create mode 100644 demo/service/deploy/demo/gaea_log4j.xml create mode 100644 demo/service/lib/antlr-3.3.jar create mode 100644 demo/service/lib/antlr-runtime-3.3.jar create mode 100644 demo/service/lib/com.bj58.spat.beanquery-0.0.1-SNAPSHOT.jar create mode 100644 demo/service/lib/com.bj58.spat.core-0.0.1-SNAPSHOT.jar create mode 100644 demo/service/lib/com.bj58.spat.dao-1.0.0-SNAPSHOT.jar create mode 100644 demo/service/lib/com.bj58.spat.memcached-0.0.1-rc1.jar create mode 100644 demo/service/lib/commons-discovery-0.2.jar create mode 100644 demo/service/lib/httpclient-4.0.1.jar create mode 100644 demo/service/lib/httpcore-4.0.1.jar create mode 100644 demo/service/lib/jaxrpc.jar create mode 100644 demo/service/lib/jcl-over-slf4j-1.6.1.jar create mode 100644 demo/service/lib/jyaml-1.3.jar create mode 100644 demo/service/lib/mysql-connector-java-5.1.6-bin.jar create mode 100644 demo/service/lib/slf4j-api-1.6.1.jar create mode 100644 demo/service/lib/slf4j-log4j12-1.6.1.jar create mode 100644 demo/service/lib/sqljdbc4-2.0.jar delete mode 100644 gaea.tar.gz delete mode 100644 gaea.zip diff --git a/.gitignore b/.gitignore index 2433760..4bffe96 100644 --- a/.gitignore +++ b/.gitignore @@ -4,3 +4,12 @@ #*.jar *.war *.ear +/client/java/client/*.classpath +/client/java/client/*.project +/client/java/client/.settings/*.prefs +/client/java/client/target +/client/java/client/* +/protocol/* +/serializer/target +/serializer/* +/server/* diff --git a/client/java/client/src/com/bj58/spat/gaea/client/communication/socket/ScoketPool.java b/client/java/client/src/com/bj58/spat/gaea/client/communication/socket/ScoketPool.java index 9d4fcb0..076d416 100644 --- a/client/java/client/src/com/bj58/spat/gaea/client/communication/socket/ScoketPool.java +++ b/client/java/client/src/com/bj58/spat/gaea/client/communication/socket/ScoketPool.java @@ -97,10 +97,10 @@ public synchronized CSocket getSocket() throws TimeoutException, IOException, In logger.error("授权文件没有通过校验!"); throw new Exception("授权文件没有通过校验!"); } - } else { - if (queue.size() > 0) { + } else { + if (queue.size() > 0) { rSocket = queue.dequeue(); - } else { + } else { rSocket = queue.dequeue(socketPoolConfig.getWaitTimeout()); if (rSocket == null) { logger.error("socket connection pool is full!"); diff --git a/client/java/client/src/com/bj58/spat/gaea/client/configuration/loadbalance/ServerProfile.java b/client/java/client/src/com/bj58/spat/gaea/client/configuration/loadbalance/ServerProfile.java index 59591eb..e775807 100644 --- a/client/java/client/src/com/bj58/spat/gaea/client/configuration/loadbalance/ServerProfile.java +++ b/client/java/client/src/com/bj58/spat/gaea/client/configuration/loadbalance/ServerProfile.java @@ -35,7 +35,7 @@ public class ServerProfile { private String host; private int port; private int deadTimeout; - private float weithtRate; + private float weithtRate; //FIXME:misspelling public ServerProfile(Node node) { NamedNodeMap attributes = node.getAttributes(); diff --git a/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Dispatcher.java b/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Dispatcher.java index ca51a28..3781caa 100644 --- a/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Dispatcher.java +++ b/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Dispatcher.java @@ -113,6 +113,7 @@ public Server GetServer() { } } + //? Find the least load if ((server.getCurrUserCount() < currUserCount * server.getWeightRage() || currUserCount < 0) && server.getState() == ServerState.Normal) { currUserCount = server.getCurrUserCount(); diff --git a/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Server.java b/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Server.java index 7fb6097..255c2c4 100644 --- a/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Server.java +++ b/client/java/client/src/com/bj58/spat/gaea/client/loadbalance/Server.java @@ -48,7 +48,7 @@ public class Server { private String address; private int port; private int weight; - private float weightRage; + private float weightRage; //Fixme: misspelling private ServerState state; private ScoketPool scoketpool; private int currUserCount; diff --git a/client/java/client/src/com/bj58/spat/gaea/client/proxy/ServiceProxy.java b/client/java/client/src/com/bj58/spat/gaea/client/proxy/ServiceProxy.java index 4c861ca..f18482c 100644 --- a/client/java/client/src/com/bj58/spat/gaea/client/proxy/ServiceProxy.java +++ b/client/java/client/src/com/bj58/spat/gaea/client/proxy/ServiceProxy.java @@ -58,7 +58,7 @@ public class ServiceProxy { private int sessionId = 1; private int requestTime = 0;//超时重连次数 private int ioreconnect = 0;//IO服务切换次数 - private int count = 0; + private int count = 0; //根据requestTime和ioreconnect确定 private static final ILog logger = LogFactory.getLogger(ServiceProxy.class); private static final Object locker = new Object(); private static final HashMap Proxys = new HashMap(); @@ -74,6 +74,8 @@ private ServiceProxy(String serviceName) throws Exception { } ioreconnect = serverCount - 1; + + // count = max {ioreconnect, requestTime} count = requestTime; if(ioreconnect > requestTime){ diff --git a/demo/COPYRIGHT b/demo/COPYRIGHT new file mode 100644 index 0000000..b511f04 --- /dev/null +++ b/demo/COPYRIGHT @@ -0,0 +1 @@ +Copyright Beijing 58 Information Technology Co.,Ltd. \ No newline at end of file diff --git a/demo/README b/demo/README new file mode 100644 index 0000000..f4f04b9 --- /dev/null +++ b/demo/README @@ -0,0 +1,7 @@ +The Gaea Project +GaeaǷͨѶ(Service Communication Framework)ֿ֧ƽ̨и߲ܡ߿ɿԣṩ첽Э顢¼мܡ + +WeiBo:@58code +Email:code@58.com + +Copyright Beijing 58 Information Technology Co.,Ltd. \ No newline at end of file diff --git a/demo/bin/demo_run.sh b/demo/bin/demo_run.sh new file mode 100644 index 0000000..77af09d --- /dev/null +++ b/demo/bin/demo_run.sh @@ -0,0 +1,9 @@ +#!/bin/sh + +DIR=`dirname "$0"` +DIR=`cd "$bin"; pwd` + +export VM_XMS=2g +export VM_XMX=2g +export VM_XMN=512m +./startup.sh demo $DIR/demo_config.xml $DIR/gaea_log4j.xml diff --git a/demo/bin/restart.sh b/demo/bin/restart.sh new file mode 100644 index 0000000..7fde05a --- /dev/null +++ b/demo/bin/restart.sh @@ -0,0 +1,86 @@ +#!/bin/sh + +## USAGE="Usage: reboot.sh