gateway cloud

This commit is contained in:
fangzhipeng 2018-11-20 19:26:11 +08:00
parent 0b0d6f4b49
commit 863339f4fd
4 changed files with 27 additions and 27 deletions

View File

@ -15,11 +15,11 @@ import java.util.List;
* @author fangzhipeng
* create 2018-11-16
**/
public class ElapsedGatewayFilterFactory extends AbstractGatewayFilterFactory<ElapsedGatewayFilterFactory.Config> {
public class RequestTimeGatewayFilterFactory extends AbstractGatewayFilterFactory<RequestTimeGatewayFilterFactory.Config> {
private static final Log log = LogFactory.getLog(GatewayFilter.class);
private static final String ELAPSED_TIME_BEGIN = "elapsedTimeBegin";
private static final String REQUEST_TIME_BEGIN = "requestTimeBegin";
private static final String KEY = "withParams";
@Override
@ -27,17 +27,17 @@ public class ElapsedGatewayFilterFactory extends AbstractGatewayFilterFactory<El
return Arrays.asList(KEY);
}
public ElapsedGatewayFilterFactory() {
public RequestTimeGatewayFilterFactory() {
super(Config.class);
}
@Override
public GatewayFilter apply(Config config) {
return (exchange, chain) -> {
exchange.getAttributes().put(ELAPSED_TIME_BEGIN, System.currentTimeMillis());
exchange.getAttributes().put(REQUEST_TIME_BEGIN, System.currentTimeMillis());
return chain.filter(exchange).then(
Mono.fromRunnable(() -> {
Long startTime = exchange.getAttribute(ELAPSED_TIME_BEGIN);
Long startTime = exchange.getAttribute(REQUEST_TIME_BEGIN);
if (startTime != null) {
StringBuilder sb = new StringBuilder(exchange.getRequest().getURI().getRawPath())
.append(": ")

View File

@ -14,7 +14,7 @@ public class ServiceGatewayApplication {
}
@Bean
public ElapsedGatewayFilterFactory elapsedGatewayFilterFactory() {
return new ElapsedGatewayFilterFactory();
public RequestTimeGatewayFilterFactory requestTimeGatewayFilterFactory() {
return new RequestTimeGatewayFilterFactory();
}
}

View File

@ -8,7 +8,7 @@ spring:
gateway:
discovery:
locator:
enabled: true
enabled: false
lowerCaseServiceId: true
routes:
- id: service-hi
@ -17,7 +17,7 @@ spring:
- Path=/demo/**
filters:
- StripPrefix=1
- Elapsed=false
- RequestTime=true
eureka:
client:

View File

@ -24,7 +24,7 @@
<file leaf-file-name="application.yml" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1160">
<state relative-caret-position="1425">
<caret line="57" column="30" selection-start-line="57" selection-start-column="30" selection-end-line="57" selection-end-column="30" />
</state>
</provider>
@ -33,7 +33,7 @@
<file leaf-file-name="RequestTimeFilter.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeFilter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="236">
<state relative-caret-position="250">
<caret line="16" selection-start-line="16" selection-end-line="42" />
<folding>
<element signature="imports" expanded="true" />
@ -46,7 +46,7 @@
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/Application.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="535">
<caret line="33" column="39" lean-forward="true" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
<caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -57,8 +57,8 @@
<file leaf-file-name="RequestTimeGatewayFilterFactory.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeGatewayFilterFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="910">
<caret line="74" lean-forward="true" selection-start-line="17" selection-end-line="74" />
<state relative-caret-position="1475">
<caret line="74" selection-start-line="17" selection-end-line="74" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -69,8 +69,8 @@
<file leaf-file-name="TokenFilter.java" pinned="false" current-in-tab="false">
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/TokenFilter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="836">
<caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" />
<state relative-caret-position="750">
<caret line="39" selection-start-line="39" selection-end-line="39" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -338,15 +338,15 @@
<workItem from="1542336268089" duration="14707000" />
<workItem from="1542590814451" duration="1435000" />
<workItem from="1542614548057" duration="1106000" />
<workItem from="1542703235158" duration="178000" />
</task>
<servers />
</component>
<component name="TimeTrackingManager">
<option name="totallyTimeSpent" value="48478000" />
<option name="totallyTimeSpent" value="48656000" />
</component>
<component name="ToolWindowManager">
<frame x="-8" y="-8" width="1936" height="1176" extended-state="6" />
<editor active="true" />
<layout>
<window_info anchor="right" id="Palette" order="3" />
<window_info anchor="bottom" id="TODO" order="6" />
@ -356,8 +356,8 @@
<window_info anchor="bottom" id="Event Log" order="7" side_tool="true" />
<window_info anchor="right" id="Maven Projects" order="3" weight="0.3299356" />
<window_info anchor="bottom" id="Database Changes" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Run" order="2" weight="0.50986195" />
<window_info anchor="bottom" id="Version Control" order="7" show_stripe_button="false" />
<window_info anchor="bottom" id="Spring" order="7" />
<window_info anchor="bottom" id="Terminal" order="7" />
<window_info id="Capture Tool" order="2" />
@ -370,8 +370,8 @@
<window_info anchor="right" id="Ant Build" order="1" weight="0.25" />
<window_info id="UI Designer" order="2" />
<window_info anchor="right" id="Theme Preview" order="3" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Debug" order="3" weight="0.39940828" />
<window_info id="Favorites" order="2" side_tool="true" />
<window_info anchor="bottom" id="Messages" order="8" weight="0.32938856" />
<window_info anchor="right" id="Gradle" order="3" />
<window_info anchor="right" id="Commander" internal_type="SLIDING" order="0" type="SLIDING" weight="0.4" />
@ -723,15 +723,15 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/main/resources/application.yml">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="1160">
<state relative-caret-position="1425">
<caret line="57" column="30" selection-start-line="57" selection-start-column="30" selection-end-line="57" selection-end-column="30" />
</state>
</provider>
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/TokenFilter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="836">
<caret line="39" lean-forward="true" selection-start-line="39" selection-end-line="39" />
<state relative-caret-position="750">
<caret line="39" selection-start-line="39" selection-end-line="39" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -740,7 +740,7 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeFilter.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="236">
<state relative-caret-position="250">
<caret line="16" selection-start-line="16" selection-end-line="42" />
<folding>
<element signature="imports" expanded="true" />
@ -750,8 +750,8 @@
</entry>
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/RequestTimeGatewayFilterFactory.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="910">
<caret line="74" lean-forward="true" selection-start-line="17" selection-end-line="74" />
<state relative-caret-position="1475">
<caret line="74" selection-start-line="17" selection-end-line="74" />
<folding>
<element signature="imports" expanded="true" />
</folding>
@ -761,7 +761,7 @@
<entry file="file://$PROJECT_DIR$/src/main/java/gateway/Application.java">
<provider selected="true" editor-type-id="text-editor">
<state relative-caret-position="535">
<caret line="33" column="39" lean-forward="true" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
<caret line="33" column="39" selection-start-line="33" selection-start-column="39" selection-end-line="33" selection-end-column="39" />
<folding>
<element signature="imports" expanded="true" />
</folding>