Merge pull request #8988 from Ali Shahbour

* gh-8988:
  Polish "Find .conf file next to symlink to jar that's using the launch script"
  Find .conf file next to symlink to jar that's using the launch script
This commit is contained in:
Andy Wilkinson 2017-09-26 14:43:19 +01:00
commit c79b76847b
4 changed files with 27 additions and 2 deletions

View File

@ -59,6 +59,7 @@ import static org.junit.Assume.assumeThat;
* Integration tests for Spring Boot's launch script on OSs that use SysVinit.
*
* @author Andy Wilkinson
* @author Ali Shahbour
*/
@RunWith(Parameterized.class)
public class SysVinitLaunchScriptIT {
@ -194,6 +195,11 @@ public class SysVinitLaunchScriptIT {
doLaunch("launch-with-single-java-opt.sh");
}
@Test
public void launchWithDoubleLinkSingleJavaOpt() throws Exception {
doLaunch("launch-with-double-link-single-java-opt.sh");
}
@Test
public void launchWithMultipleJavaOpts() throws Exception {
doLaunch("launch-with-multiple-java-opts.sh");

View File

@ -0,0 +1,6 @@
source ./test-functions.sh
install_double_link_service
echo 'JAVA_OPTS=-Dserver.port=8081' > /test-service/spring-boot-app.conf
start_service
await_app http://127.0.0.1:8081/
curl -s http://127.0.0.1:8081/

View File

@ -5,6 +5,14 @@ install_service() {
ln -s /test-service/spring-boot-app.jar /etc/init.d/spring-boot-app
}
install_double_link_service() {
mkdir /test-service
mv /spring-boot-launch-script-tests-*.jar /test-service/
chmod +x /test-service/spring-boot-launch-script-tests-*.jar
ln -s /test-service/spring-boot-launch-script-tests-*.jar /test-service/spring-boot-app.jar
ln -s /test-service/spring-boot-app.jar /etc/init.d/spring-boot-app
}
start_service() {
service spring-boot-app start $@
}

View File

@ -32,7 +32,13 @@ WORKING_DIR="$(pwd)"
cd "$(dirname "$0")" || exit 1
[[ -z "$jarfile" ]] && jarfile=$(pwd)/$(basename "$0")
while [[ -L "$jarfile" ]]; do
[[ "$jarfile" =~ init\.d ]] && init_script=$(basename "$jarfile")
if [[ "$jarfile" =~ init\.d ]]; then
init_script=$(basename "$jarfile")
else
configfile="${jarfile%.*}.conf"
# shellcheck source=/dev/null
[[ -r ${configfile} ]] && source "${configfile}"
fi
jarfile=$(readlink "$jarfile")
cd "$(dirname "$jarfile")" || exit 1
jarfile=$(pwd)/$(basename "$jarfile")
@ -45,7 +51,6 @@ configfile="$(basename "${jarfile%.*}.conf")"
# Initialize CONF_FOLDER location defaulting to jarfolder
[[ -z "$CONF_FOLDER" ]] && CONF_FOLDER="{{confFolder:${jarfolder}}}"
# shellcheck source=/dev/null
[[ -r "${CONF_FOLDER}/${configfile}" ]] && source "${CONF_FOLDER}/${configfile}"