mirror of
https://github.com/spring-projects/spring-boot.git
synced 2024-08-29 03:06:45 +08:00
SpringApplicationLifecycle provides lifecycle operations on the current Spring Boot application. It can be registered as an MBean of the platform MBean server if a specific property is set. Besides, the JMX name can also be customized via a property in case more than one Spring Boot application is started in the same process. The Maven plugin uses that MBean to check that the application is ready before ending the "start" phase. It uses it to trigger a proper shutdown of the application during the "stop" phase. If the process has to be forked, the platform MBean server is exposed on a configurable port so that the maven plugin can connect to it. Such change permits the maven plugin to integrate a classical integration test scenario where the "start" goal is invoked during the pre-integration phase and the "stop" goal during the post-integration phase. Closes gh-2525
109 lines
3.3 KiB
XML
109 lines
3.3 KiB
XML
<?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>
|
|
<parent>
|
|
<groupId>org.springframework.boot</groupId>
|
|
<artifactId>spring-boot-parent</artifactId>
|
|
<version>1.3.0.BUILD-SNAPSHOT</version>
|
|
<relativePath>../spring-boot-parent</relativePath>
|
|
</parent>
|
|
<artifactId>spring-boot-integration-tests</artifactId>
|
|
<packaging>pom</packaging>
|
|
<name>Spring Boot Integration Tests</name>
|
|
<description>Spring Boot Integration Tests</description>
|
|
<url>http://projects.spring.io/spring-boot/</url>
|
|
<organization>
|
|
<name>Pivotal Software, Inc.</name>
|
|
<url>http://www.spring.io</url>
|
|
</organization>
|
|
<properties>
|
|
<main.basedir>${basedir}/..</main.basedir>
|
|
</properties>
|
|
<modules>
|
|
<module>spring-boot-gradle-tests</module>
|
|
<module>spring-boot-maven-tests</module>
|
|
<module>spring-boot-security-tests</module>
|
|
</modules>
|
|
<profiles>
|
|
<profile>
|
|
<id>default</id>
|
|
<activation>
|
|
<activeByDefault>true</activeByDefault>
|
|
</activation>
|
|
<build>
|
|
<plugins>
|
|
<plugin>
|
|
<!-- Invoke integration tests in the install phase, after the maven-plugin
|
|
is available -->
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-invoker-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<configuration>
|
|
<settingsFile>src/it/settings.xml</settingsFile>
|
|
<projectsDirectory>${main.basedir}/spring-boot-samples/</projectsDirectory>
|
|
<localRepositoryPath>${project.build.directory}/local-repo</localRepositoryPath>
|
|
<skipInvocation>${skipTests}</skipInvocation>
|
|
<streamLogs>true</streamLogs>
|
|
<profiles>
|
|
<profile>integration-test</profile>
|
|
</profiles>
|
|
<localRepositoryPath> </localRepositoryPath>
|
|
<pomIncludes>
|
|
<pomInclude>*/pom.xml</pomInclude>
|
|
</pomIncludes>
|
|
</configuration>
|
|
<executions>
|
|
<execution>
|
|
<id>integration-test</id>
|
|
<phase>install</phase>
|
|
<goals>
|
|
<goal>install</goal>
|
|
<goal>run</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-antrun-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>clean-samples</id>
|
|
<phase>clean</phase>
|
|
<goals>
|
|
<goal>run</goal>
|
|
</goals>
|
|
<configuration>
|
|
<target>
|
|
<delete includeemptydirs="true">
|
|
<fileset dir="${main.basedir}/spring-boot-samples" includes="**/target/" />
|
|
</delete>
|
|
</target>
|
|
</configuration>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
<plugin>
|
|
<groupId>org.apache.maven.plugins</groupId>
|
|
<artifactId>maven-clean-plugin</artifactId>
|
|
<inherited>false</inherited>
|
|
<executions>
|
|
<execution>
|
|
<id>clean-samples</id>
|
|
<phase>clean</phase>
|
|
<goals>
|
|
<goal>clean</goal>
|
|
</goals>
|
|
</execution>
|
|
</executions>
|
|
</plugin>
|
|
</plugins>
|
|
</build>
|
|
</profile>
|
|
<profile>
|
|
<id>full</id>
|
|
</profile>
|
|
</profiles>
|
|
</project>
|