This is an automated email from the ASF dual-hosted git repository. iluo pushed a commit to branch makefile in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
The following commit(s) were added to refs/heads/makefile by this push: new f2dfc66 make integration test work for configcenter/zookeeper f2dfc66 is described below commit f2dfc660172196f107096e2a308aa304d66bc8d9 Author: Ian Luo <ian....@gmail.com> AuthorDate: Fri Oct 30 13:22:03 2020 +0800 make integration test work for configcenter/zookeeper --- configcenter/zookeeper/README.md | 38 ---- .../zookeeper/dubbo/go-client/assembly/bin/load.sh | 203 ----------------- .../dubbo/go-client/assembly/common/app.properties | 23 -- .../dubbo/go-client/assembly/common/build.sh | 83 ------- .../dubbo/go-client/assembly/linux/dev.sh | 36 --- .../dubbo/go-client/assembly/linux/release.sh | 35 --- .../dubbo/go-client/assembly/linux/test.sh | 35 --- .../zookeeper/dubbo/go-client/assembly/mac/dev.sh | 36 --- .../dubbo/go-client/assembly/mac/release.sh | 34 --- .../zookeeper/dubbo/go-client/assembly/mac/test.sh | 34 --- .../dubbo/go-client/assembly/windows/dev.sh | 34 --- .../dubbo/go-client/assembly/windows/release.sh | 34 --- .../dubbo/go-client/assembly/windows/test.sh | 34 --- .../dubbo/config/user-info-client/dubbo.properties | 1 - .../zookeeper/dubbo/go-server/assembly/bin/load.sh | 151 ------------- .../dubbo/go-server/assembly/common/app.properties | 23 -- .../dubbo/go-server/assembly/common/build.sh | 80 ------- .../dubbo/go-server/assembly/linux/dev.sh | 36 --- .../dubbo/go-server/assembly/linux/release.sh | 36 --- .../dubbo/go-server/assembly/linux/test.sh | 36 --- .../zookeeper/dubbo/go-server/assembly/mac/dev.sh | 36 --- .../dubbo/go-server/assembly/mac/release.sh | 36 --- .../zookeeper/dubbo/go-server/assembly/mac/test.sh | 36 --- .../dubbo/go-server/assembly/windows/dev.sh | 36 --- .../dubbo/go-server/assembly/windows/release.sh | 36 --- .../dubbo/go-server/assembly/windows/test.sh | 36 --- .../dubbo/config/user-info-server/dubbo.properties | 4 - configcenter/zookeeper/dubbo/java-client/build.sh | 21 -- configcenter/zookeeper/dubbo/java-client/pom.xml | 205 ----------------- .../java-client/src/main/assembly/assembly.xml | 43 ---- .../src/main/java/com/ikurento/user/Consumer.java | 63 ------ .../java/com/ikurento/user/EmbeddedZooKeeper.java | 250 --------------------- .../src/main/java/com/ikurento/user/User.java | 76 ------- .../main/java/com/ikurento/user/UserProvider.java | 18 -- .../src/main/java/com/ikurento/user/ZKTools.java | 88 -------- .../resources/META-INF/spring/dubbo.consumer.xml | 34 --- .../src/main/resources/META-INF/spring/service.xml | 27 --- .../src/main/resources/log4j.properties | 19 -- configcenter/zookeeper/dubbo/java-server/build.sh | 20 -- configcenter/zookeeper/dubbo/java-server/pom.xml | 210 ----------------- .../zookeeper/dubbo/java-server/script/debug.sh | 23 -- .../java-server/src/main/assembly/assembly.xml | 43 ---- .../java/com/ikurento/user/EmbeddedZooKeeper.java | 250 --------------------- .../src/main/java/com/ikurento/user/Provider.java | 42 ---- .../src/main/java/com/ikurento/user/User.java | 86 ------- .../src/main/java/com/ikurento/user/ZKTools.java | 89 -------- .../com/ikurento/user/impl/UserProviderImpl.java | 32 --- .../resources/META-INF/spring/dubbo.provider.xml | 32 --- .../src/main/resources/log4j.properties | 20 -- .../go-client/app => go-client/cmd}/client.go | 66 ++---- .../profiles/dev => go-client/conf}/client.yml | 38 +++- .../profiles/dev => go-client/conf}/log.yml | 56 ++--- .../{dubbo/go-client/app => go-client/pkg}/user.go | 38 ++-- .../go-server/app => go-server/cmd}/server.go | 9 +- .../profiles/dev => go-server/conf}/client.yml | 38 +++- .../profiles/dev => go-server/conf}/log.yml | 56 ++--- .../profiles/dev => go-server/conf}/server.yml | 33 ++- .../docker/docker-compose.yml} | 7 +- .../{dubbo/go-server/app => go-server/pkg}/user.go | 4 +- .../tests/integration/main_test.go} | 31 ++- .../tests/integration/userprovider_test.go} | 62 +++-- 61 files changed, 264 insertions(+), 3107 deletions(-) diff --git a/configcenter/zookeeper/README.md b/configcenter/zookeeper/README.md deleted file mode 100644 index bc6f23d..0000000 --- a/configcenter/zookeeper/README.md +++ /dev/null @@ -1,38 +0,0 @@ -### 1.Run zookeeper as config center - -```docker-compose -f docker/docker-compose.yaml up -d``` - -### 2.Run java server & java client following [README](https://github.com/dubbogo/dubbo-samples/blob/master/golang/README.md)(You must run java program to initialize configuration in zookeeper) - -Java program will create consumer & provider common configuration in /dubbo/config/dubbo/dubbo.properties, consumer configuration in /dubbo/config/user-info-client/dubbo.properties - and provider configuration in /dubbo/config/user-info-server/dubbo.properties. - -### 3.Run java server & go client - -Stop java client. Copy go client configuration file [dubbo.properties](https://github.com/dubbogo/dubbo-samples/blob/master/golang/configcenter/zookeeper/dubbo/go-client/profiles/dev/dubbo/config/user-info-client/dubbo.properties) as -zookeeper file /dubbo/config/user-info-client/dubbo.properties in zookeeper node path /dubbo/config/user-info-client/. - -Use the script to set configuration file to zookeeper as below -``` -./zkCli.sh -server 127.0.0.1:2181 set /dubbo/config/user-info-client/dubbo.properties "dubbo.service.com.ikurento.user.UserProvider.cluster=failback -dubbo.service.com.ikurento.user.UserProvider.protocol=myDubbo -dubbo.protocols.myDubbo.port=20000 -dubbo.protocols.myDubbo.name=dubbo -" -``` - -Then start go client following [README](https://github.com/dubbogo/dubbo-samples/blob/master/golang/README.md). - -### 4.Run go server - -The same as step 3. Copy go server configuration file [dubbo.properties](https://github.com/dubbogo/dubbo-samples/blob/master/golang/configcenter/zookeeper/dubbo/go-server/profiles/dev/dubbo/config/user-info-server/dubbo.properties) as -zookeeper file /dubbo/config/user-info-server/dubbo.properties in zookeeper node path /dubbo/config/user-info-server/. - -Use the script to set configuration file to zookeeper as below -``` -./zkCli.sh -server 127.0.0.1:2181 set /dubbo/config/user-info-server/dubbo.properties "dubbo.service.com.ikurento.user.UserProvider.cluster=failback -dubbo.service.com.ikurento.user.UserProvider.protocol=myDubbo -dubbo.protocols.myDubbo.port=20000 -dubbo.protocols.myDubbo.name=dubbo -" -``` \ No newline at end of file diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/bin/load.sh b/configcenter/zookeeper/dubbo/go-client/assembly/bin/load.sh deleted file mode 100644 index ffa240b..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/bin/load.sh +++ /dev/null @@ -1,203 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -APP_NAME="APPLICATION_NAME" -APP_ARGS="" -SLEEP_INTERVAL=5 -MAX_LIFETIME=4000 - -PROJECT_HOME="" -OS_NAME=`uname` -if [[ ${OS_NAME} != "Windows" ]]; then - PROJECT_HOME=`pwd` - PROJECT_HOME=${PROJECT_HOME}"/" -else - APP_NAME="APPLICATION_NAME.exe" -fi - -export CONF_CONSUMER_FILE_PATH=${PROJECT_HOME}"TARGET_CONF_FILE" -export APP_LOG_CONF_FILE=${PROJECT_HOME}"TARGET_LOG_CONF_FILE" -# export GOTRACEBACK=system -# export GODEBUG=gctrace=1 - -usage() { - echo "Usage: $0 start [conf suffix]" - echo " $0 stop" - echo " $0 term" - echo " $0 restart" - echo " $0 list" - echo " $0 monitor" - echo " $0 crontab" - exit -} - -start() { - arg=$1 - if [ "$arg" = "" ];then - echo "No registry type! Default client.yml!" - else - export CONF_CONSUMER_FILE_PATH=${CONF_CONSUMER_FILE_PATH//\.yml/\_$arg\.yml} - fi - if [ ! -f "${CONF_CONSUMER_FILE_PATH}" ];then - echo $CONF_CONSUMER_FILE_PATH" is not existing!" - return - fi - APP_LOG_PATH=${PROJECT_HOME}"logs/" - mkdir -p ${APP_LOG_PATH} - APP_BIN=${PROJECT_HOME}sbin/${APP_NAME} - chmod u+x ${APP_BIN} - # CMD="nohup ${APP_BIN} ${APP_ARGS} >>${APP_NAME}.nohup.out 2>&1 &" - CMD="${APP_BIN}" - eval ${CMD} - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - CUR=`date +%FT%T` - if [ "${PID}" != "" ]; then - for p in ${PID} - do - echo "start ${APP_NAME} ( pid =" ${p} ") at " ${CUR} - done - fi -} - -stop() { - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - if [ "${PID}" != "" ]; - then - for ps in ${PID} - do - echo "kill -SIGINT ${APP_NAME} ( pid =" ${ps} ")" - kill -2 ${ps} - done - fi -} - - -term() { - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - if [ "${PID}" != "" ]; - then - for ps in ${PID} - do - echo "kill -9 ${APP_NAME} ( pid =" ${ps} ")" - kill -9 ${ps} - done - fi -} - -list() { - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{printf("%s,%s,%s,%s\n", $1, $2, $9, $10)}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{printf("%s,%s,%s,%s,%s\n", $1, $4, $6, $7, $8)}'` - fi - - if [ "${PID}" != "" ]; then - echo "list ${APP_NAME}" - - if [[ ${OS_NAME} == "Linux" || ${OS_NAME} == "Darwin" ]]; then - echo "index: user, pid, start, duration" - else - echo "index: PID, WINPID, UID, STIME, COMMAND" - fi - idx=0 - for ps in ${PID} - do - echo "${idx}: ${ps}" - ((idx ++)) - done - fi -} - -monitor() { - idx=0 - while true; do - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - if [[ "${PID}" == "" ]]; then - start - idx=0 - fi - - ((LIFE=idx*${SLEEP_INTERVAL})) - echo "${APP_NAME} ( pid = " ${PID} ") has been working in normal state for " $LIFE " seconds." - ((idx ++)) - sleep ${SLEEP_INTERVAL} - done -} - -crontab() { - idx=0 - while true; do - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - if [[ "${PID}" == "" ]]; then - start - idx=0 - fi - - ((LIFE=idx*${SLEEP_INTERVAL})) - echo "${APP_NAME} ( pid = " ${PID} ") has been working in normal state for " $LIFE " seconds." - ((idx ++)) - sleep ${SLEEP_INTERVAL} - if [[ ${LIFE} -gt ${MAX_LIFETIME} ]]; then - kill -9 ${PID} - fi - done -} - -opt=$1 -case C"$opt" in - Cstart) - start $2 - ;; - Cstop) - stop - ;; - Cterm) - term - ;; - Crestart) - term - start $2 - ;; - Clist) - list - ;; - Cmonitor) - monitor - ;; - Ccrontab) - crontab - ;; - C*) - usage - ;; -esac - diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/common/app.properties b/configcenter/zookeeper/dubbo/go-client/assembly/common/app.properties deleted file mode 100644 index e10868f..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/common/app.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -export TARGET_EXEC_NAME="user_info_client" -# BUILD_PACKAGE="dubbogo-examples/user-info/client/app" -export BUILD_PACKAGE="app" - -export TARGET_CONF_FILE="conf/client.yml" -export TARGET_LOG_CONF_FILE="conf/log.yml" diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/common/build.sh b/configcenter/zookeeper/dubbo/go-client/assembly/common/build.sh deleted file mode 100644 index d38f889..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/common/build.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -rm -rf target/ - -PROJECT_HOME=`pwd` -TARGET_FOLDER=${PROJECT_HOME}/target/${GOOS} - -TARGET_SBIN_NAME=${TARGET_EXEC_NAME} -version=`cat app/version.go | grep Version | grep -v "Apache" | awk -F '=' '{print $2}' | awk -F '"' '{print $2}'` -if [[ ${GOOS} == "windows" ]]; then - TARGET_SBIN_NAME=${TARGET_SBIN_NAME}.exe -fi -TARGET_NAME=${TARGET_FOLDER}/${TARGET_SBIN_NAME} -if [[ $PROFILE == "dev" || $PROFILE == "test" ]]; then - # GFLAGS=-gcflags "-N -l" -race -x -v # -x会把go build的详细过程输出 - # GFLAGS=-gcflags "-N -l" -race -v - # GFLAGS="-gcflags \"-N -l\" -v" - cd ${BUILD_PACKAGE} && GOOS=$GOOS GOARCH=$GOARCH GO111MODULE=on go build -gcflags "-N -l" -x -v -i -o ${TARGET_NAME} && cd - -else - # -s去掉符号表(然后panic时候的stack trace就没有任何文件名/行号信息了,这个等价于普通C/C++程序被strip的效果), - # -w去掉DWARF调试信息,得到的程序就不能用gdb调试了。-s和-w也可以分开使用,一般来说如果不打算用gdb调试, - # -w基本没啥损失。-s的损失就有点大了。 - cd ${BUILD_PACKAGE} && GOOS=$GOOS GOARCH=$GOARCH GO111MODULE=on go build -ldflags "-w" -x -v -i -o ${TARGET_NAME} && cd - -fi - -TAR_NAME=${TARGET_EXEC_NAME}-${version}-`date "+%Y%m%d-%H%M"`-${PROFILE} - -mkdir -p ${TARGET_FOLDER}/${TAR_NAME} - -SBIN_DIR=${TARGET_FOLDER}/${TAR_NAME}/sbin -BIN_DIR=${TARGET_FOLDER}/${TAR_NAME} -CONF_DIR=${TARGET_FOLDER}/${TAR_NAME}/conf - -mkdir -p ${SBIN_DIR} -mkdir -p ${CONF_DIR} - -mv ${TARGET_NAME} ${SBIN_DIR} -cp -r assembly/bin ${BIN_DIR} -cd ${BIN_DIR}/bin/ && mv load.sh load_${TARGET_EXEC_NAME}.sh && cd - - -platform=$(uname) -# modify APPLICATION_NAME -if [ ${platform} == "Darwin" ]; then - sed -i "" "s~APPLICATION_NAME~${TARGET_EXEC_NAME}~g" ${BIN_DIR}/bin/* -else - sed -i "s~APPLICATION_NAME~${TARGET_EXEC_NAME}~g" ${BIN_DIR}/bin/* -fi - -# modify TARGET_CONF_FILE -if [ ${platform} == "Darwin" ]; then - sed -i "" "s~TARGET_CONF_FILE~${TARGET_CONF_FILE}~g" ${BIN_DIR}/bin/* -else - sed -i "s~TARGET_CONF_FILE~${TARGET_CONF_FILE}~g" ${BIN_DIR}/bin/* -fi - -# modify TARGET_LOG_CONF_FILE -if [ ${platform} == "Darwin" ]; then - sed -i "" "s~TARGET_LOG_CONF_FILE~${TARGET_LOG_CONF_FILE}~g" ${BIN_DIR}/bin/* -else - sed -i "s~TARGET_LOG_CONF_FILE~${TARGET_LOG_CONF_FILE}~g" ${BIN_DIR}/bin/* -fi - -cp -r profiles/${PROFILE}/* ${CONF_DIR} - -cd ${TARGET_FOLDER} - -tar czf ${TAR_NAME}.tar.gz ${TAR_NAME}/* - diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/linux/dev.sh b/configcenter/zookeeper/dubbo/go-client/assembly/linux/dev.sh deleted file mode 100644 index eada737..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/linux/dev.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -export PROFILE="dev" - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/linux/release.sh b/configcenter/zookeeper/dubbo/go-client/assembly/linux/release.sh deleted file mode 100644 index 10eb3d7..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/linux/release.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -export PROFILE="release" -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/linux/test.sh b/configcenter/zookeeper/dubbo/go-client/assembly/linux/test.sh deleted file mode 100644 index 78b650c..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/linux/test.sh +++ /dev/null @@ -1,35 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -export PROFILE="test" -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/mac/dev.sh b/configcenter/zookeeper/dubbo/go-client/assembly/mac/dev.sh deleted file mode 100644 index c828476..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/mac/dev.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=darwin -export GOARCH=amd64 - -export PROFILE="dev" - -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/mac/release.sh b/configcenter/zookeeper/dubbo/go-client/assembly/mac/release.sh deleted file mode 100644 index 91c2dfe..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/mac/release.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=darwin -export GOARCH=amd64 - -export PROFILE="release" -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/mac/test.sh b/configcenter/zookeeper/dubbo/go-client/assembly/mac/test.sh deleted file mode 100644 index a7853f5..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/mac/test.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -set -e - -export GOOS=darwin -export GOARCH=amd64 - -export PROFILE="test" -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/windows/dev.sh b/configcenter/zookeeper/dubbo/go-client/assembly/windows/dev.sh deleted file mode 100644 index 10a3866..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/windows/dev.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -export PROFILE="dev" -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/windows/release.sh b/configcenter/zookeeper/dubbo/go-client/assembly/windows/release.sh deleted file mode 100644 index 21af573..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/windows/release.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=windows -export GOARCH=amd64 - -export PROFILE="release" -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/assembly/windows/test.sh b/configcenter/zookeeper/dubbo/go-client/assembly/windows/test.sh deleted file mode 100644 index 2104da8..0000000 --- a/configcenter/zookeeper/dubbo/go-client/assembly/windows/test.sh +++ /dev/null @@ -1,34 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=windows -export GOARCH=amd64 - -export PROFILE="test" -export PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then - . ${PROJECT_HOME}/assembly/common/app.properties -fi - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then - sh ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-client/profiles/dev/dubbo/config/user-info-client/dubbo.properties b/configcenter/zookeeper/dubbo/go-client/profiles/dev/dubbo/config/user-info-client/dubbo.properties deleted file mode 100644 index a7851e7..0000000 --- a/configcenter/zookeeper/dubbo/go-client/profiles/dev/dubbo/config/user-info-client/dubbo.properties +++ /dev/null @@ -1 +0,0 @@ -dubbo.service.com.ikurento.user.UserProvider.cluster=failover \ No newline at end of file diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/bin/load.sh b/configcenter/zookeeper/dubbo/go-server/assembly/bin/load.sh deleted file mode 100644 index 90077c2..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/bin/load.sh +++ /dev/null @@ -1,151 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -APP_NAME="APPLICATION_NAME" -APP_ARGS="" - - -PROJECT_HOME="" -OS_NAME=`uname` -if [[ ${OS_NAME} != "Windows" ]]; then - PROJECT_HOME=`pwd` - PROJECT_HOME=${PROJECT_HOME}"/" -fi - -export CONF_PROVIDER_FILE_PATH=${PROJECT_HOME}"TARGET_CONF_FILE" -export APP_LOG_CONF_FILE=${PROJECT_HOME}"TARGET_LOG_CONF_FILE" - -usage() { - echo "Usage: $0 start [conf suffix]" - echo " $0 stop" - echo " $0 term" - echo " $0 restart" - echo " $0 list" - echo " $0 monitor" - echo " $0 crontab" - exit -} - -start() { - arg=$1 - if [ "$arg" = "" ];then - echo "No registry type! Default server.yml!" - else - export CONF_PROVIDER_FILE_PATH=${CONF_PROVIDER_FILE_PATH//\.yml/\_$arg\.yml} - fi - if [ ! -f "${CONF_PROVIDER_FILE_PATH}" ];then - echo $CONF_PROVIDER_FILE_PATH" is not existing!" - return - fi - APP_LOG_PATH="${PROJECT_HOME}logs/" - mkdir -p ${APP_LOG_PATH} - APP_BIN=${PROJECT_HOME}sbin/${APP_NAME} - chmod u+x ${APP_BIN} - # CMD="nohup ${APP_BIN} ${APP_ARGS} >>${APP_NAME}.nohup.out 2>&1 &" - CMD="${APP_BIN}" - eval ${CMD} - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - CUR=`date +%FT%T` - if [ "${PID}" != "" ]; then - for p in ${PID} - do - echo "start ${APP_NAME} ( pid =" ${p} ") at " ${CUR} - done - fi -} - -stop() { - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - if [ "${PID}" != "" ]; - then - for ps in ${PID} - do - echo "kill -SIGINT ${APP_NAME} ( pid =" ${ps} ")" - kill -2 ${ps} - done - fi -} - - -term() { - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $2}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{print $1}'` - fi - if [ "${PID}" != "" ]; - then - for ps in ${PID} - do - echo "kill -9 ${APP_NAME} ( pid =" ${ps} ")" - kill -9 ${ps} - done - fi -} - -list() { - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{printf("%s,%s,%s,%s\n", $1, $2, $9, $10)}'` - if [[ ${OS_NAME} != "Linux" && ${OS_NAME} != "Darwin" ]]; then - PID=`ps aux | grep -w ${APP_NAME} | grep -v grep | awk '{printf("%s,%s,%s,%s,%s\n", $1, $4, $6, $7, $8)}'` - fi - - if [ "${PID}" != "" ]; then - echo "list ${APP_NAME}" - - if [[ ${OS_NAME} == "Linux" || ${OS_NAME} == "Darwin" ]]; then - echo "index: user, pid, start, duration" - else - echo "index: PID, WINPID, UID, STIME, COMMAND" - fi - idx=0 - for ps in ${PID} - do - echo "${idx}: ${ps}" - ((idx ++)) - done - fi -} - -opt=$1 -case C"$opt" in - Cstart) - start $2 - ;; - Cstop) - stop - ;; - Cterm) - term - ;; - Crestart) - term - start $2 - ;; - Clist) - list - ;; - C*) - usage - ;; -esac - diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/common/app.properties b/configcenter/zookeeper/dubbo/go-server/assembly/common/app.properties deleted file mode 100644 index 1f0827e..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/common/app.properties +++ /dev/null @@ -1,23 +0,0 @@ -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -TARGET_EXEC_NAME="user_info_server" -# BUILD_PACKAGE="dubbogo-examples/user-info/server/app" -BUILD_PACKAGE="app" - -TARGET_CONF_FILE="conf/server.yml" -TARGET_LOG_CONF_FILE="conf/log.yml" diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/common/build.sh b/configcenter/zookeeper/dubbo/go-server/assembly/common/build.sh deleted file mode 100644 index d90d026..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/common/build.sh +++ /dev/null @@ -1,80 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -rm -rf target/ - -PROJECT_HOME=`pwd` -TARGET_FOLDER=${PROJECT_HOME}/target/${GOOS} - -TARGET_SBIN_NAME=${TARGET_EXEC_NAME} -version=`cat app/version.go | grep Version | grep -v "Apache" | awk -F '=' '{print $2}' | awk -F '"' '{print $2}'` -if [[ ${GOOS} == "windows" ]]; then - TARGET_SBIN_NAME=${TARGET_SBIN_NAME}.exe -fi -TARGET_NAME=${TARGET_FOLDER}/${TARGET_SBIN_NAME} -if [[ $PROFILE = "test" ]]; then - # GFLAGS=-gcflags "-N -l" -race -x -v # -x会把go build的详细过程输出 - # GFLAGS=-gcflags "-N -l" -race -v - # GFLAGS="-gcflags \"-N -l\" -v" - cd ${BUILD_PACKAGE} && GO111MODULE=on go build -gcflags "-N -l" -x -v -i -o ${TARGET_NAME} && cd - -else - # -s去掉符号表(然后panic时候的stack trace就没有任何文件名/行号信息了,这个等价于普通C/C++程序被strip的效果), - # -w去掉DWARF调试信息,得到的程序就不能用gdb调试了。-s和-w也可以分开使用,一般来说如果不打算用gdb调试, - # -w基本没啥损失。-s的损失就有点大了。 - cd ${BUILD_PACKAGE} && GO111MODULE=on go build -ldflags "-w" -x -v -i -o ${TARGET_NAME} && cd - -fi - -TAR_NAME=${TARGET_EXEC_NAME}-${version}-`date "+%Y%m%d-%H%M"`-${PROFILE} - -mkdir -p ${TARGET_FOLDER}/${TAR_NAME} - -SBIN_DIR=${TARGET_FOLDER}/${TAR_NAME}/sbin -BIN_DIR=${TARGET_FOLDER}/${TAR_NAME} -CONF_DIR=${TARGET_FOLDER}/${TAR_NAME}/conf - -mkdir -p ${SBIN_DIR} -mkdir -p ${CONF_DIR} - -mv ${TARGET_NAME} ${SBIN_DIR} -cp -r assembly/bin ${BIN_DIR} -# modify APPLICATION_NAME -# OS=`uname` -# if [[ $OS=="Darwin" ]]; then -if [ "$(uname)" == "Darwin" ]; then - sed -i "" "s~APPLICATION_NAME~${TARGET_EXEC_NAME}~g" ${BIN_DIR}/bin/* -else - sed -i "s~APPLICATION_NAME~${TARGET_EXEC_NAME}~g" ${BIN_DIR}/bin/* -fi -# modify TARGET_CONF_FILE -if [ "$(uname)" == "Darwin" ]; then - sed -i "" "s~TARGET_CONF_FILE~${TARGET_CONF_FILE}~g" ${BIN_DIR}/bin/* -else - sed -i "s~TARGET_CONF_FILE~${TARGET_CONF_FILE}~g" ${BIN_DIR}/bin/* -fi -# modify TARGET_LOG_CONF_FILE -if [ "$(uname)" == "Darwin" ]; then - sed -i "" "s~TARGET_LOG_CONF_FILE~${TARGET_LOG_CONF_FILE}~g" ${BIN_DIR}/bin/* -else - sed -i "s~TARGET_LOG_CONF_FILE~${TARGET_LOG_CONF_FILE}~g" ${BIN_DIR}/bin/* -fi - -cp -r profiles/${PROFILE}/* ${CONF_DIR} - -cd ${TARGET_FOLDER} - -tar czf ${TAR_NAME}.tar.gz ${TAR_NAME}/* - diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/linux/dev.sh b/configcenter/zookeeper/dubbo/go-server/assembly/linux/dev.sh deleted file mode 100644 index d830ac9..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/linux/dev.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -PROFILE=dev - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/linux/release.sh b/configcenter/zookeeper/dubbo/go-server/assembly/linux/release.sh deleted file mode 100644 index 9930380..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/linux/release.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -PROFILE=release - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/linux/test.sh b/configcenter/zookeeper/dubbo/go-server/assembly/linux/test.sh deleted file mode 100644 index 87144bb..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/linux/test.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=linux -export GOARCH=amd64 - -PROFILE=test - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/mac/dev.sh b/configcenter/zookeeper/dubbo/go-server/assembly/mac/dev.sh deleted file mode 100644 index 3a7659b..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/mac/dev.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=darwin -export GOARCH=amd64 - -PROFILE=dev - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/mac/release.sh b/configcenter/zookeeper/dubbo/go-server/assembly/mac/release.sh deleted file mode 100644 index 1c4bce4..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/mac/release.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=darwin -export GOARCH=amd64 - -PROFILE=release - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/mac/test.sh b/configcenter/zookeeper/dubbo/go-server/assembly/mac/test.sh deleted file mode 100644 index 69206e3..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/mac/test.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -set -e - -export GOOS=darwin -export GOARCH=amd64 - -PROFILE=test - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi - diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/windows/dev.sh b/configcenter/zookeeper/dubbo/go-server/assembly/windows/dev.sh deleted file mode 100644 index 011fb41..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/windows/dev.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=windows -export GOARCH=amd64 - -PROFILE=dev - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/windows/release.sh b/configcenter/zookeeper/dubbo/go-server/assembly/windows/release.sh deleted file mode 100644 index 679a26a..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/windows/release.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=windows -export GOARCH=amd64 - -PROFILE=release - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/assembly/windows/test.sh b/configcenter/zookeeper/dubbo/go-server/assembly/windows/test.sh deleted file mode 100644 index 4a36de0..0000000 --- a/configcenter/zookeeper/dubbo/go-server/assembly/windows/test.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - - -set -e - -export GOOS=windows -export GOARCH=amd64 - -PROFILE=test - -PROJECT_HOME=`pwd` - -if [ -f "${PROJECT_HOME}/assembly/common/app.properties" ]; then -. ${PROJECT_HOME}/assembly/common/app.properties -fi - - -if [ -f "${PROJECT_HOME}/assembly/common/build.sh" ]; then -. ${PROJECT_HOME}/assembly/common/build.sh -fi diff --git a/configcenter/zookeeper/dubbo/go-server/profiles/dev/dubbo/config/user-info-server/dubbo.properties b/configcenter/zookeeper/dubbo/go-server/profiles/dev/dubbo/config/user-info-server/dubbo.properties deleted file mode 100644 index 54c19b1..0000000 --- a/configcenter/zookeeper/dubbo/go-server/profiles/dev/dubbo/config/user-info-server/dubbo.properties +++ /dev/null @@ -1,4 +0,0 @@ -dubbo.service.com.ikurento.user.UserProvider.cluster=failback -dubbo.service.com.ikurento.user.UserProvider.protocol=myDubbo -dubbo.protocols.myDubbo.port=20000 -dubbo.protocols.myDubbo.name=dubbo diff --git a/configcenter/zookeeper/dubbo/java-client/build.sh b/configcenter/zookeeper/dubbo/java-client/build.sh deleted file mode 100644 index c869acf..0000000 --- a/configcenter/zookeeper/dubbo/java-client/build.sh +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# rm src/main/resources/META-INF/spring/dubbo.consumer.xml -# cp src/main/resources/META-INF/spring/dubbo-protocol.consumer.xml src/main/resources/META-INF/spring/dubbo.consumer.xml -# cp src/main/resources/META-INF/spring/jsonrpc-protocol.consumer.xml src/main/resources/META-INF/spring/dubbo.consumer.xml -mvn clean package -Dmaven.test.skip diff --git a/configcenter/zookeeper/dubbo/java-client/pom.xml b/configcenter/zookeeper/dubbo/java-client/pom.xml deleted file mode 100644 index 047df14..0000000 --- a/configcenter/zookeeper/dubbo/java-client/pom.xml +++ /dev/null @@ -1,205 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<project xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>com.ikurento</groupId> - <artifactId>user-info-client</artifactId> - <packaging>jar</packaging> - <version>0.2.0</version> - <description>The demo consumer module of dubbo project</description> - - <properties> - <source.level>1.8</source.level> - <target.level>1.8</target.level> - <dubbo.version>2.7.3</dubbo.version> - <spring.version>4.3.16.RELEASE</spring.version> - <junit.version>4.12</junit.version> - <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version> - <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version> - <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version> - <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version> - <image.name>${artifactId}:${dubbo.version}</image.name> - <java-image.name>openjdk:8</java-image.name> - <dubbo.port>20880</dubbo.port> - <zookeeper.port>2181</zookeeper.port> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo</artifactId> - <version>${dubbo.version}</version> - </dependency> - - <dependency> - <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-dependencies-zookeeper</artifactId> - <version>${dubbo.version}</version> - <type>pom</type> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <version>${spring.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - - <profiles> - <profile> - <id>dubbo-integration-test</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-maven-address-plugin</artifactId> - <version>1.0-SNAPSHOT</version> - <executions> - <execution> - <goals> - <goal>local-address</goal> - </goals> - <configuration> - <localAddress>dubbo-local-address</localAddress> - </configuration> - <phase>initialize</phase> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>com.google.cloud.tools</groupId> - <artifactId>jib-maven-plugin</artifactId> - <version>${jib-maven-plugin.version}</version> - <configuration> - <from> - <image>${java-image.name}</image> - </from> - <to> - <image>${image.name}</image> - </to> - <container> - <mainClass>${main-class}</mainClass> - <ports> - <port>${dubbo.port}</port> - <port>${zookeeper.port}</port> - </ports> - <environment> - <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY> - </environment> - <jvmFlags> - <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag> - </jvmFlags> - </container> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>dockerBuild</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>io.fabric8</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>${docker-maven-plugin.version}</version> - <configuration> - <images> - <image> - <name>${image.name}</name> - <run> - <ports> - <port>${dubbo.port}:${dubbo.port}</port> - <port>${zookeeper.port}:${zookeeper.port}</port> - </ports> - <wait> - <log>dubbo service started</log> - </wait> - </run> - </image> - </images> - </configuration> - <executions> - <execution> - <id>start</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start</goal> - </goals> - </execution> - <execution> - <id>stop</id> - <phase>post-integration-test</phase> - <goals> - <goal>stop</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <version>${maven-failsafe-plugin.version}</version> - <executions> - <execution> - <goals> - <goal>integration-test</goal> - <goal>verify</goal> - </goals> - <configuration> - <systemPropertyVariables> - <zookeeper.address>${dubbo-local-address}</zookeeper.address> - </systemPropertyVariables> - <includes> - <include>**/*IT.java</include> - </includes> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>${maven-compiler-plugin.version}</version> - <configuration> - <source>${source.level}</source> - <target>${target.level}</target> - </configuration> - </plugin> - </plugins> - </build> -</project> diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/assembly/assembly.xml b/configcenter/zookeeper/dubbo/java-client/src/main/assembly/assembly.xml deleted file mode 100644 index bc00a06..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/assembly/assembly.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<assembly> - <id>assembly</id> - <formats> - <format>tar.gz</format> - </formats> - <includeBaseDirectory>true</includeBaseDirectory> - <fileSets> - <fileSet> - <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory> - <outputDirectory>bin</outputDirectory> - <fileMode>0755</fileMode> - </fileSet> - <fileSet> - <directory>src/main/resources</directory> - <includes> - <include>dubbo.properties</include> - <include>log4j.*</include> - </includes> - <outputDirectory>conf</outputDirectory> - <fileMode>0644</fileMode> - </fileSet> - </fileSets> - <dependencySets> - <dependencySet> - <outputDirectory>lib</outputDirectory> - </dependencySet> - </dependencySets> -</assembly> \ No newline at end of file diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java b/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java deleted file mode 100644 index 330028c..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/Consumer.java +++ /dev/null @@ -1,63 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ikurento.user; - -import java.text.SimpleDateFormat; -import java.util.Date; - -import org.springframework.context.support.ClassPathXmlApplicationContext; - - -public class Consumer { - // Define a private variable (Required in Spring) - private UserProvider userProvider; - - // Spring DI (Required in Spring) - public void setUserProvider(UserProvider u) { - this.userProvider = u; - } - - public static void main(String[] args) throws Exception { - new EmbeddedZooKeeper(2181, false).start(); - ZKTools.generateDubboProperties(); - Thread.sleep(2000); - ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo.consumer.xml","META-INF/spring/service.xml"); - context.start(); - context.getBean(Consumer.class).start(); - } - - // Start the entry function for consumer (Specified in the configuration file) - public void start() { - System.out.println("\n\ntest"); - testGetUser(); - } - - private void testGetUser() { - try { - User user1 = userProvider.GetUser("A003"); - System.out.println("[" + new SimpleDateFormat("HH:mm:ss").format(new Date()) + "] " + - " UserInfo, Id:" + user1.getId() + ", name:" + user1.getName() - + ", age:" + user1.getAge() + ", time:" + user1.getTime().toString()); - - } catch (Exception e) { - System.out.println("*************exception***********"); - e.printStackTrace(); - } - } - -} diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/EmbeddedZooKeeper.java b/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/EmbeddedZooKeeper.java deleted file mode 100644 index fb99a0d..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/EmbeddedZooKeeper.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Copyright 2014 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.ikurento.user; - -import org.apache.zookeeper.server.ServerConfig; -import org.apache.zookeeper.server.ZooKeeperServerMain; -import org.apache.zookeeper.server.quorum.QuorumPeerConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.SmartLifecycle; -import org.springframework.util.ErrorHandler; -import org.springframework.util.SocketUtils; - -import java.io.File; -import java.lang.reflect.Method; -import java.util.Properties; -import java.util.UUID; - -/** - * from: https://github.com/spring-projects/spring-xd/blob/v1.3.1.RELEASE/spring-xd-dirt/src/main/java/org/springframework/xd/dirt/zookeeper/ZooKeeperUtils.java - * <p> - * Helper class to start an embedded instance of standalone (non clustered) ZooKeeper. - * <p> - * NOTE: at least an external standalone server (if not an ensemble) are recommended, even for - * {@link org.springframework.xd.dirt.server.singlenode.SingleNodeApplication} - * - * @author Patrick Peralta - * @author Mark Fisher - * @author David Turanski - */ -public class EmbeddedZooKeeper implements SmartLifecycle { - - /** - * Logger. - */ - private static final Logger logger = LoggerFactory.getLogger(EmbeddedZooKeeper.class); - - /** - * ZooKeeper client port. This will be determined dynamically upon startup. - */ - private final int clientPort; - - /** - * Whether to auto-start. Default is true. - */ - private boolean autoStartup = true; - - /** - * Lifecycle phase. Default is 0. - */ - private int phase = 0; - - /** - * Thread for running the ZooKeeper server. - */ - private volatile Thread zkServerThread; - - /** - * ZooKeeper server. - */ - private volatile ZooKeeperServerMain zkServer; - - /** - * {@link ErrorHandler} to be invoked if an Exception is thrown from the ZooKeeper server thread. - */ - private ErrorHandler errorHandler; - - private boolean daemon = true; - - /** - * Construct an EmbeddedZooKeeper with a random port. - */ - public EmbeddedZooKeeper() { - clientPort = SocketUtils.findAvailableTcpPort(); - } - - /** - * Construct an EmbeddedZooKeeper with the provided port. - * - * @param clientPort port for ZooKeeper server to bind to - */ - public EmbeddedZooKeeper(int clientPort, boolean daemon) { - this.clientPort = clientPort; - this.daemon = daemon; - } - - /** - * Returns the port that clients should use to connect to this embedded server. - * - * @return dynamically determined client port - */ - public int getClientPort() { - return this.clientPort; - } - - /** - * Specify whether to start automatically. Default is true. - * - * @param autoStartup whether to start automatically - */ - public void setAutoStartup(boolean autoStartup) { - this.autoStartup = autoStartup; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean isAutoStartup() { - return this.autoStartup; - } - - /** - * Specify the lifecycle phase for the embedded server. - * - * @param phase the lifecycle phase - */ - public void setPhase(int phase) { - this.phase = phase; - } - - /** - * {@inheritDoc} - */ - @Override - public int getPhase() { - return this.phase; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean isRunning() { - return (zkServerThread != null); - } - - /** - * Start the ZooKeeper server in a background thread. - * <p> - * Register an error handler via {@link #setErrorHandler} in order to handle - * any exceptions thrown during startup or execution. - */ - @Override - public synchronized void start() { - if (zkServerThread == null) { - zkServerThread = new Thread(new ServerRunnable(), "ZooKeeper Server Starter"); - zkServerThread.setDaemon(daemon); - zkServerThread.start(); - } - } - - /** - * Shutdown the ZooKeeper server. - */ - @Override - public synchronized void stop() { - if (zkServerThread != null) { - // The shutdown method is protected...thus this hack to invoke it. - // This will log an exception on shutdown; see - // https://issues.apache.org/jira/browse/ZOOKEEPER-1873 for details. - try { - Method shutdown = ZooKeeperServerMain.class.getDeclaredMethod("shutdown"); - shutdown.setAccessible(true); - shutdown.invoke(zkServer); - } catch (Exception e) { - throw new RuntimeException(e); - } - - // It is expected that the thread will exit after - // the server is shutdown; this will block until - // the shutdown is complete. - try { - zkServerThread.join(5000); - zkServerThread = null; - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - logger.warn("Interrupted while waiting for embedded ZooKeeper to exit"); - // abandoning zk thread - zkServerThread = null; - } - } - } - - /** - * Stop the server if running and invoke the callback when complete. - */ - @Override - public void stop(Runnable callback) { - stop(); - callback.run(); - } - - /** - * Provide an {@link ErrorHandler} to be invoked if an Exception is thrown from the ZooKeeper server thread. If none - * is provided, only error-level logging will occur. - * - * @param errorHandler the {@link ErrorHandler} to be invoked - */ - public void setErrorHandler(ErrorHandler errorHandler) { - this.errorHandler = errorHandler; - } - - /** - * Runnable implementation that starts the ZooKeeper server. - */ - private class ServerRunnable implements Runnable { - - @Override - public void run() { - try { - Properties properties = new Properties(); - File file = new File(System.getProperty("java.io.tmpdir") - + File.separator + UUID.randomUUID()); - file.deleteOnExit(); - properties.setProperty("dataDir", file.getAbsolutePath()); - properties.setProperty("clientPort", String.valueOf(clientPort)); - - QuorumPeerConfig quorumPeerConfig = new QuorumPeerConfig(); - quorumPeerConfig.parseProperties(properties); - - zkServer = new ZooKeeperServerMain(); - ServerConfig configuration = new ServerConfig(); - configuration.readFrom(quorumPeerConfig); - - zkServer.runFromConfig(configuration); - } catch (Exception e) { - if (errorHandler != null) { - errorHandler.handleError(e); - } else { - logger.error("Exception running embedded ZooKeeper", e); - } - } - } - } - -} \ No newline at end of file diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/User.java b/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/User.java deleted file mode 100644 index 666e904..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/User.java +++ /dev/null @@ -1,76 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ikurento.user; - -import java.util.Date; - -public class User { - - private String id; - - private String name; - - private int age; - - private Date time = new Date(); - - - public User() { - } - - - public User(String id, String name, int age) { - this.id = id; - this.name = name; - this.age = age; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public Date getTime() { - return time; - } - - public void setTime(Date time) { - this.time = time; - } - - -} diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/UserProvider.java b/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/UserProvider.java deleted file mode 100644 index 67a836a..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/UserProvider.java +++ /dev/null @@ -1,18 +0,0 @@ -/* - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.ikurento.user; - -public interface UserProvider { - User GetUser(String userId); -} diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/ZKTools.java b/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/ZKTools.java deleted file mode 100644 index 65059ec..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/java/com/ikurento/user/ZKTools.java +++ /dev/null @@ -1,88 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.ikurento.user; - -import org.apache.curator.framework.CuratorFramework; -import org.apache.curator.framework.CuratorFrameworkFactory; -import org.apache.curator.retry.ExponentialBackoffRetry; - -public class ZKTools { - private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1"); - private static CuratorFramework client; - - public static void main(String[] args) throws Exception { - generateDubboProperties(); - } - - public static void generateDubboProperties() { - client = CuratorFrameworkFactory.newClient(zookeeperHost + ":2181", 60 * 1000, 60 * 1000, - new ExponentialBackoffRetry(1000, 3)); - client.start(); - - generateDubboPropertiesForGlobal(); - generateDubboPropertiesForConsumer(); - } - - public static void generateDubboPropertiesForGlobal() { - String str = "dubbo.registry.address=zookeeper://" + zookeeperHost + ":2181\n" + -// "dubbo.metadata-report.address=zookeeper://" + zookeeperHost + ":2181\n" + - "dubbo.protocol.port=-1\n" + -// "dubbo.registry.simplified=true\n"+ - ""; - - System.out.println(str); - - try { - String path = "/dubbo/config/dubbo/dubbo.properties"; - if (client.checkExists().forPath(path) == null) { - client.create().creatingParentsIfNeeded().forPath(path); - } - setData(path, str); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void generateDubboPropertiesForConsumer() { - String str = "dubbo.consumer.timeout=6666\n" + - "dubbo.reference.com.ikurento.user.UserProvider.cluster=failback"; - - System.out.println(str); - - try { - String path = "/dubbo/config/user-info-client/dubbo.properties"; - if (client.checkExists().forPath(path) == null) { - client.create().creatingParentsIfNeeded().forPath(path); - } - setData(path, str); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private static void createNode(String path) throws Exception { - client.create().forPath(path); - } - - private static void deleteNode(String path) throws Exception { - client.delete().forPath(path); - } - - private static void setData(String path, String data) throws Exception { - client.setData().forPath(path, data.getBytes()); - } -} diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/configcenter/zookeeper/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml deleted file mode 100644 index 8aabb7e..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml +++ /dev/null @@ -1,34 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd - http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> - - - <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 --> - <dubbo:application name="user-info-client" /> - <dubbo:config-center address="zookeeper://127.0.0.1:2181"/> - - <!-- 用dubbo协议在20880端口暴露服务 --> - <dubbo:protocol id="dubbo" name="dubbo" /> - <dubbo:protocol id="jsonrpc" name="jsonrpc" /> - - <!-- 声明需要使用的服务接口 --> - <dubbo:reference registry="ikurento" check="false" id="userProvider" protocol="dubbo" interface="com.ikurento.user.UserProvider"> - <!--<dubbo:parameter key="heartbeat" value="10000"/ --> - </dubbo:reference> -</beans> diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/resources/META-INF/spring/service.xml b/configcenter/zookeeper/dubbo/java-client/src/main/resources/META-INF/spring/service.xml deleted file mode 100644 index 529f63e..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/resources/META-INF/spring/service.xml +++ /dev/null @@ -1,27 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<beans xmlns="http://www.springframework.org/schema/beans" - xmlns:context="http://www.springframework.org/schema/context" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:dubbo="http://code.alibabatech.com/schema/dubbo" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd - http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd"> - - <bean class="com.ikurento.user.Consumer" init-method="start"> - <!-- 声明这个类 要使用的服务名--> - <property name="userProvider" ref="userProvider" /> - </bean> - -</beans> diff --git a/configcenter/zookeeper/dubbo/java-client/src/main/resources/log4j.properties b/configcenter/zookeeper/dubbo/java-client/src/main/resources/log4j.properties deleted file mode 100644 index 06bcb34..0000000 --- a/configcenter/zookeeper/dubbo/java-client/src/main/resources/log4j.properties +++ /dev/null @@ -1,19 +0,0 @@ -## Logger configure file for myproject -log.dir=logs/ -datestamp=yyyy-MM-dd/HH:mm:ss.SSS - -log4j.rootLogger=DEBUG, file, console - -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.threshold=DEBUG -log4j.appender.file.File=${log.dir}/log4j.log -log4j.appender.file.DatePattern=-yyyyMMddHH -log4j.appender.file.ImmediateFlush=true -log4j.appender.file.Append=true -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n - -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.Threshold=DEBUG -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n diff --git a/configcenter/zookeeper/dubbo/java-server/build.sh b/configcenter/zookeeper/dubbo/java-server/build.sh deleted file mode 100644 index 7b5755b..0000000 --- a/configcenter/zookeeper/dubbo/java-server/build.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -# mvn dependency:sources -mvn clean package -Dmaven.test.skip -# mvn -X clean compile package -DskipTests=true diff --git a/configcenter/zookeeper/dubbo/java-server/pom.xml b/configcenter/zookeeper/dubbo/java-server/pom.xml deleted file mode 100644 index 310c617..0000000 --- a/configcenter/zookeeper/dubbo/java-server/pom.xml +++ /dev/null @@ -1,210 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - - -<project xmlns="http://maven.apache.org/POM/4.0.0" - xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> - <modelVersion>4.0.0</modelVersion> - - <groupId>com.ikurento</groupId> - <artifactId>user-info-server</artifactId> - <packaging>jar</packaging> - <version>0.2.0</version> - <description>The demo provider module of dubbo project</description> - <properties> - <source.level>1.8</source.level> - <target.level>1.8</target.level> - <dubbo.version>2.7.3</dubbo.version> - <spring.version>4.3.16.RELEASE</spring.version> - <junit.version>4.12</junit.version> - <docker-maven-plugin.version>0.30.0</docker-maven-plugin.version> - <jib-maven-plugin.version>1.2.0</jib-maven-plugin.version> - <maven-compiler-plugin.version>3.7.0</maven-compiler-plugin.version> - <maven-failsafe-plugin.version>2.21.0</maven-failsafe-plugin.version> - <image.name>${artifactId}:${dubbo.version}</image.name> - <java-image.name>openjdk:8</java-image.name> - <dubbo.port>20880</dubbo.port> - <zookeeper.port>2181</zookeeper.port> - <main-class>org.apache.dubbo.samples.configcenter.BasicProvider</main-class> - </properties> - - <dependencies> - <dependency> - <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo</artifactId> - <version>${dubbo.version}</version> - </dependency> - - <dependency> - <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-dependencies-zookeeper</artifactId> - <version>${dubbo.version}</version> - <type>pom</type> - </dependency> - - <dependency> - <groupId>junit</groupId> - <artifactId>junit</artifactId> - <version>${junit.version}</version> - <scope>test</scope> - </dependency> - - <dependency> - <groupId>org.springframework</groupId> - <artifactId>spring-test</artifactId> - <version>${spring.version}</version> - <scope>test</scope> - </dependency> - </dependencies> - - <profiles> - <profile> - <id>dubbo-integration-test</id> - <build> - <plugins> - <plugin> - <groupId>org.apache.dubbo</groupId> - <artifactId>dubbo-maven-address-plugin</artifactId> - <version>1.0-SNAPSHOT</version> - <executions> - <execution> - <goals> - <goal>local-address</goal> - </goals> - <configuration> - <localAddress>dubbo-local-address</localAddress> - </configuration> - <phase>initialize</phase> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>com.google.cloud.tools</groupId> - <artifactId>jib-maven-plugin</artifactId> - <version>${jib-maven-plugin.version}</version> - <configuration> - <from> - <image>${java-image.name}</image> - </from> - <to> - <image>${image.name}</image> - </to> - <container> - <mainClass>${main-class}</mainClass> - <ports> - <port>${dubbo.port}</port> - <port>${zookeeper.port}</port> - </ports> - <environment> - <DUBBO_IP_TO_REGISTRY>${dubbo-local-address}</DUBBO_IP_TO_REGISTRY> - </environment> - <jvmFlags> - <jvmFlag>-Dzookeeper.address=${dubbo-local-address}</jvmFlag> - </jvmFlags> - </container> - </configuration> - <executions> - <execution> - <phase>package</phase> - <goals> - <goal>dockerBuild</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>io.fabric8</groupId> - <artifactId>docker-maven-plugin</artifactId> - <version>${docker-maven-plugin.version}</version> - <configuration> - <images> - <image> - <name>${image.name}</name> - <run> - <ports> - <port>${dubbo.port}:${dubbo.port}</port> - <port>${zookeeper.port}:${zookeeper.port}</port> - </ports> - <wait> - <log>dubbo service started</log> - </wait> - </run> - </image> - </images> - </configuration> - <executions> - <execution> - <id>start</id> - <phase>pre-integration-test</phase> - <goals> - <goal>start</goal> - </goals> - </execution> - <execution> - <id>stop</id> - <phase>post-integration-test</phase> - <goals> - <goal>stop</goal> - </goals> - </execution> - </executions> - </plugin> - - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-failsafe-plugin</artifactId> - <version>${maven-failsafe-plugin.version}</version> - <executions> - <execution> - <goals> - <goal>integration-test</goal> - <goal>verify</goal> - </goals> - <configuration> - <systemPropertyVariables> - <zookeeper.address>${dubbo-local-address}</zookeeper.address> - </systemPropertyVariables> - <includes> - <include>**/*IT.java</include> - </includes> - </configuration> - </execution> - </executions> - </plugin> - </plugins> - </build> - </profile> - </profiles> - - <build> - <plugins> - <plugin> - <groupId>org.apache.maven.plugins</groupId> - <artifactId>maven-compiler-plugin</artifactId> - <version>${maven-compiler-plugin.version}</version> - <configuration> - <source>${source.level}</source> - <target>${target.level}</target> - </configuration> - </plugin> - </plugins> - </build> - -</project> - - diff --git a/configcenter/zookeeper/dubbo/java-server/script/debug.sh b/configcenter/zookeeper/dubbo/java-server/script/debug.sh deleted file mode 100644 index 851957a..0000000 --- a/configcenter/zookeeper/dubbo/java-server/script/debug.sh +++ /dev/null @@ -1,23 +0,0 @@ -#!/usr/bin/env bash -# -# Licensed to the Apache Software Foundation (ASF) under one or more -# contributor license agreements. See the NOTICE file distributed with -# this work for additional information regarding copyright ownership. -# The ASF licenses this file to You under the Apache License, Version 2.0 -# (the "License"); you may not use this file except in compliance with -# the License. You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - - -# jdb -classpath /Users/alex/tmp/us/conf:/Users/alex/tmp/us/lib/*:/Users/alex/test/java/dubbo/2.5.4/dubbo-remoting/dubbo-remoting-api/src/main/java/ com.alibaba.dubbo.container.Main -jdb -classpath /Users/alex/tmp/us/conf:/Users/alex/tmp/us/lib/* -sourcepath /Users/alex/test/java/dubbo/2.5.4/dubbo-remoting/dubbo-remoting-api/src/main/java/:/Users/alex/tmp/java-server/src/main/java com.alibaba.dubbo.container.Main -# jdb stop at com.alibaba.dubbo.remoting.exchange.codec.ExchangeCodec:76 -# run - diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/assembly/assembly.xml b/configcenter/zookeeper/dubbo/java-server/src/main/assembly/assembly.xml deleted file mode 100644 index 5ab3425..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/assembly/assembly.xml +++ /dev/null @@ -1,43 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> -<assembly> - <id>assembly</id> - <formats> - <format>tar.gz</format> - </formats> - <includeBaseDirectory>true</includeBaseDirectory> - <fileSets> - <fileSet> - <directory>${project.build.directory}/dubbo/META-INF/assembly/bin</directory> - <outputDirectory>bin</outputDirectory> - <fileMode>0755</fileMode> - <directoryMode>0755</directoryMode> - </fileSet> - <fileSet> - <directory>src/main/resources</directory> - <includes> - <include>log4j.*</include> - </includes> - <outputDirectory>conf</outputDirectory> - <fileMode>0644</fileMode> - <directoryMode>0755</directoryMode> - </fileSet> - </fileSets> - <dependencySets> - <dependencySet> - <outputDirectory>lib</outputDirectory> - </dependencySet> - </dependencySets> -</assembly> \ No newline at end of file diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/EmbeddedZooKeeper.java b/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/EmbeddedZooKeeper.java deleted file mode 100644 index fb99a0d..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/EmbeddedZooKeeper.java +++ /dev/null @@ -1,250 +0,0 @@ -/* - * Copyright 2014 the original author or authors. - * - * Licensed under the Apache License, Version 2.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.ikurento.user; - -import org.apache.zookeeper.server.ServerConfig; -import org.apache.zookeeper.server.ZooKeeperServerMain; -import org.apache.zookeeper.server.quorum.QuorumPeerConfig; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; -import org.springframework.context.SmartLifecycle; -import org.springframework.util.ErrorHandler; -import org.springframework.util.SocketUtils; - -import java.io.File; -import java.lang.reflect.Method; -import java.util.Properties; -import java.util.UUID; - -/** - * from: https://github.com/spring-projects/spring-xd/blob/v1.3.1.RELEASE/spring-xd-dirt/src/main/java/org/springframework/xd/dirt/zookeeper/ZooKeeperUtils.java - * <p> - * Helper class to start an embedded instance of standalone (non clustered) ZooKeeper. - * <p> - * NOTE: at least an external standalone server (if not an ensemble) are recommended, even for - * {@link org.springframework.xd.dirt.server.singlenode.SingleNodeApplication} - * - * @author Patrick Peralta - * @author Mark Fisher - * @author David Turanski - */ -public class EmbeddedZooKeeper implements SmartLifecycle { - - /** - * Logger. - */ - private static final Logger logger = LoggerFactory.getLogger(EmbeddedZooKeeper.class); - - /** - * ZooKeeper client port. This will be determined dynamically upon startup. - */ - private final int clientPort; - - /** - * Whether to auto-start. Default is true. - */ - private boolean autoStartup = true; - - /** - * Lifecycle phase. Default is 0. - */ - private int phase = 0; - - /** - * Thread for running the ZooKeeper server. - */ - private volatile Thread zkServerThread; - - /** - * ZooKeeper server. - */ - private volatile ZooKeeperServerMain zkServer; - - /** - * {@link ErrorHandler} to be invoked if an Exception is thrown from the ZooKeeper server thread. - */ - private ErrorHandler errorHandler; - - private boolean daemon = true; - - /** - * Construct an EmbeddedZooKeeper with a random port. - */ - public EmbeddedZooKeeper() { - clientPort = SocketUtils.findAvailableTcpPort(); - } - - /** - * Construct an EmbeddedZooKeeper with the provided port. - * - * @param clientPort port for ZooKeeper server to bind to - */ - public EmbeddedZooKeeper(int clientPort, boolean daemon) { - this.clientPort = clientPort; - this.daemon = daemon; - } - - /** - * Returns the port that clients should use to connect to this embedded server. - * - * @return dynamically determined client port - */ - public int getClientPort() { - return this.clientPort; - } - - /** - * Specify whether to start automatically. Default is true. - * - * @param autoStartup whether to start automatically - */ - public void setAutoStartup(boolean autoStartup) { - this.autoStartup = autoStartup; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean isAutoStartup() { - return this.autoStartup; - } - - /** - * Specify the lifecycle phase for the embedded server. - * - * @param phase the lifecycle phase - */ - public void setPhase(int phase) { - this.phase = phase; - } - - /** - * {@inheritDoc} - */ - @Override - public int getPhase() { - return this.phase; - } - - /** - * {@inheritDoc} - */ - @Override - public boolean isRunning() { - return (zkServerThread != null); - } - - /** - * Start the ZooKeeper server in a background thread. - * <p> - * Register an error handler via {@link #setErrorHandler} in order to handle - * any exceptions thrown during startup or execution. - */ - @Override - public synchronized void start() { - if (zkServerThread == null) { - zkServerThread = new Thread(new ServerRunnable(), "ZooKeeper Server Starter"); - zkServerThread.setDaemon(daemon); - zkServerThread.start(); - } - } - - /** - * Shutdown the ZooKeeper server. - */ - @Override - public synchronized void stop() { - if (zkServerThread != null) { - // The shutdown method is protected...thus this hack to invoke it. - // This will log an exception on shutdown; see - // https://issues.apache.org/jira/browse/ZOOKEEPER-1873 for details. - try { - Method shutdown = ZooKeeperServerMain.class.getDeclaredMethod("shutdown"); - shutdown.setAccessible(true); - shutdown.invoke(zkServer); - } catch (Exception e) { - throw new RuntimeException(e); - } - - // It is expected that the thread will exit after - // the server is shutdown; this will block until - // the shutdown is complete. - try { - zkServerThread.join(5000); - zkServerThread = null; - } catch (InterruptedException e) { - Thread.currentThread().interrupt(); - logger.warn("Interrupted while waiting for embedded ZooKeeper to exit"); - // abandoning zk thread - zkServerThread = null; - } - } - } - - /** - * Stop the server if running and invoke the callback when complete. - */ - @Override - public void stop(Runnable callback) { - stop(); - callback.run(); - } - - /** - * Provide an {@link ErrorHandler} to be invoked if an Exception is thrown from the ZooKeeper server thread. If none - * is provided, only error-level logging will occur. - * - * @param errorHandler the {@link ErrorHandler} to be invoked - */ - public void setErrorHandler(ErrorHandler errorHandler) { - this.errorHandler = errorHandler; - } - - /** - * Runnable implementation that starts the ZooKeeper server. - */ - private class ServerRunnable implements Runnable { - - @Override - public void run() { - try { - Properties properties = new Properties(); - File file = new File(System.getProperty("java.io.tmpdir") - + File.separator + UUID.randomUUID()); - file.deleteOnExit(); - properties.setProperty("dataDir", file.getAbsolutePath()); - properties.setProperty("clientPort", String.valueOf(clientPort)); - - QuorumPeerConfig quorumPeerConfig = new QuorumPeerConfig(); - quorumPeerConfig.parseProperties(properties); - - zkServer = new ZooKeeperServerMain(); - ServerConfig configuration = new ServerConfig(); - configuration.readFrom(quorumPeerConfig); - - zkServer.runFromConfig(configuration); - } catch (Exception e) { - if (errorHandler != null) { - errorHandler.handleError(e); - } else { - logger.error("Exception running embedded ZooKeeper", e); - } - } - } - } - -} \ No newline at end of file diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/Provider.java b/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/Provider.java deleted file mode 100644 index 2310bdc..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/Provider.java +++ /dev/null @@ -1,42 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.ikurento.user; - -import org.springframework.context.support.ClassPathXmlApplicationContext; - -import java.util.concurrent.CountDownLatch; - -public class Provider { - - /** - * To get ipv6 address to work, add - * System.setProperty("java.net.preferIPv6Addresses", "true"); - * before running your application. - */ - public static void main(String[] args) throws Exception { - new EmbeddedZooKeeper(2181, false).start(); - ZKTools.generateDubboProperties(); - Thread.sleep(2000); - - ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("META-INF/spring/dubbo.provider.xml"); - context.registerShutdownHook(); - context.start(); - - System.out.println("dubbo service started"); - new CountDownLatch(1).await(); - } -} diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/User.java b/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/User.java deleted file mode 100644 index fd2cafb..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/User.java +++ /dev/null @@ -1,86 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ikurento.user; - -import java.util.Date; -import java.io.Serializable; - -public class User implements Serializable { - - private String id; - - private String name; - - private int age; - - private Date time = new Date(); - - public User() { - } - - public User(String id, String name, int age) { - this.id = id; - this.name = name; - this.age = age; - } - - public User(String id, String name, int age, Date time) { - this.id = id; - this.name = name; - this.age = age; - this.time = time; - } - - public String getId() { - return id; - } - - public void setId(String id) { - this.id = id; - } - - public String getName() { - return name; - } - - public void setName(String name) { - this.name = name; - } - - public int getAge() { - return age; - } - - public void setAge(int age) { - this.age = age; - } - - public Date getTime() { - return time; - } - - public void setTime(Date time) { - this.time = time; - } - - - - public String toString() { - return "User{id:" + id + ", name:" + name + ", age:" + age + ", time:" + time +"}"; - } -} diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/ZKTools.java b/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/ZKTools.java deleted file mode 100644 index 6ed90de..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/ZKTools.java +++ /dev/null @@ -1,89 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ -package com.ikurento.user; - -import org.apache.curator.framework.CuratorFramework; -import org.apache.curator.framework.CuratorFrameworkFactory; -import org.apache.curator.retry.ExponentialBackoffRetry; - -public class ZKTools { - private static String zookeeperHost = System.getProperty("zookeeper.address", "127.0.0.1"); - private static CuratorFramework client; - - public static void main(String[] args) throws Exception { - generateDubboProperties(); - } - - public static void generateDubboProperties() { - client = CuratorFrameworkFactory.newClient(zookeeperHost + ":2181", 60 * 1000, 60 * 1000, - new ExponentialBackoffRetry(1000, 3)); - client.start(); - - generateDubboPropertiesForGlobal(); - generateDubboPropertiesForApp(); - } - - public static void generateDubboPropertiesForGlobal() { - String str = "dubbo.registry.address=zookeeper://" + zookeeperHost + ":2181\n" + -// "dubbo.metadata-report.address=zookeeper://" + zookeeperHost + ":2181\n" + - "dubbo.protocol.port=-1\n" + -// "dubbo.registry.simplified=true\n"+ - ""; - - System.out.println(str); - - try { - String path = "/dubbo/config/dubbo/dubbo.properties"; - if (client.checkExists().forPath(path) == null) { - client.create().creatingParentsIfNeeded().forPath(path); - } - setData(path, str); - } catch (Exception e) { - e.printStackTrace(); - } - } - - public static void generateDubboPropertiesForApp() { - String str = "dubbo.provider.timeout=6666\n" + - "dubbo.application.qos.port=33333\n" + - "dubbo.service.com.ikurento.user.UserProvider.cluster=failback"; - - System.out.println(str); - - try { - String path = "/dubbo/config/user-info-server/dubbo.properties"; - if (client.checkExists().forPath(path) == null) { - client.create().creatingParentsIfNeeded().forPath(path); - } - setData(path, str); - } catch (Exception e) { - e.printStackTrace(); - } - } - - private static void createNode(String path) throws Exception { - client.create().forPath(path); - } - - private static void deleteNode(String path) throws Exception { - client.delete().forPath(path); - } - - private static void setData(String path, String data) throws Exception { - client.setData().forPath(path, data.getBytes()); - } -} diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/impl/UserProviderImpl.java b/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/impl/UserProviderImpl.java deleted file mode 100644 index 57f4eba..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/impl/UserProviderImpl.java +++ /dev/null @@ -1,32 +0,0 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ikurento.user.impl; - -import com.ikurento.user.User; -import com.ikurento.user.UserProvider; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - -public class UserProviderImpl implements UserProvider { - private static final Logger LOG = LoggerFactory.getLogger("UserLogger"); //Output to user-server.log - - public User GetUser(String userId) { - return new User(userId, "zhangsan", 18); - } - -} diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/configcenter/zookeeper/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml deleted file mode 100644 index ad57f83..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml +++ /dev/null @@ -1,32 +0,0 @@ -<?xml version="1.0" encoding="UTF-8"?> -<!-- - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. ---> - -<beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" - xmlns:dubbo="http://dubbo.apache.org/schema/dubbo" - xmlns="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" - xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-4.3.xsd - http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> - - <context:property-placeholder/> - <!-- 应用名 --> - <dubbo:application name="user-info-server"/> - <dubbo:config-center address="zookeeper://${zookeeper.address:127.0.0.1}:2181"/> - - <bean id="demoService" class="com.ikurento.user.impl.UserProviderImpl"/><!-- 声明需要暴露的服务接口 --> - <dubbo:service id="UserProvider1" registry="ikurento" timeout="3000" interface="com.ikurento.user.UserProvider" - ref="demoService"/> - <dubbo:service id="UserProvider2" registry="ikurento" timeout="3000" interface="com.ikurento.user.UserProvider" - ref="demoService"/> -</beans> diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/resources/log4j.properties b/configcenter/zookeeper/dubbo/java-server/src/main/resources/log4j.properties deleted file mode 100644 index 13c8049..0000000 --- a/configcenter/zookeeper/dubbo/java-server/src/main/resources/log4j.properties +++ /dev/null @@ -1,20 +0,0 @@ -## Logger configure file for myproject -log.dir=logs/ -datestamp=yyyy-MM-dd/HH:mm:ss.SSS - -log4j.rootLogger=DEBUG, file, console - -log4j.appender.file=org.apache.log4j.DailyRollingFileAppender -log4j.appender.file.threshold=DEBUG -log4j.appender.file.File=${log.dir}/log4j.log -log4j.appender.file.DatePattern=-yyyyMMddHH -log4j.appender.file.ImmediateFlush=true -log4j.appender.file.Append=true -log4j.appender.file.layout=org.apache.log4j.PatternLayout -log4j.appender.file.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n - -log4j.appender.console=org.apache.log4j.ConsoleAppender -log4j.appender.console.Threshold=DEBUG -log4j.appender.console.layout=org.apache.log4j.PatternLayout -log4j.appender.console.layout.ConversionPattern=%d{${datestamp}} %5p: %l - %m%n - diff --git a/configcenter/zookeeper/dubbo/go-client/app/client.go b/configcenter/zookeeper/go-client/cmd/client.go similarity index 64% rename from configcenter/zookeeper/dubbo/go-client/app/client.go rename to configcenter/zookeeper/go-client/cmd/client.go index 5e73b0e..1f3ab6c 100644 --- a/configcenter/zookeeper/dubbo/go-client/app/client.go +++ b/configcenter/zookeeper/go-client/cmd/client.go @@ -19,75 +19,49 @@ package main import ( "context" - "fmt" "os" - "os/signal" - "syscall" "time" ) import ( + hessian "github.com/apache/dubbo-go-hessian2" + "github.com/apache/dubbo-samples/golang/helloworld/go-client/pkg" "github.com/dubbogo/gost/log" ) import ( - hessian "github.com/apache/dubbo-go-hessian2" - "github.com/apache/dubbo-go/common/logger" + _ "github.com/apache/dubbo-go/cluster/cluster_impl" + _ "github.com/apache/dubbo-go/cluster/loadbalance" _ "github.com/apache/dubbo-go/common/proxy/proxy_factory" "github.com/apache/dubbo-go/config" + _ "github.com/apache/dubbo-go/config_center/nacos" + _ "github.com/apache/dubbo-go/config_center/zookeeper" + _ "github.com/apache/dubbo-go/filter/filter_impl" _ "github.com/apache/dubbo-go/protocol/dubbo" _ "github.com/apache/dubbo-go/registry/protocol" - - _ "github.com/apache/dubbo-go/filter/filter_impl" - - _ "github.com/apache/dubbo-go/cluster/cluster_impl" - _ "github.com/apache/dubbo-go/cluster/loadbalance" - _ "github.com/apache/dubbo-go/config_center/zookeeper" _ "github.com/apache/dubbo-go/registry/zookeeper" ) -var ( - survivalTimeout int = 10e9 -) +var userProvider = new(pkg.UserProvider) + +func init() { + config.SetConsumerService(userProvider) + hessian.RegisterPOJO(&pkg.User{}) +} -// they are necessary: -// export CONF_CONSUMER_FILE_PATH="xxx" -// export APP_LOG_CONF_FILE="xxx" +// need to setup environment variable "CONF_CONSUMER_FILE_PATH" to "conf/client.yml" before run func main() { - hessian.RegisterPOJO(&User{}) + hessian.RegisterPOJO(&pkg.User{}) config.Load() - time.Sleep(1e9) + time.Sleep(3 * time.Second) gxlog.CInfo("\n\n\nstart to test dubbo") - user := &User{} + user := &pkg.User{} err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user) if err != nil { - panic(err) + gxlog.CError("error: %v\n", err) + os.Exit(1) + return } gxlog.CInfo("response result: %v\n", user) - initSignal() -} - -func initSignal() { - signals := make(chan os.Signal, 1) - // It is not possible to block SIGKILL or syscall.SIGSTOP - signal.Notify(signals, os.Interrupt, os.Kill, syscall.SIGHUP, - syscall.SIGQUIT, syscall.SIGTERM, syscall.SIGINT) - for { - sig := <-signals - logger.Infof("get signal %s", sig.String()) - switch sig { - case syscall.SIGHUP: - // reload() - default: - time.AfterFunc(time.Duration(survivalTimeout), func() { - logger.Warnf("app exit now by force...") - os.Exit(1) - }) - - // The program exits normally or timeout forcibly exits. - fmt.Println("app exit now...") - return - } - } } diff --git a/configcenter/zookeeper/dubbo/go-client/profiles/dev/client.yml b/configcenter/zookeeper/go-client/conf/client.yml similarity index 53% copy from configcenter/zookeeper/dubbo/go-client/profiles/dev/client.yml copy to configcenter/zookeeper/go-client/conf/client.yml index 69de2c0..380f010 100644 --- a/configcenter/zookeeper/dubbo/go-client/profiles/dev/client.yml +++ b/configcenter/zookeeper/go-client/conf/client.yml @@ -1,24 +1,52 @@ # dubbo client yaml configure file -# application config -application: - name : "user-info-client" +check: true +# client +request_timeout: "3s" +# connect timeout +connect_timeout: "3s" +# config center config config_center: protocol: "zookeeper" address: "127.0.0.1:2181" +# application config +application: + organization: "dubbo.io" + name: "UserInfoClient" + module: "dubbo-go user-info client" + version: "0.0.1" + environment: "dev" + +# registry config +registries: + "demoZk": + protocol: "zookeeper" + timeout: "3s" + address: "127.0.0.1:2181" + username: "" + password: "" + +# reference config references: "UserProvider": - interface : "com.ikurento.user.UserProvider" + registry: "demoZk" + protocol: "dubbo" + interface: "org.apache.dubbo.UserProvider" + cluster: "failover" + methods: + - name: "GetUser" + retries: 3 +# protocol config protocol_conf: dubbo: reconnect_interval: 0 connection_number: 1 heartbeat_period: "5s" session_timeout: "180s" - pool_size: 4 + pool_size: 64 pool_ttl: 600 getty_session_param: compress_encoding: false diff --git a/configcenter/zookeeper/dubbo/go-client/profiles/dev/log.yml b/configcenter/zookeeper/go-client/conf/log.yml similarity index 88% rename from configcenter/zookeeper/dubbo/go-client/profiles/dev/log.yml rename to configcenter/zookeeper/go-client/conf/log.yml index 59fa427..d0400fe 100644 --- a/configcenter/zookeeper/dubbo/go-client/profiles/dev/log.yml +++ b/configcenter/zookeeper/go-client/conf/log.yml @@ -1,28 +1,28 @@ - -level: "debug" -development: true -disableCaller: false -disableStacktrace: false -sampling: -encoding: "console" - -# encoder -encoderConfig: - messageKey: "message" - levelKey: "level" - timeKey: "time" - nameKey: "logger" - callerKey: "caller" - stacktraceKey: "stacktrace" - lineEnding: "" - levelEncoder: "capitalColor" - timeEncoder: "iso8601" - durationEncoder: "seconds" - callerEncoder: "short" - nameEncoder: "" - -outputPaths: - - "stderr" -errorOutputPaths: - - "stderr" -initialFields: + +level: "debug" +development: true +disableCaller: false +disableStacktrace: false +sampling: +encoding: "console" + +# encoder +encoderConfig: + messageKey: "message" + levelKey: "level" + timeKey: "time" + nameKey: "logger" + callerKey: "caller" + stacktraceKey: "stacktrace" + lineEnding: "" + levelEncoder: "capital" + timeEncoder: "iso8601" + durationEncoder: "seconds" + callerEncoder: "short" + nameEncoder: "" + +outputPaths: + - "stderr" +errorOutputPaths: + - "stderr" +initialFields: diff --git a/configcenter/zookeeper/dubbo/go-client/app/user.go b/configcenter/zookeeper/go-client/pkg/user.go similarity index 60% copy from configcenter/zookeeper/dubbo/go-client/app/user.go copy to configcenter/zookeeper/go-client/pkg/user.go index ff4486f..abcad09 100644 --- a/configcenter/zookeeper/dubbo/go-client/app/user.go +++ b/configcenter/zookeeper/go-client/pkg/user.go @@ -15,25 +15,17 @@ * limitations under the License. */ -package main +package pkg import ( "context" + "github.com/apache/dubbo-go/common" + "github.com/apache/dubbo-go/protocol" + "github.com/apache/dubbo-go/remoting" + gxlog "github.com/dubbogo/gost/log" "time" ) -import ( - hessian "github.com/apache/dubbo-go-hessian2" - "github.com/apache/dubbo-go/config" -) - -var userProvider = new(UserProvider) - -func init() { - config.SetConsumerService(userProvider) - hessian.RegisterPOJO(&User{}) -} - type User struct { Id string Name string @@ -43,12 +35,30 @@ type User struct { type UserProvider struct { GetUser func(ctx context.Context, req []interface{}, rsp *User) error + Ch chan *User } func (u *UserProvider) Reference() string { return "UserProvider" } +// to enable async call: +// 1. need to implement AsyncCallbackService +// 2. need to specify references -> UserProvider -> async in conf/client.yml +func (u *UserProvider) CallBack(res common.CallbackResponse) { + gxlog.CInfo("CallBack res: %v", res) + if r, ok := res.(remoting.AsyncCallbackResponse); ok { + if reply, ok := r.Reply.(*remoting.Response); ok { + if result, ok := reply.Result.(*protocol.RPCResult); ok { + if user, ok := result.Rest.(*User); ok { + u.Ch <- user + } + } + } + } + u.Ch <- nil +} + func (User) JavaClassName() string { - return "com.ikurento.user.User" + return "org.apache.dubbo.User" } diff --git a/configcenter/zookeeper/dubbo/go-server/app/server.go b/configcenter/zookeeper/go-server/cmd/server.go similarity index 91% rename from configcenter/zookeeper/dubbo/go-server/app/server.go rename to configcenter/zookeeper/go-server/cmd/server.go index 3cae749..6606c90 100644 --- a/configcenter/zookeeper/dubbo/go-server/app/server.go +++ b/configcenter/zookeeper/go-server/cmd/server.go @@ -27,6 +27,8 @@ import ( import ( hessian "github.com/apache/dubbo-go-hessian2" + "github.com/apache/dubbo-samples/golang/helloworld/go-server/pkg" + _ "github.com/apache/dubbo-go/cluster/cluster_impl" _ "github.com/apache/dubbo-go/cluster/loadbalance" "github.com/apache/dubbo-go/common/logger" @@ -43,12 +45,9 @@ var ( survivalTimeout = int(3e9) ) -// they are necessary: -// export CONF_PROVIDER_FILE_PATH="xxx" -// export APP_LOG_CONF_FILE="xxx" +// need to setup environment variable "CONF_PROVIDER_FILE_PATH" to "conf/server.yml" before run func main() { - - hessian.RegisterPOJO(&User{}) + hessian.RegisterPOJO(&pkg.User{}) config.Load() initSignal() diff --git a/configcenter/zookeeper/dubbo/go-client/profiles/dev/client.yml b/configcenter/zookeeper/go-server/conf/client.yml similarity index 53% rename from configcenter/zookeeper/dubbo/go-client/profiles/dev/client.yml rename to configcenter/zookeeper/go-server/conf/client.yml index 69de2c0..e65e379 100644 --- a/configcenter/zookeeper/dubbo/go-client/profiles/dev/client.yml +++ b/configcenter/zookeeper/go-server/conf/client.yml @@ -1,24 +1,52 @@ # dubbo client yaml configure file -# application config -application: - name : "user-info-client" +check: true +# client +request_timeout : "3s" +# connect timeout +connect_timeout : "3s" +# config center config config_center: protocol: "zookeeper" address: "127.0.0.1:2181" +# application config +application: + organization : "dubbo.io" + name : "UserInfoTest" + module : "dubbo-go user-info client" + version : "0.0.1" + environment : "dev" + +# registry config +registries : + "demoZk": + protocol: "zookeeper" + timeout : "3s" + address: "127.0.0.1:2181" + username: "" + password: "" + +# reference config references: "UserProvider": - interface : "com.ikurento.user.UserProvider" + registry: "demoZk" + protocol : "dubbo" + interface : "org.apache.dubbo.UserProvider" + cluster: "failover" + methods : + - name: "GetUser" + retries: 3 +# protocol config protocol_conf: dubbo: reconnect_interval: 0 connection_number: 1 heartbeat_period: "5s" session_timeout: "180s" - pool_size: 4 + pool_size: 64 pool_ttl: 600 getty_session_param: compress_encoding: false diff --git a/configcenter/zookeeper/dubbo/go-server/profiles/dev/log.yml b/configcenter/zookeeper/go-server/conf/log.yml similarity index 88% rename from configcenter/zookeeper/dubbo/go-server/profiles/dev/log.yml rename to configcenter/zookeeper/go-server/conf/log.yml index 59fa427..d0400fe 100644 --- a/configcenter/zookeeper/dubbo/go-server/profiles/dev/log.yml +++ b/configcenter/zookeeper/go-server/conf/log.yml @@ -1,28 +1,28 @@ - -level: "debug" -development: true -disableCaller: false -disableStacktrace: false -sampling: -encoding: "console" - -# encoder -encoderConfig: - messageKey: "message" - levelKey: "level" - timeKey: "time" - nameKey: "logger" - callerKey: "caller" - stacktraceKey: "stacktrace" - lineEnding: "" - levelEncoder: "capitalColor" - timeEncoder: "iso8601" - durationEncoder: "seconds" - callerEncoder: "short" - nameEncoder: "" - -outputPaths: - - "stderr" -errorOutputPaths: - - "stderr" -initialFields: + +level: "debug" +development: true +disableCaller: false +disableStacktrace: false +sampling: +encoding: "console" + +# encoder +encoderConfig: + messageKey: "message" + levelKey: "level" + timeKey: "time" + nameKey: "logger" + callerKey: "caller" + stacktraceKey: "stacktrace" + lineEnding: "" + levelEncoder: "capital" + timeEncoder: "iso8601" + durationEncoder: "seconds" + callerEncoder: "short" + nameEncoder: "" + +outputPaths: + - "stderr" +errorOutputPaths: + - "stderr" +initialFields: diff --git a/configcenter/zookeeper/dubbo/go-server/profiles/dev/server.yml b/configcenter/zookeeper/go-server/conf/server.yml similarity index 60% rename from configcenter/zookeeper/dubbo/go-server/profiles/dev/server.yml rename to configcenter/zookeeper/go-server/conf/server.yml index 4176cab..08afdff 100644 --- a/configcenter/zookeeper/dubbo/go-server/profiles/dev/server.yml +++ b/configcenter/zookeeper/go-server/conf/server.yml @@ -1,25 +1,44 @@ # dubbo server yaml configure file - -# application config -application: - name : "user-info-server" - - +# config center config config_center: protocol: "zookeeper" address: "127.0.0.1:2181" +# application config +application: + organization : "dubbo.io" + name : "UserInfoServer" + module : "dubbo-go user-info server" + version : "0.0.1" + environment : "dev" + +# registry config registries : "demoZk": protocol: "zookeeper" timeout : "3s" address: "127.0.0.1:2181" +# service config services: "UserProvider": registry: "demoZk" - interface : "com.ikurento.user.UserProvider" + protocol : "dubbo" + interface : "org.apache.dubbo.UserProvider" + loadbalance: "random" + warmup: "100" + cluster: "failover" + methods: + - name: "GetUser" + retries: 1 + loadbalance: "random" + +# protocol config +protocols: + "dubbo": + name: "dubbo" + port: 20000 protocol_conf: dubbo: diff --git a/configcenter/zookeeper/docker/docker-compose.yaml b/configcenter/zookeeper/go-server/docker/docker-compose.yml similarity index 52% rename from configcenter/zookeeper/docker/docker-compose.yaml rename to configcenter/zookeeper/go-server/docker/docker-compose.yml index 4b7bd08..8724179 100644 --- a/configcenter/zookeeper/docker/docker-compose.yaml +++ b/configcenter/zookeeper/go-server/docker/docker-compose.yml @@ -1,8 +1,9 @@ -version: '3.1' +version: '3' services: - zoo1: + zookeeper: image: zookeeper - container_name: zookeeper_1 ports: - 2181:2181 + restart: on-failure + diff --git a/configcenter/zookeeper/dubbo/go-server/app/user.go b/configcenter/zookeeper/go-server/pkg/user.go similarity index 97% rename from configcenter/zookeeper/dubbo/go-server/app/user.go rename to configcenter/zookeeper/go-server/pkg/user.go index 89fa126..37fcb25 100644 --- a/configcenter/zookeeper/dubbo/go-server/app/user.go +++ b/configcenter/zookeeper/go-server/pkg/user.go @@ -15,7 +15,7 @@ * limitations under the License. */ -package main +package pkg import ( "context" @@ -59,5 +59,5 @@ func (u *UserProvider) Reference() string { } func (u User) JavaClassName() string { - return "com.ikurento.user.User" + return "org.apache.dubbo.User" } diff --git a/configcenter/zookeeper/dubbo/go-client/app/user.go b/configcenter/zookeeper/go-server/tests/integration/main_test.go similarity index 68% rename from configcenter/zookeeper/dubbo/go-client/app/user.go rename to configcenter/zookeeper/go-server/tests/integration/main_test.go index ff4486f..15b3e43 100644 --- a/configcenter/zookeeper/dubbo/go-client/app/user.go +++ b/configcenter/zookeeper/go-server/tests/integration/main_test.go @@ -1,3 +1,5 @@ +// +build integration + /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor license agreements. See the NOTICE file distributed with @@ -15,23 +17,38 @@ * limitations under the License. */ -package main +package integration import ( - "context" - "time" + hessian "github.com/apache/dubbo-go-hessian2" + "github.com/apache/dubbo-go/config" + + _ "github.com/apache/dubbo-go/cluster/cluster_impl" + _ "github.com/apache/dubbo-go/cluster/loadbalance" + _ "github.com/apache/dubbo-go/common/proxy/proxy_factory" + _ "github.com/apache/dubbo-go/config_center/zookeeper" + _ "github.com/apache/dubbo-go/filter/filter_impl" + _ "github.com/apache/dubbo-go/protocol/dubbo" + _ "github.com/apache/dubbo-go/registry/protocol" + _ "github.com/apache/dubbo-go/registry/zookeeper" ) import ( - hessian "github.com/apache/dubbo-go-hessian2" - "github.com/apache/dubbo-go/config" + "context" + "os" + "testing" + "time" ) var userProvider = new(UserProvider) -func init() { +func TestMain(m *testing.M) { config.SetConsumerService(userProvider) hessian.RegisterPOJO(&User{}) + config.Load() + time.Sleep(3 * time.Second) + + os.Exit(m.Run()) } type User struct { @@ -50,5 +67,5 @@ func (u *UserProvider) Reference() string { } func (User) JavaClassName() string { - return "com.ikurento.user.User" + return "org.apache.dubbo.User" } diff --git a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java b/configcenter/zookeeper/go-server/tests/integration/userprovider_test.go similarity index 66% rename from configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java rename to configcenter/zookeeper/go-server/tests/integration/userprovider_test.go index b1eeab8..09b09c3 100644 --- a/configcenter/zookeeper/dubbo/java-server/src/main/java/com/ikurento/user/UserProvider.java +++ b/configcenter/zookeeper/go-server/tests/integration/userprovider_test.go @@ -1,24 +1,38 @@ -/* - * Licensed to the Apache Software Foundation (ASF) under one or more - * contributor license agreements. See the NOTICE file distributed with - * this work for additional information regarding copyright ownership. - * The ASF licenses this file to You under the Apache License, Version 2.0 - * (the "License"); you may not use this file except in compliance with - * the License. You may obtain a copy of the License at - * - * http://www.apache.org/licenses/LICENSE-2.0 - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.ikurento.user; - -public interface UserProvider { - - User GetUser(String userId); // the first alpha is Upper case to compatible with golang. - -} +// +build integration + +/* + * Licensed to the Apache Software Foundation (ASF) under one or more + * contributor license agreements. See the NOTICE file distributed with + * this work for additional information regarding copyright ownership. + * The ASF licenses this file to You under the Apache License, Version 2.0 + * (the "License"); you may not use this file except in compliance with + * the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +package integration + +import ( + "context" + "testing" +) +import ( + "github.com/stretchr/testify/assert" +) + +func TestGetUser(t *testing.T) { + user := &User{} + err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user) + assert.Nil(t, err) + assert.Equal(t, "A001", user.Id) + assert.Equal(t, "Alex Stocks", user.Name) + assert.Equal(t, int32(18), user.Age) + assert.NotNil(t, user.Time) +}