Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <build>
- <resources>
- <resource>
- <directory>src/main/resources</directory>
- <filtering>true</filtering>
- </resource>
- </resources>
- </build>
- version=${pom.version}
- build.timestamp=${timestamp}
- @Service
- @PropertySource("classpath:mvn.build.properties")
- public class BuildInfoProviderImpl implements BuildInfoProvider {
- @Value("${build.timestamp}")
- private String dateTime;
- @Value("${version}")
- private String version;
- private BuildInfo buildInfo;
- @Override
- public BuildInfo getBuildInfo() {
- return buildInfo;
- }
- @PostConstruct
- public void activate() {
- buildInfo = new BuildInfo(
- LocalDateTime.parse(dateTime, Constants.DATE_TIME_FORMATTER),
- version);
- }
- }
- @Service
- @Path("_health")
- @Produces({MediaType.APPLICATION_JSON, MediaType.APPLICATION_XML})
- public class HealthEndpoint {
- private static final Logger LOGGER = LoggerFactory.getLogger(
- HealthEndpoint.class);
- private BuildInfoProvider buildInfoProvider;
- public HealthEndpoint(BuildInfoProvider buildInfoProvider) {
- this.buildInfoProvider = buildInfoProvider;
- }
- @GET
- public BuildInfo getBuildInfo() {
- LOGGER.debug("Build info has been requested");
- return buildInfoProvider.getBuildInfo();
- }
- }
- <bean id="buildInfoProvider" class="service.impl.BuildInfoProviderImpl"/>
- <bean id="healthEndpoint" class="endpoint.HealthEndpoint">
- <constructor-arg ref="buildInfoProvider"/>
- </bean>
- <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
- <property name="location">
- <value>classpath:mvn.build.properties</value>
- </property>
Add Comment
Please, Sign In to add comment