Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Sign in / Register
Toggle navigation
S
spring-boot
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
DEMO
spring-boot
Commits
9c426c63
Commit
9c426c63
authored
Nov 30, 2018
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
ed9468a3
Changes
4
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
58 additions
and
64 deletions
+58
-64
ElasticsearchRestHealthIndicator.java
...tuate/elasticsearch/ElasticsearchRestHealthIndicator.java
+13
-14
AbstractFilterRegistrationBean.java
...work/boot/web/servlet/AbstractFilterRegistrationBean.java
+6
-6
ServletContextInitializerBeans.java
...work/boot/web/servlet/ServletContextInitializerBeans.java
+34
-44
ServletRegistrationBean.java
...ngframework/boot/web/servlet/ServletRegistrationBean.java
+5
-0
No files found.
spring-boot-project/spring-boot-actuator/src/main/java/org/springframework/boot/actuate/elasticsearch/ElasticsearchRestHealthIndicator.java
View file @
9c426c63
...
...
@@ -18,7 +18,6 @@ package org.springframework.boot.actuate.elasticsearch;
import
java.io.InputStream
;
import
java.nio.charset.StandardCharsets
;
import
java.util.Map
;
import
org.apache.http.HttpStatus
;
import
org.elasticsearch.client.Request
;
...
...
@@ -57,23 +56,23 @@ public class ElasticsearchRestHealthIndicator extends AbstractHealthIndicator {
protected
void
doHealthCheck
(
Health
.
Builder
builder
)
throws
Exception
{
Response
response
=
this
.
client
.
performRequest
(
new
Request
(
"GET"
,
"/_cluster/health/"
));
if
(
response
.
getStatusLine
().
getStatusCode
()
!=
HttpStatus
.
SC_OK
)
{
builder
.
down
();
return
;
}
else
{
try
(
InputStream
is
=
response
.
getEntity
().
getContent
())
{
Map
<
String
,
Object
>
root
=
this
.
jsonParser
.
parseMap
(
StreamUtils
.
copyToString
(
is
,
StandardCharsets
.
UTF_8
));
String
status
=
(
String
)
root
.
get
(
"status"
);
if
(
status
.
equals
(
RED_STATUS
))
{
builder
.
outOfService
();
}
else
{
builder
.
up
();
try
(
InputStream
inputStream
=
response
.
getEntity
().
getContent
())
{
doHealthCheck
(
builder
,
StreamUtils
.
copyToString
(
inputStream
,
StandardCharsets
.
UTF_8
));
}
}
private
void
doHealthCheck
(
Health
.
Builder
builder
,
String
json
)
{
String
status
=
(
String
)
this
.
jsonParser
.
parseMap
(
json
).
get
(
"status"
);
if
(
RED_STATUS
.
equals
(
status
))
{
builder
.
outOfService
();
return
;
}
builder
.
up
();
}
}
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/AbstractFilterRegistrationBean.java
View file @
9c426c63
...
...
@@ -256,6 +256,12 @@ public abstract class AbstractFilterRegistrationBean<T extends Filter>
}
}
/**
* Return the {@link Filter} to be registered.
* @return the filter
*/
public
abstract
T
getFilter
();
@Override
public
String
toString
()
{
StringBuilder
builder
=
new
StringBuilder
(
getOrDeduceName
(
this
));
...
...
@@ -273,10 +279,4 @@ public abstract class AbstractFilterRegistrationBean<T extends Filter>
return
builder
.
toString
();
}
/**
* Return the {@link Filter} to be registered.
* @return the filter
*/
public
abstract
T
getFilter
();
}
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/ServletContextInitializerBeans.java
View file @
9c426c63
...
...
@@ -20,7 +20,6 @@ import java.util.AbstractCollection;
import
java.util.ArrayList
;
import
java.util.Arrays
;
import
java.util.Collections
;
import
java.util.Comparator
;
import
java.util.EventListener
;
import
java.util.HashSet
;
import
java.util.Iterator
;
...
...
@@ -94,7 +93,7 @@ public class ServletContextInitializerBeans
.
sorted
(
AnnotationAwareOrderComparator
.
INSTANCE
))
.
collect
(
Collectors
.
toList
());
this
.
sortedList
=
Collections
.
unmodifiableList
(
sortedInitializers
);
log
BeansInformation
(
this
.
initializers
);
log
Mappings
(
this
.
initializers
);
}
private
void
addServletContextInitializerBeans
(
ListableBeanFactory
beanFactory
)
{
...
...
@@ -145,12 +144,12 @@ public class ServletContextInitializerBeans
// Mark the underlying source as seen in case it wraps an existing bean
this
.
seen
.
add
(
source
);
}
if
(
ServletContextInitializerBeans
.
logger
.
isTraceEnabled
())
{
if
(
logger
.
isTraceEnabled
())
{
String
resourceDescription
=
getResourceDescription
(
beanName
,
beanFactory
);
int
order
=
getOrder
(
initializer
);
ServletContextInitializerBeans
.
logger
.
trace
(
"Added existing
"
+
type
.
getSimpleName
()
+
" initializer bean '"
+
beanName
+
"'; order="
+
order
+
", resource="
+
resourceDescription
);
logger
.
trace
(
"Added existing "
+
type
.
getSimpleName
()
+
" initializer bean '
"
+
beanName
+
"'; order="
+
order
+
", resource="
+
resourceDescription
);
}
}
...
...
@@ -191,19 +190,20 @@ public class ServletContextInitializerBeans
private
<
T
,
B
extends
T
>
void
addAsRegistrationBean
(
ListableBeanFactory
beanFactory
,
Class
<
T
>
type
,
Class
<
B
>
beanType
,
RegistrationBeanAdapter
<
T
>
adapter
)
{
List
<
Map
.
Entry
<
String
,
B
>>
bean
s
=
getOrderedBeansOfType
(
beanFactory
,
beanType
,
List
<
Map
.
Entry
<
String
,
B
>>
entrie
s
=
getOrderedBeansOfType
(
beanFactory
,
beanType
,
this
.
seen
);
for
(
Entry
<
String
,
B
>
bean
:
bean
s
)
{
if
(
this
.
seen
.
add
(
bean
.
getValue
()))
{
int
order
=
getOrder
(
bean
.
getValue
()
);
String
beanName
=
bean
.
getKey
();
for
(
Entry
<
String
,
B
>
entry
:
entrie
s
)
{
String
beanName
=
entry
.
getKey
();
B
bean
=
entry
.
getValue
(
);
if
(
this
.
seen
.
add
(
bean
))
{
// One that we haven't already seen
RegistrationBean
registration
=
adapter
.
createRegistrationBean
(
beanName
,
bean
.
getValue
(),
beans
.
size
());
bean
,
entries
.
size
());
int
order
=
getOrder
(
bean
);
registration
.
setOrder
(
order
);
this
.
initializers
.
add
(
type
,
registration
);
if
(
ServletContextInitializerBeans
.
logger
.
isTraceEnabled
())
{
ServletContextInitializerBeans
.
logger
.
trace
(
if
(
logger
.
isTraceEnabled
())
{
logger
.
trace
(
"Created "
+
type
.
getSimpleName
()
+
" initializer for bean '"
+
beanName
+
"'; order="
+
order
+
", resource="
+
getResourceDescription
(
beanName
,
beanFactory
));
...
...
@@ -228,9 +228,6 @@ public class ServletContextInitializerBeans
private
<
T
>
List
<
Entry
<
String
,
T
>>
getOrderedBeansOfType
(
ListableBeanFactory
beanFactory
,
Class
<
T
>
type
,
Set
<?>
excludes
)
{
Comparator
<
Entry
<
String
,
T
>>
comparator
=
(
o1
,
o2
)
->
AnnotationAwareOrderComparator
.
INSTANCE
.
compare
(
o1
.
getValue
(),
o2
.
getValue
());
String
[]
names
=
beanFactory
.
getBeanNamesForType
(
type
,
true
,
false
);
Map
<
String
,
T
>
map
=
new
LinkedHashMap
<>();
for
(
String
name
:
names
)
{
...
...
@@ -243,38 +240,31 @@ public class ServletContextInitializerBeans
}
List
<
Entry
<
String
,
T
>>
beans
=
new
ArrayList
<>();
beans
.
addAll
(
map
.
entrySet
());
beans
.
sort
(
comparator
);
beans
.
sort
((
o1
,
o2
)
->
AnnotationAwareOrderComparator
.
INSTANCE
.
compare
(
o1
.
getValue
(),
o2
.
getValue
()));
return
beans
;
}
private
void
log
BeansInformation
(
private
void
log
Mappings
(
MultiValueMap
<
Class
<?>,
ServletContextInitializer
>
initializers
)
{
if
(
ServletContextInitializerBeans
.
logger
.
isDebugEnabled
())
{
List
<
ServletContextInitializer
>
filterRegistrations
=
new
ArrayList
<>();
filterRegistrations
.
addAll
(
initializers
.
getOrDefault
(
FilterRegistrationBean
.
class
,
Collections
.
emptyList
()));
filterRegistrations
.
addAll
(
initializers
.
getOrDefault
(
Filter
.
class
,
Collections
.
emptyList
()));
String
filtersInfo
=
filterRegistrations
.
stream
()
.
map
(
AbstractFilterRegistrationBean
.
class
::
cast
)
.
map
(
AbstractFilterRegistrationBean:
:
toString
)
.
collect
(
Collectors
.
joining
(
", "
));
ServletContextInitializerBeans
.
logger
.
debug
(
"Mapping filters: "
+
filtersInfo
);
List
<
ServletContextInitializer
>
servletRegistrations
=
new
ArrayList
<>();
servletRegistrations
.
addAll
(
initializers
.
getOrDefault
(
ServletRegistrationBean
.
class
,
Collections
.
emptyList
()));
servletRegistrations
.
addAll
(
initializers
.
getOrDefault
(
Servlet
.
class
,
Collections
.
emptyList
()));
String
servletsInfo
=
servletRegistrations
.
stream
()
.
map
(
ServletRegistrationBean
.
class
::
cast
)
.
map
((
servlet
)
->
servlet
.
getServletName
()
+
" "
+
servlet
.
getUrlMappings
())
if
(
logger
.
isDebugEnabled
())
{
logMappings
(
"filters"
,
initializers
,
Filter
.
class
,
FilterRegistrationBean
.
class
);
logMappings
(
"servlets"
,
initializers
,
Servlet
.
class
,
ServletRegistrationBean
.
class
);
}
}
private
void
logMappings
(
String
name
,
MultiValueMap
<
Class
<?>,
ServletContextInitializer
>
initializers
,
Class
<?>
type
,
Class
<?
extends
RegistrationBean
>
registrationType
)
{
List
<
ServletContextInitializer
>
registrations
=
new
ArrayList
<>();
registrations
.
addAll
(
initializers
.
getOrDefault
(
registrationType
,
Collections
.
emptyList
()));
registrations
.
addAll
(
initializers
.
getOrDefault
(
type
,
Collections
.
emptyList
()));
String
info
=
registrations
.
stream
().
map
(
Object:
:
toString
)
.
collect
(
Collectors
.
joining
(
", "
));
ServletContextInitializerBeans
.
logger
.
debug
(
"Mapping servlets: "
+
servletsInfo
);
}
logger
.
debug
(
"Mapping "
+
name
+
": "
+
info
);
}
@Override
...
...
spring-boot-project/spring-boot/src/main/java/org/springframework/boot/web/servlet/ServletRegistrationBean.java
View file @
9c426c63
...
...
@@ -210,4 +210,9 @@ public class ServletRegistrationBean<T extends Servlet>
return
getOrDeduceName
(
this
.
servlet
);
}
@Override
public
String
toString
()
{
return
getServletName
()
+
" urls="
+
getUrlMappings
();
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment