小柒2012 před 7 roky
rodič
revize
0e5649928d

+ 24 - 0
pom.xml

@@ -110,6 +110,30 @@
 		    <artifactId>bcprov-jdk16</artifactId>
 		    <version>1.46</version>
 		</dependency>
+		<!-- DubboX相关 -->
+		<dependency>
+			<groupId>com.alibaba</groupId>
+			<artifactId>dubbo</artifactId>
+			<!-- 这里使用最新的2.8.4版本,中央仓库不存在,请自行打入本地仓库 -->
+			<version>2.8.4</version>
+			<exclusions>
+				<exclusion>
+					<artifactId>spring</artifactId>
+					<groupId>org.springframework</groupId>
+				</exclusion>
+			</exclusions>
+		</dependency>
+        <!-- zookeeper 第三方操作工具类 -->
+		<dependency>
+			<groupId>com.101tec</groupId>
+			<artifactId>zkclient</artifactId>
+			<version>0.6</version>
+		</dependency>
+		<!-- javassist 字节码类库 -->
+		<dependency>
+		    <groupId>org.javassist</groupId>
+		    <artifactId>javassist</artifactId>
+		</dependency>
 		 
 	</dependencies>
 	<build>

+ 2 - 3
src/main/java/com/itstyle/Application.java

@@ -1,16 +1,14 @@
 package com.itstyle;
-
 import java.io.IOException;
-
 import org.apache.log4j.Logger;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration;
 import org.springframework.context.annotation.ComponentScan;
+import org.springframework.context.annotation.ImportResource;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.servlet.config.annotation.ResourceHandlerRegistry;
 import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter;
-
 /**
  * 支付主控 
  * 创建者 科帮网
@@ -18,6 +16,7 @@ import org.springframework.web.servlet.config.annotation.WebMvcConfigurerAdapter
  */
 @EnableAutoConfiguration
 @ComponentScan(basePackages = { "com.itstyle.modules" })
+@ImportResource({"classpath:spring-context-dubbo.xml"})
 @Controller
 public class Application extends WebMvcConfigurerAdapter {
 	private static final Logger logger = Logger.getLogger(Application.class);

+ 2 - 2
src/main/java/com/itstyle/modules/alipay/service/impl/AliPayServiceImpl.java

@@ -8,8 +8,8 @@ import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
 
+import com.alibaba.dubbo.config.annotation.Service;
 import com.alipay.api.AlipayApiException;
 import com.alipay.api.AlipayClient;
 import com.alipay.api.AlipayResponse;
@@ -32,7 +32,7 @@ import com.itstyle.common.model.Product;
 import com.itstyle.common.utils.CommonUtil;
 import com.itstyle.modules.alipay.service.IAliPayService;
 import com.itstyle.modules.alipay.util.AliPayConfig;
-@Service("aliPayService")
+@Service
 public class AliPayServiceImpl implements IAliPayService {
 	private static final Logger logger = LoggerFactory.getLogger(AliPayServiceImpl.class);
 	

+ 2 - 2
src/main/java/com/itstyle/modules/unionpay/service/impl/UnionPayServiceImpl.java

@@ -6,8 +6,8 @@ import java.util.Map;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
 
+import com.alibaba.dubbo.config.annotation.Service;
 import com.itstyle.common.constants.Constants;
 import com.itstyle.common.constants.PayWay;
 import com.itstyle.common.model.Product;
@@ -16,7 +16,7 @@ import com.itstyle.modules.unionpay.service.IUnionPayService;
 import com.itstyle.modules.unionpay.util.AcpService;
 import com.itstyle.modules.unionpay.util.SDKConfig;
 import com.itstyle.modules.unionpay.util.UnionConfig;
-@Service("unionPayService")
+@Service
 public class UnionPayServiceImpl implements IUnionPayService{
 	private static final Logger logger = LoggerFactory.getLogger(UnionPayServiceImpl.class);
 	

+ 2 - 2
src/main/java/com/itstyle/modules/weixinpay/service/impl/WeixinPayServiceImpl.java

@@ -9,8 +9,8 @@ import net.sf.json.JSONObject;
 import org.slf4j.Logger;
 import org.slf4j.LoggerFactory;
 import org.springframework.beans.factory.annotation.Value;
-import org.springframework.stereotype.Service;
 
+import com.alibaba.dubbo.config.annotation.Service;
 import com.alipay.demo.trade.utils.ZxingUtils;
 import com.itstyle.common.constants.Constants;
 import com.itstyle.common.model.Product;
@@ -21,7 +21,7 @@ import com.itstyle.modules.weixinpay.util.ConfigUtil;
 import com.itstyle.modules.weixinpay.util.HttpUtil;
 import com.itstyle.modules.weixinpay.util.PayCommonUtil;
 import com.itstyle.modules.weixinpay.util.XMLUtil;
-@Service("weixinPayService")
+@Service
 public class WeixinPayServiceImpl implements IWeixinPayService {
 	private static final Logger logger = LoggerFactory.getLogger(WeixinPayServiceImpl.class);
 	

+ 6 - 0
src/main/resources/application-dev.properties

@@ -28,6 +28,12 @@ spring.mvc.static-path-pattern=/**
 # \u4fee\u6539\u9ed8\u8ba4\u7684\u9759\u6001\u5bfb\u5740\u8d44\u6e90\u76ee\u5f55 \u591a\u4e2a\u4f7f\u7528\u9017\u53f7\u5206\u9694
 spring.resources.static-locations = classpath:/META-INF/resources/,classpath:/resources/,classpath:/static/,classpath:/public/,,classpath:/templates/
 
+#============================#
+#===== zookeeper sttings ====#
+#============================#
+#zookeeper\u96c6\u7fa4\u914d\u7f6e
+dubbo.registry.address=121.42.155.213:2181
+
 #\u9879\u76ee\u5730\u5740
 server.context.url = http://192.168.1.66:8080/springboot_pay/
 #\u652f\u4ed8\u5b9d\u540e\u53f0\u56de\u8c03

+ 25 - 0
src/main/resources/spring-context-dubbo.xml

@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<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.xsd
+        http://code.alibabatech.com/schema/dubbo
+        http://code.alibabatech.com/schema/dubbo/dubbo.xsd
+        ">
+    <!-- 记录监控信息 -->
+    <!-- <dubbo:monitor protocol="registry"/> -->
+	<!-- 提供方应用信息,用于计算依赖关系 -->
+	<dubbo:application name="spring-boot-pay" />
+	<!-- 使用zookeeper注册中心暴露服务地址 subscribe 默认:true 是否向此注册中心订阅服务,如果设为false,将只注册,不订阅 check 默认:true 注册中心不存在时,是否报错    -->
+	<dubbo:registry protocol="zookeeper" address="${dubbo.registry.address}" check="false"/>
+	<!-- 
+	           生产者配置 生产者  远程默认调用3次 参数 retries="2" async="true" 异步返回结果 默认是同步 timeout="10000" 毫秒
+	           用dubbo协议在20882端口暴露服务  固定线程池 10 启动时建立线程,不关闭,一直持有  负载均衡策略 轮询
+	 -->
+	<dubbo:provider  timeout="10000"  threads="10" threadpool="fixed" loadbalance="roundrobin"/>
+	<!-- name="dubbo" 协议名称   为防止被大量连接撑挂,可在服务提供方限制大接收连接数,以实现服务提供方自我保护。 host 部署外网设置为内网通信地址-->
+	<dubbo:protocol name="dubbo" port="-1" dispatcher="all"  accepts="1000"   />
+	
+	<!-- 使用注解方式-->     
+    <dubbo:annotation package="com.itstyle"/>
+</beans>