环境spring boot 2.0以上
config server配置如下,能正常注册到eureka集群中心
server:
port: 7001
spring:
jackson:
serialization:
indent-output: true
application:
name: config-server
cloud:
config:
server:
git:
uri: https://github.com/baozhuming/spring-cloud-learning/
search-paths: config/repo
username: ****
password: *****
eureka:
instance:
prefer-ip-address: true
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/
访问http://localhost:7001/didispace/dev
是正常的
{
"name" : "didispace",
"profiles" : [ "dev" ],
"label" : null,
"version" : "6e76e502f01d4485ccbe2575f4b8235a216e8519",
"state" : null,
"propertySources" : [ {
"name" : "https://github.com/baozhuming/spring-cloud-learning//config/repo/didispace-dev.properties",
"source" : {
"from" : "git-dev-5.0"
}
}, {
"name" : "https://github.com/baozhuming/spring-cloud-learning//config/repo/didispace.properties",
"source" : {
"from" : "git-default-1.0"
}
} ]
}
config client配置如下application.yml
server:
port: 7002
spring:
application:
name: config-client
cloud:
config:
profile: dev
label: master
discovery:
enabled: true
service-id: config-server
management:
endpoints:
web:
exposure:
include: bus-refresh,bus-env
eureka:
instance:
prefer-ip-address: true
client:
service-url:
defaultZone: http://localhost:8761/eureka/,http://localhost:8762/eureka/,http://localhost:8763/eureka/
依赖如下
<?xml version="1.0" encoding="UTF-8"?>
<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.springcloud</groupId>
<artifactId>config-client</artifactId>
<version>1.0-SNAPSHOT</version>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.1.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!-- 在启动的时候能自动重试连接配置文件 -->
<dependency>
<groupId>org.springframework.retry</groupId>
<artifactId>spring-retry</artifactId>
<version>1.2.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-aop</artifactId>
</dependency>
<!-- 当前项目主要功能是为了手工post请求http://localhost:7002/actuator/refresh时能够实时刷新配置文件 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-actuator</artifactId>
</dependency>
<!-- 结合rabbitMq消息队列,做到自动实时刷新配置信息 -->
<!--<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>-->
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
</dependency>-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Finchley.SR2</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
</project>
主类
package com.cloud.config.client;
import org.springframework.boot.SpringApplication;
//import org.springframework.boot.WebApplicationType;
import org.springframework.boot.autoconfigure.SpringBootApplication;
//import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
@RefreshScope
@SpringBootApplication
@EnableDiscoveryClient
public class ConfigClientApplication {
public static void main(String[] args) {
// new SpringApplicationBuilder(ConfigClientApplication.class).web(WebApplicationType.SERVLET).run(args);
SpringApplication.run(ConfigClientApplication.class,args);
}
}
控制器
package com.cloud.config.client.controller;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@RefreshScope
@RestController
public class TestController {
@Value("${from}")
private String from;
@RequestMapping("/from")
public String from(){
return this.from;
}
}
访问http://localhost:7002/from
客户端启动正常
访问日志
2019-01-22 09:58:24.634 ERROR 2776 — [nio-7002-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet] in context with path [] threw exception [Request processing failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name ‘scopedTarget.testController’: Injection of autowired dependencies failed; nested exception is java.lang.IllegalArgumentException: Could not resolve placeholder ‘from’ in value “${from}”] with root cause
java.lang.IllegalArgumentException: Could not resolve placeholder ‘from’ in value "
f
r
o
m
"
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
u
t
i
l
.
P
r
o
p
e
r
t
y
P
l
a
c
e
h
o
l
d
e
r
H
e
l
p
e
r
.
p
a
r
s
e
S
t
r
i
n
g
V
a
l
u
e
(
P
r
o
p
e
r
t
y
P
l
a
c
e
h
o
l
d
e
r
H
e
l
p
e
r
.
j
a
v
a
:
172
)
[
s
p
r
i
n
g
−
c
o
r
e
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
u
t
i
l
.
P
r
o
p
e
r
t
y
P
l
a
c
e
h
o
l
d
e
r
H
e
l
p
e
r
.
r
e
p
l
a
c
e
P
l
a
c
e
h
o
l
d
e
r
s
(
P
r
o
p
e
r
t
y
P
l
a
c
e
h
o
l
d
e
r
H
e
l
p
e
r
.
j
a
v
a
:
124
)
[
s
p
r
i
n
g
−
c
o
r
e
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
c
o
r
e
.
e
n
v
.
A
b
s
t
r
a
c
t
P
r
o
p
e
r
t
y
R
e
s
o
l
v
e
r
.
d
o
R
e
s
o
l
v
e
P
l
a
c
e
h
o
l
d
e
r
s
(
A
b
s
t
r
a
c
t
P
r
o
p
e
r
t
y
R
e
s
o
l
v
e
r
.
j
a
v
a
:
237
)
[
s
p
r
i
n
g
−
c
o
r
e
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
c
o
r
e
.
e
n
v
.
A
b
s
t
r
a
c
t
P
r
o
p
e
r
t
y
R
e
s
o
l
v
e
r
.
r
e
s
o
l
v
e
R
e
q
u
i
r
e
d
P
l
a
c
e
h
o
l
d
e
r
s
(
A
b
s
t
r
a
c
t
P
r
o
p
e
r
t
y
R
e
s
o
l
v
e
r
.
j
a
v
a
:
211
)
[
s
p
r
i
n
g
−
c
o
r
e
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
c
o
n
t
e
x
t
.
s
u
p
p
o
r
t
.
P
r
o
p
e
r
t
y
S
o
u
r
c
e
s
P
l
a
c
e
h
o
l
d
e
r
C
o
n
f
i
g
u
r
e
r
.
l
a
m
b
d
a
{from}" at org.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172) ~[spring-core-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124) ~[spring-core-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:237) ~[spring-core-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:211) ~[spring-core-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambda
from"atorg.springframework.util.PropertyPlaceholderHelper.parseStringValue(PropertyPlaceholderHelper.java:172) [spring−core−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.util.PropertyPlaceholderHelper.replacePlaceholders(PropertyPlaceholderHelper.java:124) [spring−core−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.core.env.AbstractPropertyResolver.doResolvePlaceholders(AbstractPropertyResolver.java:237) [spring−core−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.core.env.AbstractPropertyResolver.resolveRequiredPlaceholders(AbstractPropertyResolver.java:211) [spring−core−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.context.support.PropertySourcesPlaceholderConfigurer.lambdaprocessProperties
0
(
P
r
o
p
e
r
t
y
S
o
u
r
c
e
s
P
l
a
c
e
h
o
l
d
e
r
C
o
n
f
i
g
u
r
e
r
.
j
a
v
a
:
175
)
[
s
p
r
i
n
g
−
c
o
n
t
e
x
t
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
r
e
s
o
l
v
e
E
m
b
e
d
d
e
d
V
a
l
u
e
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
851
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
d
o
R
e
s
o
l
v
e
D
e
p
e
n
d
e
n
c
y
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1185
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
s
u
p
p
o
r
t
.
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
r
e
s
o
l
v
e
D
e
p
e
n
d
e
n
c
y
(
D
e
f
a
u
l
t
L
i
s
t
a
b
l
e
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
1164
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
e
a
n
s
.
f
a
c
t
o
r
y
.
a
n
n
o
t
a
t
i
o
n
.
A
u
t
o
w
i
r
e
d
A
n
n
o
t
a
t
i
o
n
B
e
a
n
P
o
s
t
P
r
o
c
e
s
s
o
r
0(PropertySourcesPlaceholderConfigurer.java:175) ~[spring-context-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:851) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1185) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1164) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor
0(PropertySourcesPlaceholderConfigurer.java:175) [spring−context−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.beans.factory.support.AbstractBeanFactory.resolveEmbeddedValue(AbstractBeanFactory.java:851) [spring−beans−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:1185) [spring−beans−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:1164) [spring−beans−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessorAutowiredFieldElement.inject(AutowiredAnnotationBeanPostProcessor.java:593) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor.postProcessProperties(AutowiredAnnotationBeanPostProcessor.java:374) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1378) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:575) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:498) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean
1
(
A
b
s
t
r
a
c
t
B
e
a
n
F
a
c
t
o
r
y
.
j
a
v
a
:
356
)
[
s
p
r
i
n
g
−
b
e
a
n
s
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
c
l
o
u
d
.
c
o
n
t
e
x
t
.
s
c
o
p
e
.
G
e
n
e
r
i
c
S
c
o
p
e
1(AbstractBeanFactory.java:356) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.cloud.context.scope.GenericScope
1(AbstractBeanFactory.java:356) [spring−beans−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.cloud.context.scope.GenericScopeBeanLifecycleWrapper.getBean(GenericScope.java:390) ~[spring-cloud-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.cloud.context.scope.GenericScope.get(GenericScope.java:184) ~[spring-cloud-context-2.0.2.RELEASE.jar:2.0.2.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:353) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199) ~[spring-beans-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.aop.target.SimpleBeanTargetSource.getTarget(SimpleBeanTargetSource.java:35) ~[spring-aop-5.1.3.RELEASE.jar:5.1.3.RELEASE]
at org.springframework.aop.framework.CglibAopProxy
D
y
n
a
m
i
c
A
d
v
i
s
e
d
I
n
t
e
r
c
e
p
t
o
r
.
i
n
t
e
r
c
e
p
t
(
C
g
l
i
b
A
o
p
P
r
o
x
y
.
j
a
v
a
:
672
)
[
s
p
r
i
n
g
−
a
o
p
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
c
o
m
.
c
l
o
u
d
.
c
o
n
f
i
g
.
c
l
i
e
n
t
.
c
o
n
t
r
o
l
l
e
r
.
T
e
s
t
C
o
n
t
r
o
l
l
e
r
DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:672) ~[spring-aop-5.1.3.RELEASE.jar:5.1.3.RELEASE] at com.cloud.config.client.controller.TestController
DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:672) [spring−aop−5.1.3.RELEASE.jar:5.1.3.RELEASE]atcom.cloud.config.client.controller.TestController
E
n
h
a
n
c
e
r
B
y
S
p
r
i
n
g
C
G
L
I
B
EnhancerBySpringCGLIB
EnhancerBySpringCGLIB
d
e
f
22
f
d
5.
f
r
o
m
(
<
g
e
n
e
r
a
t
e
d
>
)
[
c
l
a
s
s
e
s
/
:
n
a
]
a
t
s
u
n
.
r
e
f
l
e
c
t
.
N
a
t
i
v
e
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
.
i
n
v
o
k
e
0
(
N
a
t
i
v
e
M
e
t
h
o
d
)
[
n
a
:
1.8.
0
1
11
]
a
t
s
u
n
.
r
e
f
l
e
c
t
.
N
a
t
i
v
e
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
.
i
n
v
o
k
e
(
N
a
t
i
v
e
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
.
j
a
v
a
:
62
)
[
n
a
:
1.8.
0
1
11
]
a
t
s
u
n
.
r
e
f
l
e
c
t
.
D
e
l
e
g
a
t
i
n
g
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
.
i
n
v
o
k
e
(
D
e
l
e
g
a
t
i
n
g
M
e
t
h
o
d
A
c
c
e
s
s
o
r
I
m
p
l
.
j
a
v
a
:
43
)
[
n
a
:
1.8.
0
1
11
]
a
t
j
a
v
a
.
l
a
n
g
.
r
e
f
l
e
c
t
.
M
e
t
h
o
d
.
i
n
v
o
k
e
(
M
e
t
h
o
d
.
j
a
v
a
:
498
)
[
n
a
:
1.8.
0
1
11
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
m
e
t
h
o
d
.
s
u
p
p
o
r
t
.
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
.
d
o
I
n
v
o
k
e
(
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
.
j
a
v
a
:
189
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
m
e
t
h
o
d
.
s
u
p
p
o
r
t
.
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
.
i
n
v
o
k
e
F
o
r
R
e
q
u
e
s
t
(
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
.
j
a
v
a
:
138
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
a
n
n
o
t
a
t
i
o
n
.
S
e
r
v
l
e
t
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
.
i
n
v
o
k
e
A
n
d
H
a
n
d
l
e
(
S
e
r
v
l
e
t
I
n
v
o
c
a
b
l
e
H
a
n
d
l
e
r
M
e
t
h
o
d
.
j
a
v
a
:
102
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
a
n
n
o
t
a
t
i
o
n
.
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
.
i
n
v
o
k
e
H
a
n
d
l
e
r
M
e
t
h
o
d
(
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
.
j
a
v
a
:
895
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
a
n
n
o
t
a
t
i
o
n
.
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
.
h
a
n
d
l
e
I
n
t
e
r
n
a
l
(
R
e
q
u
e
s
t
M
a
p
p
i
n
g
H
a
n
d
l
e
r
A
d
a
p
t
e
r
.
j
a
v
a
:
800
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
m
v
c
.
m
e
t
h
o
d
.
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
A
d
a
p
t
e
r
.
h
a
n
d
l
e
(
A
b
s
t
r
a
c
t
H
a
n
d
l
e
r
M
e
t
h
o
d
A
d
a
p
t
e
r
.
j
a
v
a
:
87
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
.
d
o
D
i
s
p
a
t
c
h
(
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
.
j
a
v
a
:
1038
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
.
d
o
S
e
r
v
i
c
e
(
D
i
s
p
a
t
c
h
e
r
S
e
r
v
l
e
t
.
j
a
v
a
:
942
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
.
p
r
o
c
e
s
s
R
e
q
u
e
s
t
(
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
.
j
a
v
a
:
1005
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
.
d
o
G
e
t
(
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
.
j
a
v
a
:
897
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
H
t
t
p
S
e
r
v
l
e
t
.
s
e
r
v
i
c
e
(
H
t
t
p
S
e
r
v
l
e
t
.
j
a
v
a
:
634
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
s
e
r
v
l
e
t
.
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
.
s
e
r
v
i
c
e
(
F
r
a
m
e
w
o
r
k
S
e
r
v
l
e
t
.
j
a
v
a
:
882
)
[
s
p
r
i
n
g
−
w
e
b
m
v
c
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
j
a
v
a
x
.
s
e
r
v
l
e
t
.
h
t
t
p
.
H
t
t
p
S
e
r
v
l
e
t
.
s
e
r
v
i
c
e
(
H
t
t
p
S
e
r
v
l
e
t
.
j
a
v
a
:
741
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
231
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
w
e
b
s
o
c
k
e
t
.
s
e
r
v
e
r
.
W
s
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
W
s
F
i
l
t
e
r
.
j
a
v
a
:
53
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
w
e
b
s
o
c
k
e
t
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
c
t
u
a
t
e
.
w
e
b
.
t
r
a
c
e
.
s
e
r
v
l
e
t
.
H
t
t
p
T
r
a
c
e
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
H
t
t
p
T
r
a
c
e
F
i
l
t
e
r
.
j
a
v
a
:
90
)
[
s
p
r
i
n
g
−
b
o
o
t
−
a
c
t
u
a
t
o
r
−
2.1.1.
R
E
L
E
A
S
E
.
j
a
r
:
2.1.1.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
j
a
v
a
:
107
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
R
e
q
u
e
s
t
C
o
n
t
e
x
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
R
e
q
u
e
s
t
C
o
n
t
e
x
t
F
i
l
t
e
r
.
j
a
v
a
:
99
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
j
a
v
a
:
107
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
F
o
r
m
C
o
n
t
e
n
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
F
o
r
m
C
o
n
t
e
n
t
F
i
l
t
e
r
.
j
a
v
a
:
92
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
j
a
v
a
:
107
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
H
i
d
d
e
n
H
t
t
p
M
e
t
h
o
d
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
H
i
d
d
e
n
H
t
t
p
M
e
t
h
o
d
F
i
l
t
e
r
.
j
a
v
a
:
93
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
j
a
v
a
:
107
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
c
t
u
a
t
e
.
m
e
t
r
i
c
s
.
w
e
b
.
s
e
r
v
l
e
t
.
W
e
b
M
v
c
M
e
t
r
i
c
s
F
i
l
t
e
r
.
f
i
l
t
e
r
A
n
d
R
e
c
o
r
d
M
e
t
r
i
c
s
(
W
e
b
M
v
c
M
e
t
r
i
c
s
F
i
l
t
e
r
.
j
a
v
a
:
117
)
[
s
p
r
i
n
g
−
b
o
o
t
−
a
c
t
u
a
t
o
r
−
2.1.1.
R
E
L
E
A
S
E
.
j
a
r
:
2.1.1.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
b
o
o
t
.
a
c
t
u
a
t
e
.
m
e
t
r
i
c
s
.
w
e
b
.
s
e
r
v
l
e
t
.
W
e
b
M
v
c
M
e
t
r
i
c
s
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
W
e
b
M
v
c
M
e
t
r
i
c
s
F
i
l
t
e
r
.
j
a
v
a
:
106
)
[
s
p
r
i
n
g
−
b
o
o
t
−
a
c
t
u
a
t
o
r
−
2.1.1.
R
E
L
E
A
S
E
.
j
a
r
:
2.1.1.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
j
a
v
a
:
107
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
I
n
t
e
r
n
a
l
(
C
h
a
r
a
c
t
e
r
E
n
c
o
d
i
n
g
F
i
l
t
e
r
.
j
a
v
a
:
200
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
s
p
r
i
n
g
f
r
a
m
e
w
o
r
k
.
w
e
b
.
f
i
l
t
e
r
.
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
d
o
F
i
l
t
e
r
(
O
n
c
e
P
e
r
R
e
q
u
e
s
t
F
i
l
t
e
r
.
j
a
v
a
:
107
)
[
s
p
r
i
n
g
−
w
e
b
−
5.1.3.
R
E
L
E
A
S
E
.
j
a
r
:
5.1.3.
R
E
L
E
A
S
E
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
i
n
t
e
r
n
a
l
D
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
193
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
d
o
F
i
l
t
e
r
(
A
p
p
l
i
c
a
t
i
o
n
F
i
l
t
e
r
C
h
a
i
n
.
j
a
v
a
:
166
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
W
r
a
p
p
e
r
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
W
r
a
p
p
e
r
V
a
l
v
e
.
j
a
v
a
:
199
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
C
o
n
t
e
x
t
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
C
o
n
t
e
x
t
V
a
l
v
e
.
j
a
v
a
:
96
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
a
u
t
h
e
n
t
i
c
a
t
o
r
.
A
u
t
h
e
n
t
i
c
a
t
o
r
B
a
s
e
.
i
n
v
o
k
e
(
A
u
t
h
e
n
t
i
c
a
t
o
r
B
a
s
e
.
j
a
v
a
:
490
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
H
o
s
t
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
H
o
s
t
V
a
l
v
e
.
j
a
v
a
:
139
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
v
a
l
v
e
s
.
E
r
r
o
r
R
e
p
o
r
t
V
a
l
v
e
.
i
n
v
o
k
e
(
E
r
r
o
r
R
e
p
o
r
t
V
a
l
v
e
.
j
a
v
a
:
92
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
r
e
.
S
t
a
n
d
a
r
d
E
n
g
i
n
e
V
a
l
v
e
.
i
n
v
o
k
e
(
S
t
a
n
d
a
r
d
E
n
g
i
n
e
V
a
l
v
e
.
j
a
v
a
:
74
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
a
t
a
l
i
n
a
.
c
o
n
n
e
c
t
o
r
.
C
o
y
o
t
e
A
d
a
p
t
e
r
.
s
e
r
v
i
c
e
(
C
o
y
o
t
e
A
d
a
p
t
e
r
.
j
a
v
a
:
343
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
h
t
t
p
11.
H
t
t
p
11
P
r
o
c
e
s
s
o
r
.
s
e
r
v
i
c
e
(
H
t
t
p
11
P
r
o
c
e
s
s
o
r
.
j
a
v
a
:
408
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
A
b
s
t
r
a
c
t
P
r
o
c
e
s
s
o
r
L
i
g
h
t
.
p
r
o
c
e
s
s
(
A
b
s
t
r
a
c
t
P
r
o
c
e
s
s
o
r
L
i
g
h
t
.
j
a
v
a
:
66
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
c
o
y
o
t
e
.
A
b
s
t
r
a
c
t
P
r
o
t
o
c
o
l
def22fd5.from(<generated>) ~[classes/:na] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[na:1.8.0_111] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[na:1.8.0_111] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[na:1.8.0_111] at java.lang.reflect.Method.invoke(Method.java:498) ~[na:1.8.0_111] at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:634) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) ~[spring-webmvc-5.1.3.RELEASE.jar:5.1.3.RELEASE] at javax.servlet.http.HttpServlet.service(HttpServlet.java:741) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) ~[tomcat-embed-websocket-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90) ~[spring-boot-actuator-2.1.1.RELEASE.jar:2.1.1.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:117) ~[spring-boot-actuator-2.1.1.RELEASE.jar:2.1.1.RELEASE] at org.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:106) ~[spring-boot-actuator-2.1.1.RELEASE.jar:2.1.1.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) ~[spring-web-5.1.3.RELEASE.jar:5.1.3.RELEASE] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) ~[tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.coyote.AbstractProtocol
def22fd5.from(<generated>) [classes/:na]atsun.reflect.NativeMethodAccessorImpl.invoke0(NativeMethod) [na:1.8.0111]atsun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) [na:1.8.0111]atsun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [na:1.8.0111]atjava.lang.reflect.Method.invoke(Method.java:498) [na:1.8.0111]atorg.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:189) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:138) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:102) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:895) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:800) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:87) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1038) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atjavax.servlet.http.HttpServlet.service(HttpServlet.java:634) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882) [spring−webmvc−5.1.3.RELEASE.jar:5.1.3.RELEASE]atjavax.servlet.http.HttpServlet.service(HttpServlet.java:741) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53) [tomcat−embed−websocket−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.boot.actuate.web.trace.servlet.HttpTraceFilter.doFilterInternal(HttpTraceFilter.java:90) [spring−boot−actuator−2.1.1.RELEASE.jar:2.1.1.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.web.filter.RequestContextFilter.doFilterInternal(RequestContextFilter.java:99) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.web.filter.FormContentFilter.doFilterInternal(FormContentFilter.java:92) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.web.filter.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:93) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.filterAndRecordMetrics(WebMvcMetricsFilter.java:117) [spring−boot−actuator−2.1.1.RELEASE.jar:2.1.1.RELEASE]atorg.springframework.boot.actuate.metrics.web.servlet.WebMvcMetricsFilter.doFilterInternal(WebMvcMetricsFilter.java:106) [spring−boot−actuator−2.1.1.RELEASE.jar:2.1.1.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:200) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) [spring−web−5.1.3.RELEASE.jar:5.1.3.RELEASE]atorg.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:199) [tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.coyote.AbstractProtocolConnectionHandler.process(AbstractProtocol.java:791) [tomcat-embed-core-9.0.13.jar:9.0.13]
at org.apache.tomcat.util.net.NioEndpoint
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
.
d
o
R
u
n
(
N
i
o
E
n
d
p
o
i
n
t
.
j
a
v
a
:
1417
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
o
r
g
.
a
p
a
c
h
e
.
t
o
m
c
a
t
.
u
t
i
l
.
n
e
t
.
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
B
a
s
e
.
r
u
n
(
S
o
c
k
e
t
P
r
o
c
e
s
s
o
r
B
a
s
e
.
j
a
v
a
:
49
)
[
t
o
m
c
a
t
−
e
m
b
e
d
−
c
o
r
e
−
9.0.13.
j
a
r
:
9.0.13
]
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
r
u
n
W
o
r
k
e
r
(
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
.
j
a
v
a
:
1142
)
[
n
a
:
1.8.
0
1
11
]
a
t
j
a
v
a
.
u
t
i
l
.
c
o
n
c
u
r
r
e
n
t
.
T
h
r
e
a
d
P
o
o
l
E
x
e
c
u
t
o
r
SocketProcessor.doRun(NioEndpoint.java:1417) [tomcat-embed-core-9.0.13.jar:9.0.13] at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49) [tomcat-embed-core-9.0.13.jar:9.0.13] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_111] at java.util.concurrent.ThreadPoolExecutor
SocketProcessor.doRun(NioEndpoint.java:1417)[tomcat−embed−core−9.0.13.jar:9.0.13]atorg.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)[tomcat−embed−core−9.0.13.jar:9.0.13]atjava.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)[na:1.8.0111]atjava.util.concurrent.ThreadPoolExecutorWorker.run(ThreadPoolExecutor.java:617) [na:1.8.0_111]
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-embed-core-9.0.13.jar:9.0.13]
at java.lang.Thread.run(Thread.java:745) [na:1.8.0_111]
其中服务端的设置的配置文件didispace-dev.properties
from=git-dev-5.0
哪位大神指导指导以下呀,为啥客户端启动的时候访问的是http://localhost:8888这个地址呢