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
1a475102
Commit
1a475102
authored
May 22, 2014
by
Phillip Webb
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Polish
parent
94a25507
Changes
43
Hide whitespace changes
Inline
Side-by-side
Showing
43 changed files
with
210 additions
and
130 deletions
+210
-130
pom.xml
spring-boot-actuator/pom.xml
+1
-1
EndpointAutoConfiguration.java
...boot/actuate/autoconfigure/EndpointAutoConfiguration.java
+1
-1
EndpointWebMvcAutoConfiguration.java
...ctuate/autoconfigure/EndpointWebMvcAutoConfiguration.java
+0
-1
HealthIndicatorAutoConfiguration.java
...tuate/autoconfigure/HealthIndicatorAutoConfiguration.java
+1
-1
HealthMvcEndpointProperties.java
...ot/actuate/autoconfigure/HealthMvcEndpointProperties.java
+2
-1
HealthMvcEndpoint.java
...ramework/boot/actuate/endpoint/mvc/HealthMvcEndpoint.java
+36
-11
AbstractHealthAggregator.java
...amework/boot/actuate/health/AbstractHealthAggregator.java
+4
-4
AbstractHealthIndicator.java
...ramework/boot/actuate/health/AbstractHealthIndicator.java
+0
-1
Health.java
.../java/org/springframework/boot/actuate/health/Health.java
+12
-15
HealthAggregator.java
...springframework/boot/actuate/health/HealthAggregator.java
+0
-2
OrderedHealthAggregator.java
...ramework/boot/actuate/health/OrderedHealthAggregator.java
+36
-9
Status.java
.../java/org/springframework/boot/actuate/health/Status.java
+27
-8
PrefixMetricGroupExporter.java
...oot/actuate/metrics/export/PrefixMetricGroupExporter.java
+1
-1
MultiMetricRepository.java
...oot/actuate/metrics/repository/MultiMetricRepository.java
+1
-1
MultiMetricRichGaugeReader.java
...boot/actuate/metrics/rich/MultiMetricRichGaugeReader.java
+1
-2
PrefixMetricWriter.java
...ework/boot/actuate/metrics/writer/PrefixMetricWriter.java
+2
-1
HealthMvcEndpointTests.java
...ork/boot/actuate/endpoint/mvc/HealthMvcEndpointTests.java
+1
-1
CompositeHealthIndicatorTests.java
...rk/boot/actuate/health/CompositeHealthIndicatorTests.java
+3
-2
MongoHealthIndicatorTests.java
...mework/boot/actuate/health/MongoHealthIndicatorTests.java
+1
-1
OrderedHealthAggregatorTests.java
...ork/boot/actuate/health/OrderedHealthAggregatorTests.java
+22
-10
RedisHealthIndicatorTests.java
...mework/boot/actuate/health/RedisHealthIndicatorTests.java
+1
-1
SimpleDataSourceHealthIndicatorTests.java
.../actuate/health/SimpleDataSourceHealthIndicatorTests.java
+3
-2
VanillaHealthIndicatorTests.java
...work/boot/actuate/health/VanillaHealthIndicatorTests.java
+2
-2
PrefixMetricGroupExporterTests.java
...ctuate/metrics/export/PrefixMetricGroupExporterTests.java
+1
-1
RedisMultiMetricRepositoryTests.java
...ics/repository/redis/RedisMultiMetricRepositoryTests.java
+3
-1
MultiMetricRichGaugeReaderTests.java
...actuate/metrics/rich/MultiMetricRichGaugeReaderTests.java
+3
-1
SolrRepositoriesAutoConfigureRegistrar.java
...onfigure/data/SolrRepositoriesAutoConfigureRegistrar.java
+2
-2
SolrAutoConfiguration.java
...mework/boot/autoconfigure/solr/SolrAutoConfiguration.java
+2
-1
SolrProperties.java
...ringframework/boot/autoconfigure/solr/SolrProperties.java
+2
-2
ServerProperties.java
...ingframework/boot/autoconfigure/web/ServerProperties.java
+2
-2
JpaRepositoriesAutoConfigurationTests.java
...configure/data/JpaRepositoriesAutoConfigurationTests.java
+1
-1
SolrRepositoriesAutoConfigurationTests.java
...onfigure/data/SolrRepositoriesAutoConfigurationTests.java
+2
-1
CityMongoDbRepository.java
...rk/boot/autoconfigure/data/alt/CityMongoDbRepository.java
+1
-1
CitySolrRepository.java
...ework/boot/autoconfigure/data/alt/CitySolrRepository.java
+2
-4
ServerPropertiesTests.java
...amework/boot/autoconfigure/web/ServerPropertiesTests.java
+2
-2
CompositeProxySelector.java
...ework/boot/cli/compiler/grape/CompositeProxySelector.java
+4
-1
pom.xml
spring-boot-dependencies/pom.xml
+1
-1
pom.xml
spring-boot-samples/spring-boot-sample-data-solr/pom.xml
+9
-12
SampleSolrApplicationTests.java
...est/java/sample/data/solr/SampleSolrApplicationTests.java
+1
-0
pom.xml
spring-boot-starters/spring-boot-starter-data-solr/pom.xml
+1
-2
InputArgumentsJavaAgentDetector.java
...ramework/boot/loader/InputArgumentsJavaAgentDetector.java
+2
-3
JavaAgentDetector.java
...va/org/springframework/boot/loader/JavaAgentDetector.java
+1
-3
MimeMappings.java
...g/springframework/boot/context/embedded/MimeMappings.java
+10
-10
No files found.
spring-boot-actuator/pom.xml
View file @
1a475102
...
...
@@ -50,7 +50,7 @@
<groupId>
javax.servlet
</groupId>
<artifactId>
javax.servlet-api
</artifactId>
<optional>
true
</optional>
</dependency>
</dependency>
<dependency>
<groupId>
org.hibernate
</groupId>
<artifactId>
hibernate-validator
</artifactId>
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointAutoConfiguration.java
View file @
1a475102
...
...
@@ -37,9 +37,9 @@ import org.springframework.boot.actuate.endpoint.RequestMappingEndpoint;
import
org.springframework.boot.actuate.endpoint.ShutdownEndpoint
;
import
org.springframework.boot.actuate.endpoint.TraceEndpoint
;
import
org.springframework.boot.actuate.endpoint.VanillaPublicMetrics
;
import
org.springframework.boot.actuate.health.OrderedHealthAggregator
;
import
org.springframework.boot.actuate.health.HealthAggregator
;
import
org.springframework.boot.actuate.health.HealthIndicator
;
import
org.springframework.boot.actuate.health.OrderedHealthAggregator
;
import
org.springframework.boot.actuate.metrics.reader.MetricReader
;
import
org.springframework.boot.actuate.metrics.repository.InMemoryMetricRepository
;
import
org.springframework.boot.actuate.trace.InMemoryTraceRepository
;
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/EndpointWebMvcAutoConfiguration.java
View file @
1a475102
...
...
@@ -208,7 +208,6 @@ public class EndpointWebMvcAutoConfiguration implements ApplicationContextAware,
if
(
this
.
applicationContext
instanceof
ConfigurableApplicationContext
)
{
((
ConfigurableApplicationContext
)
this
.
applicationContext
)
.
addApplicationListener
(
new
ApplicationListener
<
ContextClosedEvent
>()
{
@Override
public
void
onApplicationEvent
(
ContextClosedEvent
event
)
{
if
(
event
.
getApplicationContext
()
==
EndpointWebMvcAutoConfiguration
.
this
.
applicationContext
)
{
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthIndicatorAutoConfiguration.java
View file @
1a475102
...
...
@@ -54,7 +54,7 @@ import org.springframework.data.redis.connection.RedisConnectionFactory;
/**
* {@link EnableAutoConfiguration Auto-configuration} for {@link HealthIndicator}s.
*
*
* @author Christian Dupuis
* @author Andy Wilkinson
* @since 1.1.0
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/autoconfigure/HealthMvcEndpointProperties.java
View file @
1a475102
...
...
@@ -41,4 +41,5 @@ public class HealthMvcEndpointProperties {
public
void
setMapping
(
Map
<
String
,
HttpStatus
>
mapping
)
{
this
.
mapping
=
mapping
;
}
}
\ No newline at end of file
}
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/endpoint/mvc/HealthMvcEndpoint.java
View file @
1a475102
...
...
@@ -31,22 +31,53 @@ import org.springframework.web.bind.annotation.ResponseBody;
/**
* Adapter to expose {@link HealthEndpoint} as an {@link MvcEndpoint}.
*
*
* @author Christian Dupuis
* @since 1.1.0
*/
public
class
HealthMvcEndpoint
extends
EndpointMvcAdapter
{
private
Map
<
String
,
HttpStatus
>
statusMapping
;
private
Map
<
String
,
HttpStatus
>
statusMapping
=
new
HashMap
<
String
,
HttpStatus
>()
;
public
HealthMvcEndpoint
(
HealthEndpoint
delegate
)
{
super
(
delegate
);
setupDefaultStatusMapping
();
}
private
void
setupDefaultStatusMapping
()
{
addStatusMapping
(
Status
.
DOWN
,
HttpStatus
.
SERVICE_UNAVAILABLE
);
addStatusMapping
(
Status
.
OUT_OF_SERVICE
,
HttpStatus
.
SERVICE_UNAVAILABLE
);
}
/**
* Set specific status mappings
* @param statusMapping a map of status code to {@link HttpStatus}
*/
public
void
setStatusMapping
(
Map
<
String
,
HttpStatus
>
statusMapping
)
{
Assert
.
notNull
(
statusMapping
,
"StatusMapping must not be null"
);
this
.
statusMapping
=
statusMapping
;
this
.
statusMapping
=
new
HashMap
<
String
,
HttpStatus
>(
statusMapping
);
}
/**
* Add a status mapping to the existing set
* @param status the status to map
* @param httpStatus the http status
*/
public
void
addStatusMapping
(
Status
status
,
HttpStatus
httpStatus
)
{
Assert
.
notNull
(
status
,
"Status must not be null"
);
Assert
.
notNull
(
httpStatus
,
"HttpStatus must not be null"
);
addStatusMapping
(
status
.
getCode
(),
httpStatus
);
}
/**
* Add a status mapping to the existing set
* @param statusCode the status code to map
* @param httpStatus the http status
*/
public
void
addStatusMapping
(
String
statusCode
,
HttpStatus
httpStatus
)
{
Assert
.
notNull
(
statusCode
,
"StatusCode must not be null"
);
Assert
.
notNull
(
httpStatus
,
"HttpStatus must not be null"
);
this
.
statusMapping
.
put
(
statusCode
,
httpStatus
);
}
@RequestMapping
...
...
@@ -62,16 +93,10 @@ public class HealthMvcEndpoint extends EndpointMvcAdapter {
Health
health
=
(
Health
)
getDelegate
().
invoke
();
Status
status
=
health
.
getStatus
();
if
(
this
.
statusMapping
.
containsKey
(
status
.
getCode
()))
{
return
new
ResponseEntity
<
Health
>(
health
,
this
.
statusMapping
.
get
(
status
.
getCode
()));
return
new
ResponseEntity
<
Health
>(
health
,
this
.
statusMapping
.
get
(
status
.
getCode
()));
}
return
health
;
}
private
void
setupDefaultStatusMapping
()
{
this
.
statusMapping
=
new
HashMap
<
String
,
HttpStatus
>();
this
.
statusMapping
.
put
(
Status
.
DOWN
.
getCode
(),
HttpStatus
.
SERVICE_UNAVAILABLE
);
this
.
statusMapping
.
put
(
Status
.
OUT_OF_SERVICE
.
getCode
(),
HttpStatus
.
SERVICE_UNAVAILABLE
);
}
}
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractHealthAggregator.java
View file @
1a475102
...
...
@@ -32,15 +32,15 @@ public abstract class AbstractHealthAggregator implements HealthAggregator {
@Override
public
final
Health
aggregate
(
Map
<
String
,
Health
>
healths
)
{
Health
health
=
new
Health
();
List
<
Status
>
status
=
new
ArrayList
<
Status
>();
for
(
Map
.
Entry
<
String
,
Health
>
h
:
healths
.
entrySet
())
{
health
.
withDetail
(
h
.
getKey
(),
h
.
getValue
());
status
.
add
(
h
.
getValue
().
getStatus
());
for
(
Map
.
Entry
<
String
,
Health
>
entry
:
healths
.
entrySet
())
{
health
.
withDetail
(
entry
.
getKey
(),
entry
.
getValue
());
status
.
add
(
entry
.
getValue
().
getStatus
());
}
health
.
status
(
aggregateStatus
(
status
));
return
health
;
}
protected
abstract
Status
aggregateStatus
(
List
<
Status
>
status
);
}
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/AbstractHealthIndicator.java
View file @
1a475102
...
...
@@ -19,7 +19,6 @@ package org.springframework.boot.actuate.health;
/**
* Base {@link HealthIndicator} implementations that encapsulates creation of
* {@link Health} instance and error handling.
*
* <p>
* This implementation is only suitable if an {@link Exception} raised from
* {@link #doHealthCheck(Health)} should create a {@link Status#DOWN} health status.
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Health.java
View file @
1a475102
...
...
@@ -31,27 +31,24 @@ import com.fasterxml.jackson.annotation.JsonUnwrapped;
/**
* Value object used to carry information about the health information of a component or
* subsystem.
*
* <p>
* {@link Health} contains a {@link Status} to express the state of a component or
* subsystem and some additional details to carry some contextual information.
*
* <p>
* {@link Health} has a fluent API to make it easy to construct instances. Typical usage
* in a {@link HealthIndicator} would be:
*
* <code>
* Health health = new Health();
* try {
* // do some test to determine state of component
*
* health.up().withDetail("version", "1.1.2");
* }
* catch (Exception ex) {
* health.down().withException(ex);
* }
* return health;
* </code>
* <pre class="code">
* Health health = new Health();
* try {
* // do some test to determine state of component
* health.up().withDetail("version", "1.1.2");
* }
* catch (Exception ex) {
* health.down().withException(ex);
* }
* return health;
* </pre>
*
* @author Christian Dupuis
* @since 1.1.0
...
...
@@ -64,7 +61,7 @@ public class Health {
private
Map
<
String
,
Object
>
details
;
public
Health
()
{
this
(
Status
.
UNKOWN
);
this
(
Status
.
UNK
N
OWN
);
}
public
Health
(
Status
status
)
{
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/HealthAggregator.java
View file @
1a475102
...
...
@@ -21,13 +21,11 @@ import java.util.Map;
/**
* Strategy interface used by {@link CompositeHealthIndicator} to aggregate {@link Health}
* instances into a final one.
*
* <p>
* This is especially useful to combine subsystem states expressed through
* {@link Health#getStatus()} into one state for the entire system. The default
* implementation {@link OrderedHealthAggregator} sorts {@link Status} instances based on
* a priority list.
*
* <p>
* It is possible to add more complex {@link Status} types to the system. In that case
* either the {@link OrderedHealthAggregator} needs to be properly configured or users
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/OrderedHealthAggregator.java
View file @
1a475102
...
...
@@ -21,38 +21,64 @@ import java.util.Collections;
import
java.util.Comparator
;
import
java.util.List
;
import
org.springframework.util.Assert
;
/**
* Default {@link HealthAggregator} implementation that aggregates {@link Health}
* instances and determines the final system state based on a simple ordered list.
*
* <p>
* If a different order is required or a new {@link Status} type will be used, the order
* can be set by calling {@link #setStatusOrder(List)}.
*
*
* @author Christian Dupuis
* @since 1.1.0
*/
public
class
OrderedHealthAggregator
extends
AbstractHealthAggregator
{
private
List
<
String
>
statusOrder
=
Arrays
.
asList
(
"DOWN"
,
"OUT_OF_SERVICE"
,
"UP"
,
"UNKOWN"
);
private
List
<
String
>
statusOrder
;
/**
* Create a new {@link OrderedHealthAggregator} instance.
*/
public
OrderedHealthAggregator
()
{
setStatusOrder
(
Status
.
DOWN
,
Status
.
OUT_OF_SERVICE
,
Status
.
UP
,
Status
.
UNKNOWN
);
}
/**
* Set the ordering of the status.
* @param statusOrder an ordered list of the status
*/
public
void
setStatusOrder
(
Status
...
statusOrder
)
{
String
[]
order
=
new
String
[
statusOrder
.
length
];
for
(
int
i
=
0
;
i
<
statusOrder
.
length
;
i
++)
{
order
[
i
]
=
statusOrder
[
i
].
getCode
();
}
setStatusOrder
(
Arrays
.
asList
(
order
));
}
/**
* Set the ordering of the status.
* @param statusOrder an ordered list of the status codes
*/
public
void
setStatusOrder
(
List
<
String
>
statusOrder
)
{
Assert
.
notNull
(
statusOrder
,
"StatusOrder must not be null"
);
this
.
statusOrder
=
statusOrder
;
}
@Override
protected
Status
aggregateStatus
(
List
<
Status
>
status
)
{
// If no status is given return UNKOWN
// If no status is given return UNK
N
OWN
if
(
status
.
size
()
==
0
)
{
return
Status
.
UNKOWN
;
return
Status
.
UNK
N
OWN
;
}
// Sort given Status instances by configured order
Collections
.
sort
(
status
,
new
StatusComparator
(
this
.
statusOrder
));
return
status
.
get
(
0
);
}
/**
* {@link Comparator} used to order {@link Status}.
*/
private
class
StatusComparator
implements
Comparator
<
Status
>
{
private
final
List
<
String
>
statusOrder
;
...
...
@@ -63,8 +89,9 @@ public class OrderedHealthAggregator extends AbstractHealthAggregator {
@Override
public
int
compare
(
Status
s1
,
Status
s2
)
{
return
Integer
.
valueOf
(
this
.
statusOrder
.
indexOf
(
s1
.
getCode
())).
compareTo
(
Integer
.
valueOf
(
this
.
statusOrder
.
indexOf
(
s2
.
getCode
())));
int
i1
=
this
.
statusOrder
.
indexOf
(
s1
.
getCode
());
int
i2
=
this
.
statusOrder
.
indexOf
(
s2
.
getCode
());
return
(
i1
<
i2
?
-
1
:
(
i1
==
i2
?
s1
.
getCode
().
compareTo
(
s2
.
getCode
())
:
1
));
}
}
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/Status.java
View file @
1a475102
...
...
@@ -25,11 +25,9 @@ import com.fasterxml.jackson.annotation.JsonProperty;
/**
* Value object to express state of a component or subsystem.
*
* <p>
* Status provides convenient constants for commonly used states like {@link #UP},
* {@link #DOWN} or {@link #OUT_OF_SERVICE}.
*
* <p>
* Custom states can also be created and used throughout the Spring Boot Health subsystem.
*
...
...
@@ -42,7 +40,7 @@ public class Status {
/**
* Convenient constant value representing unknown state
*/
public
static
final
Status
UNK
OWN
=
new
Status
(
"UNK
OWN"
);
public
static
final
Status
UNK
NOWN
=
new
Status
(
"UNKN
OWN"
);
/**
* Convenient constant value representing up state
...
...
@@ -63,10 +61,19 @@ public class Status {
private
final
String
description
;
/**
* Create a new {@link Status} instance with the given code and an empty description.
* @param code the status code
*/
public
Status
(
String
code
)
{
this
(
code
,
""
);
}
/**
* Create a new {@link Status} instance with the given code and description.
* @param code the status code
* @param description a description of the status
*/
public
Status
(
String
code
,
String
description
)
{
Assert
.
notNull
(
code
,
"Code must not be null"
);
Assert
.
notNull
(
description
,
"Description must not be null"
);
...
...
@@ -74,16 +81,32 @@ public class Status {
this
.
description
=
description
;
}
/**
* @return the code for this status
*/
@JsonProperty
(
"status"
)
public
String
getCode
()
{
return
this
.
code
;
}
/**
* @return the description of this status
*/
@JsonInclude
(
Include
.
NON_EMPTY
)
public
String
getDescription
()
{
return
this
.
description
;
}
@Override
public
String
toString
()
{
return
this
.
code
;
}
@Override
public
int
hashCode
()
{
return
this
.
code
.
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
this
)
{
...
...
@@ -95,8 +118,4 @@ public class Status {
return
false
;
}
@Override
public
int
hashCode
()
{
return
this
.
code
.
hashCode
();
}
}
\ No newline at end of file
}
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/export/PrefixMetricGroupExporter.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/repository/MultiMetricRepository.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/rich/MultiMetricRichGaugeReader.java
View file @
1a475102
/*
* Copyright 2014-201
5
the original author or authors.
* Copyright 2014-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -29,7 +29,6 @@ import org.springframework.boot.actuate.metrics.repository.MultiMetricRepository
* has been populated using that exporter.
*
* @author Dave Syer
*
* @since 1.1.0
*/
public
class
MultiMetricRichGaugeReader
implements
RichGaugeReader
{
...
...
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/metrics/writer/PrefixMetricWriter.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -25,6 +25,7 @@ import org.springframework.boot.actuate.metrics.Metric;
* name prefix (their group name).
*
* @author Dave Syer
* @since 1.1.0
*/
public
interface
PrefixMetricWriter
{
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/endpoint/mvc/HealthMvcEndpointTests.java
View file @
1a475102
...
...
@@ -33,7 +33,7 @@ import static org.mockito.Mockito.when;
/**
* Tests for {@link HealthMvcEndpoint}.
*
*
* @author Christian Dupuis
*/
public
class
HealthMvcEndpointTests
{
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/CompositeHealthIndicatorTests.java
View file @
1a475102
...
...
@@ -123,8 +123,9 @@ public class CompositeHealthIndicatorTests {
Health
result
=
composite
.
health
();
ObjectMapper
mapper
=
new
ObjectMapper
();
assertEquals
(
"{\"status\":\"UNKOWN\",\"db\":{\"status\":\"UNKOWN\",\"db1\":{\"status\":\"UNKOWN\",\"1\":\"1\"},\"db2\":{\"status\":\"UNKOWN\",\"2\":\"2\"}}}"
,
assertEquals
(
"{\"status\":\"UNKNOWN\",\"db\":{\"status\":\"UNKNOWN\""
+
",\"db1\":{\"status\":\"UNKNOWN\",\"1\":\"1\"},"
+
"\"db2\":{\"status\":\"UNKNOWN\",\"2\":\"2\"}}}"
,
mapper
.
writeValueAsString
(
result
));
}
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/MongoHealthIndicatorTests.java
View file @
1a475102
...
...
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertTrue;
/**
* Tests for {@link MongoHealthIndicator}.
*
*
* @author Christian Dupuis
*/
public
class
MongoHealthIndicatorTests
{
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/OrderedHealthAggregatorTests.java
View file @
1a475102
...
...
@@ -27,7 +27,7 @@ import static org.junit.Assert.assertEquals;
/**
* Tests for {@link OrderedHealthAggregator}.
*
*
* @author Christian Dupuis
*/
public
class
OrderedHealthAggregatorTests
{
...
...
@@ -40,35 +40,47 @@ public class OrderedHealthAggregatorTests {
}
@Test
public
void
testDefaultOrdering
()
{
public
void
defaultOrder
()
{
Map
<
String
,
Health
>
healths
=
new
HashMap
<
String
,
Health
>();
healths
.
put
(
"h1"
,
new
Health
(
Status
.
DOWN
));
healths
.
put
(
"h2"
,
new
Health
(
Status
.
UP
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNKOWN
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNK
N
OWN
));
healths
.
put
(
"h4"
,
new
Health
(
Status
.
OUT_OF_SERVICE
));
assertEquals
(
Status
.
DOWN
,
this
.
healthAggregator
.
aggregate
(
healths
).
getStatus
());
}
@Test
public
void
testDefaultOrderingWithCustomStatus
()
{
public
void
customOrder
()
{
this
.
healthAggregator
.
setStatusOrder
(
Status
.
UNKNOWN
,
Status
.
UP
,
Status
.
OUT_OF_SERVICE
,
Status
.
DOWN
);
Map
<
String
,
Health
>
healths
=
new
HashMap
<
String
,
Health
>();
healths
.
put
(
"h1"
,
new
Health
(
Status
.
DOWN
));
healths
.
put
(
"h2"
,
new
Health
(
Status
.
UP
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNKNOWN
));
healths
.
put
(
"h4"
,
new
Health
(
Status
.
OUT_OF_SERVICE
));
assertEquals
(
Status
.
UNKNOWN
,
this
.
healthAggregator
.
aggregate
(
healths
).
getStatus
());
}
@Test
public
void
defaultOrderWithCustomStatus
()
{
Map
<
String
,
Health
>
healths
=
new
HashMap
<
String
,
Health
>();
healths
.
put
(
"h1"
,
new
Health
(
Status
.
DOWN
));
healths
.
put
(
"h2"
,
new
Health
(
Status
.
UP
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNKOWN
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNK
N
OWN
));
healths
.
put
(
"h4"
,
new
Health
(
Status
.
OUT_OF_SERVICE
));
healths
.
put
(
"h5"
,
new
Health
(
new
Status
(
"CUSTOM"
)));
assertEquals
(
new
Status
(
"CUSTOM"
),
this
.
healthAggregator
.
aggregate
(
healths
)
.
getStatus
());
assertEquals
(
new
Status
(
"CUSTOM"
),
this
.
healthAggregator
.
aggregate
(
healths
)
.
getStatus
());
}
@Test
public
void
testDefaultOrderingWithCustomStatusAndOrder
()
{
public
void
customOrderWithCustomStatus
()
{
this
.
healthAggregator
.
setStatusOrder
(
Arrays
.
asList
(
"DOWN"
,
"OUT_OF_SERVICE"
,
"UP"
,
"UNKOWN"
,
"CUSTOM"
));
"UP"
,
"UNK
N
OWN"
,
"CUSTOM"
));
Map
<
String
,
Health
>
healths
=
new
HashMap
<
String
,
Health
>();
healths
.
put
(
"h1"
,
new
Health
(
Status
.
DOWN
));
healths
.
put
(
"h2"
,
new
Health
(
Status
.
UP
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNKOWN
));
healths
.
put
(
"h3"
,
new
Health
(
Status
.
UNK
N
OWN
));
healths
.
put
(
"h4"
,
new
Health
(
Status
.
OUT_OF_SERVICE
));
healths
.
put
(
"h5"
,
new
Health
(
new
Status
(
"CUSTOM"
)));
assertEquals
(
Status
.
DOWN
,
this
.
healthAggregator
.
aggregate
(
healths
).
getStatus
());
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/RedisHealthIndicatorTests.java
View file @
1a475102
...
...
@@ -36,7 +36,7 @@ import static org.junit.Assert.assertTrue;
/**
* Tests for {@link RedisHealthIndicator}.
*
*
* @author Christian Dupuis
*/
public
class
RedisHealthIndicatorTests
{
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/SimpleDataSourceHealthIndicatorTests.java
View file @
1a475102
...
...
@@ -36,12 +36,13 @@ import static org.mockito.Mockito.when;
/**
* Tests for {@link SimpleDataSourceHealthIndicator}.
*
*
* @author Dave Syer
*/
public
class
SimpleDataSourceHealthIndicatorTests
{
private
final
SimpleDataSourceHealthIndicator
indicator
=
new
SimpleDataSourceHealthIndicator
();
private
DriverManagerDataSource
dataSource
;
@Before
...
...
@@ -63,7 +64,7 @@ public class SimpleDataSourceHealthIndicatorTests {
public
void
customQuery
()
{
this
.
indicator
.
setDataSource
(
this
.
dataSource
);
new
JdbcTemplate
(
this
.
dataSource
)
.
execute
(
"CREATE TABLE FOO (id INTEGER IDENTITY PRIMARY KEY)"
);
.
execute
(
"CREATE TABLE FOO (id INTEGER IDENTITY PRIMARY KEY)"
);
this
.
indicator
.
setQuery
(
"SELECT COUNT(*) from FOO"
);
Health
health
=
this
.
indicator
.
health
();
System
.
err
.
println
(
health
);
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/health/VanillaHealthIndicatorTests.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -22,7 +22,7 @@ import static org.junit.Assert.assertEquals;
/**
* Tests for {@link VanillaHealthIndicator}.
*
*
* @author Phillip Webb
*/
public
class
VanillaHealthIndicatorTests
{
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/export/PrefixMetricGroupExporterTests.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/repository/redis/RedisMultiMetricRepositoryTests.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -40,6 +40,8 @@ import static org.junit.Assert.assertNull;
import
static
org
.
junit
.
Assert
.
assertTrue
;
/**
* Tests for {@link RedisMultiMetricRepository}.
*
* @author Dave Syer
*/
@RunWith
(
Parameterized
.
class
)
...
...
spring-boot-actuator/src/test/java/org/springframework/boot/actuate/metrics/rich/MultiMetricRichGaugeReaderTests.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -25,6 +25,8 @@ import static org.junit.Assert.assertEquals;
import
static
org
.
junit
.
Assert
.
assertNotNull
;
/**
* Tests for {@link MultiMetricRichGaugeReader}.
*
* @author Dave Syer
*/
public
class
MultiMetricRichGaugeReaderTests
{
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/data/SolrRepositoriesAutoConfigureRegistrar.java
View file @
1a475102
...
...
@@ -26,11 +26,11 @@ import org.springframework.data.solr.repository.config.SolrRepositoryConfigExten
/**
* {@link ImportBeanDefinitionRegistrar} used to auto-configure Spring Data Solr
* repositories.
*
*
* @author Christoph Strobl
* @since 1.1.0
*/
public
class
SolrRepositoriesAutoConfigureRegistrar
extends
class
SolrRepositoriesAutoConfigureRegistrar
extends
AbstractRepositoryConfigurationSourceSupport
{
@Override
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/solr/SolrAutoConfiguration.java
View file @
1a475102
...
...
@@ -32,7 +32,7 @@ import org.springframework.util.StringUtils;
/**
* {@link EnableAutoConfiguration Auto-configuration} for Solr
*
*
* @author Christoph Strobl
* @since 1.1.0
*/
...
...
@@ -66,4 +66,5 @@ public class SolrAutoConfiguration {
}
return
new
HttpSolrServer
(
this
.
properties
.
getHost
());
}
}
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/solr/SolrProperties.java
View file @
1a475102
...
...
@@ -19,8 +19,8 @@ package org.springframework.boot.autoconfigure.solr;
import
org.springframework.boot.context.properties.ConfigurationProperties
;
/**
*
Configuration properties
for Solr.
*
*
{@link ConfigurationProperties}
for Solr.
*
* @author Christoph Strobl
* @since 1.1.0
*/
...
...
spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/web/ServerProperties.java
View file @
1a475102
...
...
@@ -42,7 +42,7 @@ import org.springframework.util.StringUtils;
* {@link ConfigurationProperties properties} for a web server (e.g. port and path
* settings). Will be used to customize an {@link EmbeddedServletContainerFactory} when an
* {@link EmbeddedServletContainerCustomizerBeanPostProcessor} is active.
*
*
* @author Dave Syer
* @author Stephane Nicoll
*/
...
...
@@ -159,7 +159,7 @@ public class ServerProperties implements EmbeddedServletContainerCustomizer {
}
public
int
getMaxHttpHeaderSize
()
{
return
maxHttpHeaderSize
;
return
this
.
maxHttpHeaderSize
;
}
public
void
setMaxHttpHeaderSize
(
int
maxHttpHeaderSize
)
{
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/JpaRepositoriesAutoConfigurationTests.java
View file @
1a475102
...
...
@@ -38,7 +38,7 @@ import static org.junit.Assert.assertNotNull;
/**
* Tests for {@link JpaRepositoriesAutoConfiguration}.
*
*
* @author Dave Syer
* @author Oliver Gierke
*/
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/SolrRepositoriesAutoConfigurationTests.java
View file @
1a475102
...
...
@@ -13,6 +13,7 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
autoconfigure
.
data
;
import
org.apache.solr.client.solrj.SolrServer
;
...
...
@@ -34,7 +35,7 @@ import static org.junit.Assert.assertThat;
/**
* Tests for {@link SolrRepositoriesAutoConfiguration}
*
*
* @author Christoph Strobl
*/
public
class
SolrRepositoriesAutoConfigurationTests
{
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/CityMongoDbRepository.java
View file @
1a475102
/*
* Copyright 201
4
-2014 the original author or authors.
* Copyright 201
2
-2014 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/data/alt/CitySolrRepository.java
View file @
1a475102
/*
* Copyright 2014 the original author or authors.
* Copyright 201
2-201
4 the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -13,14 +13,12 @@
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
autoconfigure
.
data
.
alt
;
import
org.springframework.boot.autoconfigure.data.solr.City
;
import
org.springframework.data.repository.Repository
;
/**
* @author Christoph Strobl
*/
public
interface
CitySolrRepository
extends
Repository
<
City
,
String
>
{
}
spring-boot-autoconfigure/src/test/java/org/springframework/boot/autoconfigure/web/ServerPropertiesTests.java
View file @
1a475102
...
...
@@ -34,7 +34,7 @@ import static org.mockito.Mockito.verify;
/**
* Tests for {@link ServerProperties}.
*
*
* @author Dave Syer
* @author Stephane Nicoll
*/
...
...
@@ -98,7 +98,7 @@ public class ServerPropertiesTests {
}
@Test
public
void
testCustomizeTomcatHeaderSize
()
throws
Exception
{
public
void
testCustomizeTomcatHeaderSize
()
throws
Exception
{
Map
<
String
,
String
>
map
=
new
HashMap
<
String
,
String
>();
map
.
put
(
"server.tomcat.maxHttpHeaderSize"
,
"9999"
);
new
RelaxedDataBinder
(
this
.
properties
,
"server"
).
bind
(
new
MutablePropertyValues
(
...
...
spring-boot-cli/src/main/java/org/springframework/boot/cli/compiler/grape/CompositeProxySelector.java
View file @
1a475102
/*
* Copyright 2012-201
3
the original author or authors.
* Copyright 2012-201
4
the original author or authors.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
...
...
@@ -24,7 +24,10 @@ import org.eclipse.aether.repository.ProxySelector;
import
org.eclipse.aether.repository.RemoteRepository
;
/**
* Composite {@link ProxySelector}.
*
* @author Dave Syer
* @since 1.1.0
*/
public
class
CompositeProxySelector
implements
ProxySelector
{
...
...
spring-boot-dependencies/pom.xml
View file @
1a475102
...
...
@@ -948,7 +948,7 @@
<version>
${spring-integration.version}
</version>
<scope>
import
</scope>
<type>
pom
</type>
</dependency>
</dependency>
<dependency>
<groupId>
org.springframework.mobile
</groupId>
<artifactId>
spring-mobile-device
</artifactId>
...
...
spring-boot-samples/spring-boot-sample-data-solr/pom.xml
View file @
1a475102
<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>
<parent>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-samples
</artifactId>
<version>
1.1.0.BUILD-SNAPSHOT
</version>
</parent>
<artifactId>
spring-boot-sample-data-solr
</artifactId>
<name>
Spring Boot Data Solr Sample
</name>
<modelVersion>
4.0.0
</modelVersion>
<parent>
<!-- Your own application should inherit from spring-boot-starter-parent -->
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-samples
</artifactId>
<version>
1.1.0.BUILD-SNAPSHOT
</version>
</parent>
<artifactId>
spring-boot-sample-data-solr
</artifactId>
<name>
Spring Boot Data Solr Sample
</name>
<description>
Spring Boot Data Solr Sample
</description>
<url>
http://projects.spring.io/spring-boot/
</url>
<organization>
...
...
@@ -17,10 +18,6 @@
<main.basedir>
${basedir}/../..
</main.basedir>
</properties>
<dependencies>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
</dependency>
<dependency>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter-data-solr
</artifactId>
...
...
spring-boot-samples/spring-boot-sample-data-solr/src/test/java/sample/data/solr/SampleSolrApplicationTests.java
View file @
1a475102
...
...
@@ -54,4 +54,5 @@ public class SampleSolrApplicationTests {
}
return
false
;
}
}
spring-boot-starters/spring-boot-starter-data-solr/pom.xml
View file @
1a475102
...
...
@@ -19,9 +19,8 @@
</properties>
<dependencies>
<dependency>
<groupId>
${project.groupId}
</groupId>
<groupId>
org.springframework.boot
</groupId>
<artifactId>
spring-boot-starter
</artifactId>
<version>
${project.version}
</version>
</dependency>
<dependency>
<groupId>
org.apache.solr
</groupId>
...
...
spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/InputArgumentsJavaAgentDetector.java
View file @
1a475102
...
...
@@ -30,7 +30,7 @@ import java.util.Set;
/**
* A {@link JavaAgentDetector} that detects jars supplied via the {@code -javaagent} JVM
* input argument.
*
*
* @author Andy Wilkinson
* @since 1.1.0
*/
...
...
@@ -58,7 +58,7 @@ public class InputArgumentsJavaAgentDetector implements JavaAgentDetector {
});
}
catch
(
Exception
ex
)
{
return
Collections
.
<
String
>
emptyList
();
return
Collections
.
emptyList
();
}
}
...
...
@@ -89,7 +89,6 @@ public class InputArgumentsJavaAgentDetector implements JavaAgentDetector {
}
return
path
;
}
return
null
;
}
...
...
spring-boot-tools/spring-boot-loader/src/main/java/org/springframework/boot/loader/JavaAgentDetector.java
View file @
1a475102
...
...
@@ -20,9 +20,8 @@ import java.net.URL;
/**
* A strategy for detecting Java agents
*
*
* @author Andy Wilkinson
*
* @since 1.1
*/
public
interface
JavaAgentDetector
{
...
...
@@ -30,7 +29,6 @@ public interface JavaAgentDetector {
/**
* Returns {@code true} if {@code url} points to a Java agent jar file, otherwise
* {@code false} is returned.
*
* @param url The url to examine
*/
public
boolean
isJavaAgentJar
(
URL
url
);
...
...
spring-boot/src/main/java/org/springframework/boot/context/embedded/MimeMappings.java
View file @
1a475102
...
...
@@ -296,6 +296,11 @@ public final class MimeMappings implements Iterable<Mapping> {
return
(
previous
==
null
?
null
:
previous
.
getMimeType
());
}
@Override
public
int
hashCode
()
{
return
this
.
map
.
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
{
...
...
@@ -311,11 +316,6 @@ public final class MimeMappings implements Iterable<Mapping> {
return
false
;
}
@Override
public
int
hashCode
()
{
return
this
.
map
.
hashCode
();
}
/**
* Create a new unmodifiable view of the specified mapping. Methods that attempt to
* modify the returned map will throw {@link UnsupportedOperationException}s.
...
...
@@ -350,6 +350,11 @@ public final class MimeMappings implements Iterable<Mapping> {
return
this
.
mimeType
;
}
@Override
public
int
hashCode
()
{
return
this
.
extension
.
hashCode
();
}
@Override
public
boolean
equals
(
Object
obj
)
{
if
(
obj
==
null
)
{
...
...
@@ -366,11 +371,6 @@ public final class MimeMappings implements Iterable<Mapping> {
return
false
;
}
@Override
public
int
hashCode
()
{
return
this
.
extension
.
hashCode
();
}
}
}
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