java110 лет назад: 3
Родитель
Сommit
c83e9b14ca

+ 48 - 0
java110-core/src/main/java/com/java110/core/client/OutRestTemplate.java

@@ -0,0 +1,48 @@
+package com.java110.core.client;
+
+import com.java110.core.log.LoggerFactory;
+import org.slf4j.Logger;
+import org.springframework.http.HttpEntity;
+import org.springframework.http.HttpMethod;
+import org.springframework.http.ResponseEntity;
+import org.springframework.web.client.RestClientException;
+
+/**
+ *
+ * 该类只要负责调用外部资源
+ *
+ *
+ * @author wux
+ * @create 2019-02-02 下午8:28
+ * @desc 对RestTemplate类封装
+ **/
+public class OutRestTemplate extends RestTemplate {
+
+    private static Logger logger = LoggerFactory.getLogger(OutRestTemplate.class);
+
+    // exchange
+
+    /**
+     * 重写spring RestTemplate类 加入日志等信息
+     *
+     * @param url
+     * @param method
+     * @param requestEntity
+     * @param responseType
+     * @param uriVariables
+     * @param <T>
+     * @return
+     * @throws RestClientException
+     */
+    @Override
+    public <T> ResponseEntity<T> exchange(String url, HttpMethod method,
+                                          HttpEntity<?> requestEntity, Class<T> responseType, Object... uriVariables) throws RestClientException {
+
+        logger.debug("请求信息:url:{},method:{},request:{},uriVariables:{}", url, method, requestEntity, uriVariables);
+        ResponseEntity<T> responseEntity = super.exchange(url, method, requestEntity, responseType, uriVariables);
+        logger.debug("返回信息:responseEntity:{}", responseEntity);
+
+        return responseEntity;
+    }
+
+}

+ 6 - 5
service-job/src/main/java/com/java110/job/JobServiceApplication.java

@@ -2,14 +2,15 @@ package com.java110.job;
 
 import com.java110.core.annotation.Java110CmdDiscovery;
 import com.java110.core.annotation.Java110ListenerDiscovery;
-import com.java110.core.event.cmd.ServiceCmdEventPublishing;
-import com.java110.core.trace.Java110RestTemplateInterceptor;
+import com.java110.core.client.OutRestTemplate;
 import com.java110.core.client.RestTemplate;
+import com.java110.core.event.cmd.ServiceCmdEventPublishing;
 import com.java110.core.event.service.BusinessServiceDataFlowEventPublishing;
+import com.java110.core.log.LoggerFactory;
+import com.java110.core.trace.Java110RestTemplateInterceptor;
 import com.java110.job.export.ExportDataExecutor;
 import com.java110.service.init.ServiceStartInit;
 import org.slf4j.Logger;
-import com.java110.core.log.LoggerFactory;
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.boot.web.client.RestTemplateBuilder;
@@ -62,9 +63,9 @@ public class JobServiceApplication {
     private Java110RestTemplateInterceptor java110RestTemplateInterceptor;
 
     @Bean
-    public RestTemplate outRestTemplate() {
+    public OutRestTemplate outRestTemplate() {
         StringHttpMessageConverter m = new StringHttpMessageConverter(Charset.forName("UTF-8"));
-        RestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(RestTemplate.class);
+        OutRestTemplate restTemplate = new RestTemplateBuilder().additionalMessageConverters(m).build(OutRestTemplate.class);
         restTemplate.getInterceptors().add(java110RestTemplateInterceptor);
         return restTemplate;
     }