diff --git a/weixin4j-example/pom.xml b/weixin4j-example/pom.xml
index aa159da8..9024a17f 100644
--- a/weixin4j-example/pom.xml
+++ b/weixin4j-example/pom.xml
@@ -12,6 +12,29 @@
weixin4j-example
https://github.com/foxinmy/weixin4j/tree/master/weixin4j-example
weixin4j示例
+
+
+
+ org.apache.maven.plugins
+ maven-assembly-plugin
+
+
+ src/main/script/assembly.xml
+
+ weixin4j-server
+
+
+
+ make-assembly
+ package
+
+ single
+
+
+
+
+
+
com.foxinmy
@@ -28,11 +51,17 @@
weixin4j-server
1.1.7
+
+
+ redis.clients
+ jedis
+ 2.6.0
+
+
org.springframework
spring-context
4.2.1.RELEASE
- test
\ No newline at end of file
diff --git a/weixin4j-example/src/main/resources/spring-bean.xml b/weixin4j-example/src/main/resources/spring-bean.xml
index 65f8d54f..48beb660 100644
--- a/weixin4j-example/src/main/resources/spring-bean.xml
+++ b/weixin4j-example/src/main/resources/spring-bean.xml
@@ -18,8 +18,7 @@
-
-
+
@@ -79,7 +78,7 @@
class="com.foximy.weixin4j.example.server.Weixin4jServerStartupWithThread"
init-method="start" destroy-method="stop">
-
+
diff --git a/weixin4j-example/src/main/script/assembly.xml b/weixin4j-example/src/main/script/assembly.xml
new file mode 100644
index 00000000..f0843723
--- /dev/null
+++ b/weixin4j-example/src/main/script/assembly.xml
@@ -0,0 +1,35 @@
+
+
+ bin
+
+ zip
+
+
+
+ true
+ /lib
+
+
+
+
+ src/main/script
+ /
+
+ *.sh
+ *.bat
+
+
+
+ target/classes
+
+ *.txt
+ *.properties
+ *.xml
+
+ /conf
+
+
+
\ No newline at end of file
diff --git a/weixin4j-example/src/main/script/startup.sh b/weixin4j-example/src/main/script/startup.sh
new file mode 100644
index 00000000..970d3496
--- /dev/null
+++ b/weixin4j-example/src/main/script/startup.sh
@@ -0,0 +1,144 @@
+# Jar执行脚本
+
+ulimit -n 110000
+#Jdk home
+JAVA_HOME="/usr/local/java"
+
+#Executing user
+RUNNING_USER=root
+
+#App home
+APP_HOME="/usr/local/weixin4j"
+
+#Main class
+APP_MAINCLASS=com.foximy.weixin4j.example.server.Weixin4jServerStartupWithoutThread
+
+#classpath
+CLASSPATH=$APP_HOME/classes
+for i in "$APP_HOME"/lib/*.jar; do
+ CLASSPATH="$CLASSPATH":"$i"
+done
+
+CLASSPATH="$CLASSPATH":"$APP_HOME"/conf
+
+#jvm options
+JAVA_OPTS="-Xms256m -Xmx512m -Djava.awt.headless=true -XX:MaxPermSize=128m -server -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=85 -XX:+DisableExplicitGC -Xnoclassgc -Xverify:none"
+
+#psid
+psid=0
+
+checkpid() {
+ javaps=`$JAVA_HOME/bin/jps -l | grep $APP_MAINCLASS`
+
+ if [ -n "$javaps" ]; then
+ psid=`echo $javaps | awk '{print $1}'`
+ else
+ psid=0
+ fi
+}
+
+###################################
+#startup
+###################################
+start() {
+ checkpid
+
+ if [ $psid -ne 0 ]; then
+ echo "================================"
+ echo "warn: $APP_MAINCLASS already started! (pid=$psid)"
+ echo "================================"
+ else
+ echo -n "Starting $APP_MAINCLASS ..."
+# JAVA_CMD="nohup $JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAINCLASS >/dev/null 2>&1 &"
+ JAVA_CMD="$JAVA_HOME/bin/java $JAVA_OPTS -classpath $CLASSPATH $APP_MAINCLASS &"
+ su - $RUNNING_USER -c "$JAVA_CMD"
+ checkpid
+ if [ $psid -ne 0 ]; then
+ echo "(pid=$psid) [OK]"
+ else
+ echo "[Failed]"
+ fi
+ fi
+}
+
+###################################
+#stop
+###################################
+stop() {
+ checkpid
+
+ if [ $psid -ne 0 ]; then
+ echo -n "Stopping $APP_MAINCLASS ...(pid=$psid) "
+ su - $RUNNING_USER -c "kill -9 $psid"
+ if [ $? -eq 0 ]; then
+ echo "[OK]"
+ else
+ echo "[Failed]"
+ fi
+
+ checkpid
+ if [ $psid -ne 0 ]; then
+ stop
+ fi
+ else
+ echo "================================"
+ echo "warn: $APP_MAINCLASS is not running"
+ echo "================================"
+ fi
+}
+
+###################################
+#status
+###################################
+status() {
+ checkpid
+
+ if [ $psid -ne 0 ]; then
+ echo "$APP_MAINCLASS is running! (pid=$psid)"
+ else
+ echo "$APP_MAINCLASS is not running"
+ fi
+}
+
+###################################
+#info
+###################################
+info() {
+ echo "System Information:"
+ echo "****************************"
+ echo `head -n 1 /etc/issue`
+ echo `uname -a`
+ echo
+ echo "JAVA_HOME=$JAVA_HOME"
+ echo `$JAVA_HOME/bin/java -version`
+ echo
+ echo "APP_HOME=$APP_HOME"
+ echo "APP_MAINCLASS=$APP_MAINCLASS"
+ echo "****************************"
+}
+
+###################################
+#access only 1 argument:{start|stop|restart|status|info}
+###################################
+case "$1" in
+ 'start')
+ start
+ ;;
+ 'stop')
+ stop
+ ;;
+ 'restart')
+ stop
+ start
+ ;;
+ 'status')
+ status
+ ;;
+ 'info')
+ info
+ ;;
+ *)
+ echo "Usage: $0 {start|stop|restart|status|info}"
+ exit 1
+esac
+exit 0