shuzheng 9 лет назад
Родитель
Сommit
1e467c2bf5
25 измененных файлов с 720 добавлено и 33 удалено
  1. 58 6
      zheng-api/zheng-api-rpc-service/pom.xml
  2. 20 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/assembly.xml
  3. 94 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/bin/dump.sh
  4. 4 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/bin/restart.sh
  5. 24 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/bin/server.sh
  6. 22 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/bin/start.bat
  7. 89 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/bin/start.sh
  8. 44 0
      zheng-api/zheng-api-rpc-service/src/main/assembly/bin/stop.sh
  9. 0 0
      zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext-dubbo-consumer.xml
  10. 0 0
      zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext-dubbo-provider.xml
  11. 0 0
      zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext-listener.xml
  12. 10 0
      zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext.xml
  13. 47 26
      zheng-pay/zheng-pay-rpc-service/pom.xml
  14. 20 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/assembly.xml
  15. 94 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/dump.sh
  16. 4 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/restart.sh
  17. 24 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/server.sh
  18. 22 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/start.bat
  19. 89 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/start.sh
  20. 44 0
      zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/stop.sh
  21. 0 0
      zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-dubbo-provider.xml
  22. 0 0
      zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-ehcache.xml
  23. 1 1
      zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-jdbc.xml
  24. 0 0
      zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-listener.xml
  25. 10 0
      zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext.xml

+ 58 - 6
zheng-api/zheng-api-rpc-service/pom.xml

@@ -58,25 +58,77 @@
             <filter>src/main/resources/profiles/${env}.properties</filter>
         </filters>
         <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
             <resource>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**/*.xml</include>
+                    <include>**/*.properties</include>
                 </includes>
                 <filtering>true</filtering>
             </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
         </resources>
         <plugins>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <version>2.4</version>
+                <configuration>
+                    <skip>true</skip>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-jar-plugin</artifactId>
+                <version>2.4</version>
+            </plugin>
+            <plugin>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <descriptor>src/main/assembly/assembly.xml</descriptor>
+                </configuration>
+                <executions>
+                    <execution>
+                        <id>make-assembly</id>
+                        <phase>package</phase>
+                        <goals>
+                            <goal>single</goal>
+                        </goals>
+                    </execution>
+                </executions>
+            </plugin>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.codehaus.plexus</groupId>
+                        <artifactId>plexus-compiler-javac</artifactId>
+                        <version>1.8.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <configuration>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.18.1</version>
+                <version>2.10</version>
                 <configuration>
-                    <skipTests>true</skipTests>
+                    <skip>true</skip>
                     <testFailureIgnore>true</testFailureIgnore>
                 </configuration>
             </plugin>

+ 20 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/assembly.xml

@@ -0,0 +1,20 @@
+<assembly>
+    <id>assembly</id>
+    <formats>
+        <format>tar.gz</format>
+    </formats>
+    <includeBaseDirectory>true</includeBaseDirectory>
+    <fileSets>
+        <fileSet>
+            <directory>src/main/assembly/bin</directory>
+            <outputDirectory>bin</outputDirectory>
+            <fileMode>0755</fileMode>
+        </fileSet>
+    </fileSets>
+    <dependencySets>
+        <dependencySet>
+            <outputDirectory>lib</outputDirectory>
+            <scope>runtime</scope>
+        </dependencySet>
+    </dependencySets>
+</assembly>

+ 94 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/bin/dump.sh

@@ -0,0 +1,94 @@
+#!/bin/bash
+cd `dirname $0`
+BIN_DIR=`pwd`
+cd ..
+DEPLOY_DIR=`pwd`
+CONF_DIR=$DEPLOY_DIR/conf
+
+SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+
+if [ -z "$SERVER_NAME" ]; then
+	SERVER_NAME=`hostname`
+fi
+
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
+if [ -z "$PIDS" ]; then
+    echo "ERROR: The $SERVER_NAME does not started!"
+    exit 1
+fi
+
+LOGS_DIR=""
+if [ -n "$LOGS_FILE" ]; then
+	LOGS_DIR=`dirname $LOGS_FILE`
+else
+	LOGS_DIR=$DEPLOY_DIR/logs
+fi
+if [ ! -d $LOGS_DIR ]; then
+	mkdir $LOGS_DIR
+fi
+DUMP_DIR=$LOGS_DIR/dump
+if [ ! -d $DUMP_DIR ]; then
+	mkdir $DUMP_DIR
+fi
+DUMP_DATE=`date +%Y%m%d%H%M%S`
+DATE_DIR=$DUMP_DIR/$DUMP_DATE
+if [ ! -d $DATE_DIR ]; then
+	mkdir $DATE_DIR
+fi
+
+echo -e "Dumping the $SERVER_NAME ...\c"
+for PID in $PIDS ; do
+	jstack $PID > $DATE_DIR/jstack-$PID.dump 2>&1
+	echo -e ".\c"
+	jinfo $PID > $DATE_DIR/jinfo-$PID.dump 2>&1
+	echo -e ".\c"
+	jstat -gcutil $PID > $DATE_DIR/jstat-gcutil-$PID.dump 2>&1
+	echo -e ".\c"
+	jstat -gccapacity $PID > $DATE_DIR/jstat-gccapacity-$PID.dump 2>&1
+	echo -e ".\c"
+	jmap $PID > $DATE_DIR/jmap-$PID.dump 2>&1
+	echo -e ".\c"
+	jmap -heap $PID > $DATE_DIR/jmap-heap-$PID.dump 2>&1
+	echo -e ".\c"
+	jmap -histo $PID > $DATE_DIR/jmap-histo-$PID.dump 2>&1
+	echo -e ".\c"
+	if [ -r /usr/sbin/lsof ]; then
+	/usr/sbin/lsof -p $PID > $DATE_DIR/lsof-$PID.dump
+	echo -e ".\c"
+	fi
+done
+
+if [ -r /bin/netstat ]; then
+/bin/netstat -an > $DATE_DIR/netstat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/iostat ]; then
+/usr/bin/iostat > $DATE_DIR/iostat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/mpstat ]; then
+/usr/bin/mpstat > $DATE_DIR/mpstat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/vmstat ]; then
+/usr/bin/vmstat > $DATE_DIR/vmstat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/free ]; then
+/usr/bin/free -t > $DATE_DIR/free.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/sar ]; then
+/usr/bin/sar > $DATE_DIR/sar.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/uptime ]; then
+/usr/bin/uptime > $DATE_DIR/uptime.dump 2>&1
+echo -e ".\c"
+fi
+
+echo "OK!"
+echo "DUMP: $DATE_DIR"
+
+

+ 4 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/bin/restart.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+cd `dirname $0`
+./stop.sh
+./start.sh

+ 24 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/bin/server.sh

@@ -0,0 +1,24 @@
+#!/bin/bash
+cd `dirname $0`
+if [ "$1" = "start" ]; then
+	./start.sh
+else
+	if [ "$1" = "stop" ]; then
+		./stop.sh
+	else
+		if [ "$1" = "debug" ]; then
+			./start.sh debug
+		else
+			if [ "$1" = "restart" ]; then
+				./restart.sh
+			else
+				if [ "$1" = "dump" ]; then
+					./dump.sh
+				else
+					echo "ERROR: Please input argument: start or stop or debug or restart or dump"
+				    exit 1
+				fi
+			fi
+		fi
+	fi
+fi

+ 22 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/bin/start.bat

@@ -0,0 +1,22 @@
+@echo off & setlocal enabledelayedexpansion
+
+set LIB_JARS=""
+cd ..\lib
+for %%i in (*) do set LIB_JARS=!LIB_JARS!;..\lib\%%i
+cd ..\bin
+
+if ""%1"" == ""debug"" goto debug
+if ""%1"" == ""jmx"" goto jmx
+
+java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main
+goto end
+
+:debug
+java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main
+goto end
+
+:jmx
+java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main
+
+:end
+pause

+ 89 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/bin/start.sh

@@ -0,0 +1,89 @@
+#!/bin/bash
+cd `dirname $0`
+BIN_DIR=`pwd`
+cd ..
+DEPLOY_DIR=`pwd`
+CONF_DIR=$DEPLOY_DIR/conf
+
+
+SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+SERVER_PROTOCOL=`sed '/dubbo.protocol.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+SERVER_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+
+if [ -z "$SERVER_NAME" ]; then
+    SERVER_NAME=`hostname`
+fi
+
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
+if [ -n "$PIDS" ]; then
+    echo "ERROR: The $SERVER_NAME already started!"
+    echo "PID: $PIDS"
+    exit 1
+fi
+
+if [ -n "$SERVER_PORT" ]; then
+    SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l`
+    if [ $SERVER_PORT_COUNT -gt 0 ]; then
+        echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!"
+        exit 1
+    fi
+fi
+
+LOGS_DIR=""
+if [ -n "$LOGS_FILE" ]; then
+    LOGS_DIR=`dirname $LOGS_FILE`
+else
+    LOGS_DIR=$DEPLOY_DIR/logs
+fi
+if [ ! -d $LOGS_DIR ]; then
+    mkdir $LOGS_DIR
+fi
+STDOUT_FILE=$LOGS_DIR/stdout.log
+
+LIB_DIR=$DEPLOY_DIR/lib
+LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"`
+
+LOCK_ZOOKEEPER_FILE="$LOGS_DIR/`echo $PWD|awk -F/ '{print $NF}'`.properties"
+JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Ddubbo.registry.file=$LOCK_ZOOKEEPER_FILE"
+JAVA_DEBUG_OPTS=""
+if [ "$1" = "debug" ]; then
+    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
+fi
+JAVA_JMX_OPTS=""
+if [ "$1" = "jmx" ]; then
+    JAVA_JMX_OPTS=" -Djava.rmi.server.hostname=172.21.32.38 -Dcom.sun.management.jmxremote.port=1088 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
+fi
+JAVA_MEM_OPTS=""
+BITS=`java -version 2>&1 | grep -i 64-bit`
+if [ -n "$BITS" ]; then
+    JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
+else
+    JAVA_MEM_OPTS=" -server -Xms1g -Xmx1g -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
+fi
+
+echo -e "Starting the $SERVER_NAME ...\c"
+nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 &
+
+COUNT=0
+while [ $COUNT -lt 1 ]; do    
+    echo -e ".\c"
+    sleep 1 
+    if [ -n "$SERVER_PORT" ]; then
+        if [ "$SERVER_PROTOCOL" == "dubbo" ]; then
+    	    COUNT=`echo status | nc -i 1 172.21.32.38 $SERVER_PORT | grep -c OK`
+        else
+            COUNT=`netstat -an | grep $SERVER_PORT | wc -l`
+        fi
+    else
+    	COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
+    fi
+    if [ $COUNT -gt 0 ]; then
+        break
+    fi
+done
+
+echo "OK!"
+PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
+echo "PID: $PIDS"
+echo "STDOUT: $STDOUT_FILE"

+ 44 - 0
zheng-api/zheng-api-rpc-service/src/main/assembly/bin/stop.sh

@@ -0,0 +1,44 @@
+#!/bin/bash
+cd `dirname $0`
+BIN_DIR=`pwd`
+cd ..
+DEPLOY_DIR=`pwd`
+CONF_DIR=$DEPLOY_DIR/conf
+
+SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+
+if [ -z "$SERVER_NAME" ]; then
+    SERVER_NAME=`hostname`
+fi
+
+PIDS=`ps -ef | grep java | grep "$CONF_DIR" |awk '{print $2}'`
+if [ -z "$PIDS" ]; then
+    echo "ERROR: The $SERVER_NAME does not started!"
+    exit 1
+fi
+
+if [ "$1" != "skip" ]; then
+    $BIN_DIR/dump.sh
+fi
+
+echo -e "Stopping the $SERVER_NAME ...\c"
+for PID in $PIDS ; do
+    kill $PID > /dev/null 2>&1
+done
+
+COUNT=0
+while [ $COUNT -lt 1 ]; do    
+    echo -e ".\c"
+    sleep 1
+    COUNT=1
+    for PID in $PIDS ; do
+        PID_EXIST=`ps -f -p $PID | grep java`
+        if [ -n "$PID_EXIST" ]; then
+            COUNT=0
+            break
+        fi
+    done
+done
+
+echo "OK!"
+echo "PID: $PIDS"

+ 0 - 0
zheng-api/zheng-api-rpc-service/src/main/resources/applicationContext-dubbo-consumer.xml → zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext-dubbo-consumer.xml


+ 0 - 0
zheng-api/zheng-api-rpc-service/src/main/resources/applicationContext-dubbo-provider.xml → zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext-dubbo-provider.xml


+ 0 - 0
zheng-api/zheng-api-rpc-service/src/main/resources/applicationContext-listener.xml → zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext-listener.xml


+ 10 - 0
zheng-api/zheng-api-rpc-service/src/main/resources/META-INF/spring/applicationContext.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+    <!-- ApplicationContext -->
+    <bean id="springContextUtil" class="com.zheng.common.util.SpringContextUtil"></bean>
+
+</beans>

+ 47 - 26
zheng-pay/zheng-pay-rpc-service/pom.xml

@@ -58,59 +58,80 @@
             <filter>src/main/resources/profiles/${env}.properties</filter>
         </filters>
         <resources>
+            <resource>
+                <directory>src/main/resources</directory>
+                <filtering>true</filtering>
+            </resource>
             <resource>
                 <directory>src/main/java</directory>
                 <includes>
                     <include>**/*.xml</include>
+                    <include>**/*.properties</include>
                 </includes>
                 <filtering>true</filtering>
             </resource>
-            <resource>
-                <directory>src/main/resources</directory>
-                <filtering>true</filtering>
-            </resource>
         </resources>
         <plugins>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-surefire-plugin</artifactId>
-                <version>2.18.1</version>
+                <artifactId>maven-deploy-plugin</artifactId>
+                <version>2.4</version>
                 <configuration>
-                    <skipTests>true</skipTests>
-                    <testFailureIgnore>true</testFailureIgnore>
+                    <skip>true</skip>
                 </configuration>
             </plugin>
             <plugin>
                 <groupId>org.apache.maven.plugins</groupId>
                 <artifactId>maven-jar-plugin</artifactId>
-                <version>2.6</version>
-                <configuration>
-                    <archive>
-                        <manifest>
-                            <addClasspath>true</addClasspath>
-                            <classpathPrefix>lib/</classpathPrefix>
-                            <mainClass>com.zheng.pay.rpc.ZhengPayRpcServiceApplication</mainClass>
-                        </manifest>
-                    </archive>
-                </configuration>
+                <version>2.4</version>
             </plugin>
             <plugin>
-                <groupId>org.apache.maven.plugins</groupId>
-                <artifactId>maven-dependency-plugin</artifactId>
-                <version>2.10</version>
+                <artifactId>maven-assembly-plugin</artifactId>
+                <configuration>
+                    <descriptor>src/main/assembly/assembly.xml</descriptor>
+                </configuration>
                 <executions>
                     <execution>
-                        <id>copy-dependencies</id>
+                        <id>make-assembly</id>
                         <phase>package</phase>
                         <goals>
-                            <goal>copy-dependencies</goal>
+                            <goal>single</goal>
                         </goals>
-                        <configuration>
-                            <outputDirectory>${project.build.directory}/lib</outputDirectory>
-                        </configuration>
                     </execution>
                 </executions>
             </plugin>
+            <plugin>
+                <artifactId>maven-compiler-plugin</artifactId>
+                <version>2.3.2</version>
+                <configuration>
+                    <source>1.7</source>
+                    <target>1.7</target>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+                <dependencies>
+                    <dependency>
+                        <groupId>org.codehaus.plexus</groupId>
+                        <artifactId>plexus-compiler-javac</artifactId>
+                        <version>1.8.1</version>
+                    </dependency>
+                </dependencies>
+            </plugin>
+            <plugin>
+                <artifactId>maven-resources-plugin</artifactId>
+                <version>2.6</version>
+                <configuration>
+                    <encoding>UTF-8</encoding>
+                </configuration>
+            </plugin>
+            <plugin>
+                <groupId>org.apache.maven.plugins</groupId>
+                <artifactId>maven-surefire-plugin</artifactId>
+                <version>2.10</version>
+                <configuration>
+                    <skip>true</skip>
+                    <testFailureIgnore>true</testFailureIgnore>
+                </configuration>
+            </plugin>
         </plugins>
     </build>
 </project>

+ 20 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/assembly.xml

@@ -0,0 +1,20 @@
+<assembly>
+    <id>assembly</id>
+    <formats>
+        <format>tar.gz</format>
+    </formats>
+    <includeBaseDirectory>true</includeBaseDirectory>
+    <fileSets>
+        <fileSet>
+            <directory>src/main/assembly/bin</directory>
+            <outputDirectory>bin</outputDirectory>
+            <fileMode>0755</fileMode>
+        </fileSet>
+    </fileSets>
+    <dependencySets>
+        <dependencySet>
+            <outputDirectory>lib</outputDirectory>
+            <scope>runtime</scope>
+        </dependencySet>
+    </dependencySets>
+</assembly>

+ 94 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/dump.sh

@@ -0,0 +1,94 @@
+#!/bin/bash
+cd `dirname $0`
+BIN_DIR=`pwd`
+cd ..
+DEPLOY_DIR=`pwd`
+CONF_DIR=$DEPLOY_DIR/conf
+
+SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+
+if [ -z "$SERVER_NAME" ]; then
+	SERVER_NAME=`hostname`
+fi
+
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
+if [ -z "$PIDS" ]; then
+    echo "ERROR: The $SERVER_NAME does not started!"
+    exit 1
+fi
+
+LOGS_DIR=""
+if [ -n "$LOGS_FILE" ]; then
+	LOGS_DIR=`dirname $LOGS_FILE`
+else
+	LOGS_DIR=$DEPLOY_DIR/logs
+fi
+if [ ! -d $LOGS_DIR ]; then
+	mkdir $LOGS_DIR
+fi
+DUMP_DIR=$LOGS_DIR/dump
+if [ ! -d $DUMP_DIR ]; then
+	mkdir $DUMP_DIR
+fi
+DUMP_DATE=`date +%Y%m%d%H%M%S`
+DATE_DIR=$DUMP_DIR/$DUMP_DATE
+if [ ! -d $DATE_DIR ]; then
+	mkdir $DATE_DIR
+fi
+
+echo -e "Dumping the $SERVER_NAME ...\c"
+for PID in $PIDS ; do
+	jstack $PID > $DATE_DIR/jstack-$PID.dump 2>&1
+	echo -e ".\c"
+	jinfo $PID > $DATE_DIR/jinfo-$PID.dump 2>&1
+	echo -e ".\c"
+	jstat -gcutil $PID > $DATE_DIR/jstat-gcutil-$PID.dump 2>&1
+	echo -e ".\c"
+	jstat -gccapacity $PID > $DATE_DIR/jstat-gccapacity-$PID.dump 2>&1
+	echo -e ".\c"
+	jmap $PID > $DATE_DIR/jmap-$PID.dump 2>&1
+	echo -e ".\c"
+	jmap -heap $PID > $DATE_DIR/jmap-heap-$PID.dump 2>&1
+	echo -e ".\c"
+	jmap -histo $PID > $DATE_DIR/jmap-histo-$PID.dump 2>&1
+	echo -e ".\c"
+	if [ -r /usr/sbin/lsof ]; then
+	/usr/sbin/lsof -p $PID > $DATE_DIR/lsof-$PID.dump
+	echo -e ".\c"
+	fi
+done
+
+if [ -r /bin/netstat ]; then
+/bin/netstat -an > $DATE_DIR/netstat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/iostat ]; then
+/usr/bin/iostat > $DATE_DIR/iostat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/mpstat ]; then
+/usr/bin/mpstat > $DATE_DIR/mpstat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/vmstat ]; then
+/usr/bin/vmstat > $DATE_DIR/vmstat.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/free ]; then
+/usr/bin/free -t > $DATE_DIR/free.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/sar ]; then
+/usr/bin/sar > $DATE_DIR/sar.dump 2>&1
+echo -e ".\c"
+fi
+if [ -r /usr/bin/uptime ]; then
+/usr/bin/uptime > $DATE_DIR/uptime.dump 2>&1
+echo -e ".\c"
+fi
+
+echo "OK!"
+echo "DUMP: $DATE_DIR"
+
+

+ 4 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/restart.sh

@@ -0,0 +1,4 @@
+#!/bin/bash
+cd `dirname $0`
+./stop.sh
+./start.sh

+ 24 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/server.sh

@@ -0,0 +1,24 @@
+#!/bin/bash
+cd `dirname $0`
+if [ "$1" = "start" ]; then
+	./start.sh
+else
+	if [ "$1" = "stop" ]; then
+		./stop.sh
+	else
+		if [ "$1" = "debug" ]; then
+			./start.sh debug
+		else
+			if [ "$1" = "restart" ]; then
+				./restart.sh
+			else
+				if [ "$1" = "dump" ]; then
+					./dump.sh
+				else
+					echo "ERROR: Please input argument: start or stop or debug or restart or dump"
+				    exit 1
+				fi
+			fi
+		fi
+	fi
+fi

+ 22 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/start.bat

@@ -0,0 +1,22 @@
+@echo off & setlocal enabledelayedexpansion
+
+set LIB_JARS=""
+cd ..\lib
+for %%i in (*) do set LIB_JARS=!LIB_JARS!;..\lib\%%i
+cd ..\bin
+
+if ""%1"" == ""debug"" goto debug
+if ""%1"" == ""jmx"" goto jmx
+
+java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main
+goto end
+
+:debug
+java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main
+goto end
+
+:jmx
+java -Xms64m -Xmx1024m -XX:MaxPermSize=64M -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -classpath ..\conf;%LIB_JARS% com.alibaba.dubbo.container.Main
+
+:end
+pause

+ 89 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/start.sh

@@ -0,0 +1,89 @@
+#!/bin/bash
+cd `dirname $0`
+BIN_DIR=`pwd`
+cd ..
+DEPLOY_DIR=`pwd`
+CONF_DIR=$DEPLOY_DIR/conf
+
+
+SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+SERVER_PROTOCOL=`sed '/dubbo.protocol.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+SERVER_PORT=`sed '/dubbo.protocol.port/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+LOGS_FILE=`sed '/dubbo.log4j.file/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+
+if [ -z "$SERVER_NAME" ]; then
+    SERVER_NAME=`hostname`
+fi
+
+PIDS=`ps -f | grep java | grep "$CONF_DIR" |awk '{print $2}'`
+if [ -n "$PIDS" ]; then
+    echo "ERROR: The $SERVER_NAME already started!"
+    echo "PID: $PIDS"
+    exit 1
+fi
+
+if [ -n "$SERVER_PORT" ]; then
+    SERVER_PORT_COUNT=`netstat -tln | grep $SERVER_PORT | wc -l`
+    if [ $SERVER_PORT_COUNT -gt 0 ]; then
+        echo "ERROR: The $SERVER_NAME port $SERVER_PORT already used!"
+        exit 1
+    fi
+fi
+
+LOGS_DIR=""
+if [ -n "$LOGS_FILE" ]; then
+    LOGS_DIR=`dirname $LOGS_FILE`
+else
+    LOGS_DIR=$DEPLOY_DIR/logs
+fi
+if [ ! -d $LOGS_DIR ]; then
+    mkdir $LOGS_DIR
+fi
+STDOUT_FILE=$LOGS_DIR/stdout.log
+
+LIB_DIR=$DEPLOY_DIR/lib
+LIB_JARS=`ls $LIB_DIR|grep .jar|awk '{print "'$LIB_DIR'/"$0}'|tr "\n" ":"`
+
+LOCK_ZOOKEEPER_FILE="$LOGS_DIR/`echo $PWD|awk -F/ '{print $NF}'`.properties"
+JAVA_OPTS=" -Djava.awt.headless=true -Djava.net.preferIPv4Stack=true -Ddubbo.registry.file=$LOCK_ZOOKEEPER_FILE"
+JAVA_DEBUG_OPTS=""
+if [ "$1" = "debug" ]; then
+    JAVA_DEBUG_OPTS=" -Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n "
+fi
+JAVA_JMX_OPTS=""
+if [ "$1" = "jmx" ]; then
+    JAVA_JMX_OPTS=" -Djava.rmi.server.hostname=172.21.32.38 -Dcom.sun.management.jmxremote.port=1088 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false "
+fi
+JAVA_MEM_OPTS=""
+BITS=`java -version 2>&1 | grep -i 64-bit`
+if [ -n "$BITS" ]; then
+    JAVA_MEM_OPTS=" -server -Xmx2g -Xms2g -Xmn256m -XX:PermSize=128m -Xss256k -XX:+DisableExplicitGC -XX:+UseConcMarkSweepGC -XX:+CMSParallelRemarkEnabled -XX:+UseCMSCompactAtFullCollection -XX:LargePageSizeInBytes=128m -XX:+UseFastAccessorMethods -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=70 "
+else
+    JAVA_MEM_OPTS=" -server -Xms1g -Xmx1g -XX:PermSize=128m -XX:SurvivorRatio=2 -XX:+UseParallelGC "
+fi
+
+echo -e "Starting the $SERVER_NAME ...\c"
+nohup java $JAVA_OPTS $JAVA_MEM_OPTS $JAVA_DEBUG_OPTS $JAVA_JMX_OPTS -classpath $CONF_DIR:$LIB_JARS com.alibaba.dubbo.container.Main > $STDOUT_FILE 2>&1 &
+
+COUNT=0
+while [ $COUNT -lt 1 ]; do    
+    echo -e ".\c"
+    sleep 1 
+    if [ -n "$SERVER_PORT" ]; then
+        if [ "$SERVER_PROTOCOL" == "dubbo" ]; then
+    	    COUNT=`echo status | nc -i 1 172.21.32.38 $SERVER_PORT | grep -c OK`
+        else
+            COUNT=`netstat -an | grep $SERVER_PORT | wc -l`
+        fi
+    else
+    	COUNT=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}' | wc -l`
+    fi
+    if [ $COUNT -gt 0 ]; then
+        break
+    fi
+done
+
+echo "OK!"
+PIDS=`ps -f | grep java | grep "$DEPLOY_DIR" | awk '{print $2}'`
+echo "PID: $PIDS"
+echo "STDOUT: $STDOUT_FILE"

+ 44 - 0
zheng-pay/zheng-pay-rpc-service/src/main/assembly/bin/stop.sh

@@ -0,0 +1,44 @@
+#!/bin/bash
+cd `dirname $0`
+BIN_DIR=`pwd`
+cd ..
+DEPLOY_DIR=`pwd`
+CONF_DIR=$DEPLOY_DIR/conf
+
+SERVER_NAME=`sed '/dubbo.application.name/!d;s/.*=//' conf/dubbo.properties | tr -d '\r'`
+
+if [ -z "$SERVER_NAME" ]; then
+    SERVER_NAME=`hostname`
+fi
+
+PIDS=`ps -ef | grep java | grep "$CONF_DIR" |awk '{print $2}'`
+if [ -z "$PIDS" ]; then
+    echo "ERROR: The $SERVER_NAME does not started!"
+    exit 1
+fi
+
+if [ "$1" != "skip" ]; then
+    $BIN_DIR/dump.sh
+fi
+
+echo -e "Stopping the $SERVER_NAME ...\c"
+for PID in $PIDS ; do
+    kill $PID > /dev/null 2>&1
+done
+
+COUNT=0
+while [ $COUNT -lt 1 ]; do    
+    echo -e ".\c"
+    sleep 1
+    COUNT=1
+    for PID in $PIDS ; do
+        PID_EXIST=`ps -f -p $PID | grep java`
+        if [ -n "$PID_EXIST" ]; then
+            COUNT=0
+            break
+        fi
+    done
+done
+
+echo "OK!"
+echo "PID: $PIDS"

+ 0 - 0
zheng-pay/zheng-pay-rpc-service/src/main/resources/applicationContext-dubbo-provider.xml → zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-dubbo-provider.xml


+ 0 - 0
zheng-pay/zheng-pay-rpc-service/src/main/resources/applicationContext-ehcache.xml → zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-ehcache.xml


+ 1 - 1
zheng-pay/zheng-pay-rpc-service/src/main/resources/applicationContext-jdbc.xml → zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-jdbc.xml

@@ -95,7 +95,7 @@
     <bean id="sqlSessionFactory" class="org.mybatis.spring.SqlSessionFactoryBean">
         <property name="dataSource" ref="dataSource"/>
         <property name="configLocation" value="classpath:mybatis-config.xml"/>
-        <property name="mapperLocations" value="classpath*:**/mapper/*Mapper.xml"/>
+        <property name="mapperLocations" value="classpath*:com/zheng/pay/dao/mapper/PayOutOrderDetailMapper.xml"/>
     </bean>
     <!-- Mapper接口所在包名,Spring会自动查找其下的Mapper -->
     <bean id="mapperScannerConfigurer" class="org.mybatis.spring.mapper.MapperScannerConfigurer">

+ 0 - 0
zheng-pay/zheng-pay-rpc-service/src/main/resources/applicationContext-listener.xml → zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext-listener.xml


+ 10 - 0
zheng-pay/zheng-pay-rpc-service/src/main/resources/META-INF/spring/applicationContext.xml

@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<beans xmlns="http://www.springframework.org/schema/beans"
+       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+       xsi:schemaLocation="http://www.springframework.org/schema/beans
+          http://www.springframework.org/schema/beans/spring-beans.xsd">
+
+    <!-- ApplicationContext -->
+    <bean id="springContextUtil" class="com.zheng.common.util.SpringContextUtil"></bean>
+
+</beans>