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
4b2cea72
Commit
4b2cea72
authored
Oct 22, 2013
by
Dave Syer
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Add simple DB aware HealthIndicator
parent
00a0cab7
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
88 additions
and
0 deletions
+88
-0
SimpleHealthIndicator.java
...gframework/boot/actuate/health/SimpleHealthIndicator.java
+88
-0
No files found.
spring-boot-actuator/src/main/java/org/springframework/boot/actuate/health/SimpleHealthIndicator.java
0 → 100644
View file @
4b2cea72
/*
* Copyright 2012-2013 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.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package
org
.
springframework
.
boot
.
actuate
.
health
;
import
java.sql.SQLException
;
import
java.util.LinkedHashMap
;
import
java.util.Map
;
import
javax.sql.DataSource
;
import
org.springframework.context.EnvironmentAware
;
import
org.springframework.core.env.Environment
;
import
org.springframework.jdbc.core.JdbcTemplate
;
import
org.springframework.util.StringUtils
;
/**
* @author Dave Syer
*/
public
class
SimpleHealthIndicator
implements
HealthIndicator
<
Map
<
String
,
Object
>>,
EnvironmentAware
{
private
Environment
environment
;
private
DataSource
dataSource
;
private
JdbcTemplate
jdbcTemplate
;
private
String
query
=
"SELECT 'Hello'"
;
@Override
public
Map
<
String
,
Object
>
health
()
{
LinkedHashMap
<
String
,
Object
>
map
=
new
LinkedHashMap
<
String
,
Object
>();
map
.
put
(
"status"
,
"ok"
);
if
(
this
.
dataSource
!=
null
)
{
try
{
map
.
put
(
"database"
,
this
.
dataSource
.
getConnection
().
getMetaData
()
.
getDatabaseProductName
());
}
catch
(
SQLException
e
)
{
map
.
put
(
"status"
,
"error"
);
map
.
put
(
"error"
,
e
.
getClass
().
getName
()
+
": "
+
e
.
getMessage
());
}
if
(
StringUtils
.
hasText
(
this
.
query
))
{
try
{
map
.
put
(
"hello"
,
this
.
jdbcTemplate
.
queryForObject
(
this
.
query
,
String
.
class
));
}
catch
(
Exception
e
)
{
map
.
put
(
"status"
,
"error"
);
map
.
put
(
"error"
,
e
.
getClass
().
getName
()
+
": "
+
e
.
getMessage
());
}
}
}
if
(
this
.
environment
!=
null
)
{
map
.
put
(
"spring.profiles.active"
,
StringUtils
.
arrayToCommaDelimitedString
(
this
.
environment
.
getActiveProfiles
()));
}
return
map
;
}
public
void
setEnvironment
(
Environment
environment
)
{
this
.
environment
=
environment
;
}
public
void
setDataSource
(
DataSource
dataSource
)
{
this
.
dataSource
=
dataSource
;
this
.
jdbcTemplate
=
new
JdbcTemplate
(
dataSource
);
}
public
void
setQuery
(
String
query
)
{
this
.
query
=
query
;
}
}
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