Commit 2e2ebeb9 authored by Stephane Nicoll's avatar Stephane Nicoll

Allow PORTFILE to always override the file to use

Previously, the `PORTFILE` system property was not checked if the
`EmbeddedServerPortFileWriter` was created using the default constructor.

This had the effect to prevent overriding of the port file when this
listener is created without any file or via `META-INF/spring.factories`.

Closes gh-4254
parent cfbac208
/*
* Copyright 2010-2014 the original author or authors.
* Copyright 2012-2015 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.
......@@ -57,7 +57,7 @@ public class EmbeddedServerPortFileWriter
* 'application.port'.
*/
public EmbeddedServerPortFileWriter() {
this.file = new File(DEFAULT_FILE_NAME);
this(new File(DEFAULT_FILE_NAME));
}
/**
......
/*
* Copyright 2010-2014 the original author or authors.
* Copyright 2012-2015 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.
......@@ -66,7 +66,16 @@ public class EmbeddedServerPortFileWriterTests {
}
@Test
public void overridePortFile() throws Exception {
public void overridePortFileWithDefault() throws Exception {
System.setProperty("PORTFILE", this.temporaryFolder.newFile().getAbsolutePath());
EmbeddedServerPortFileWriter listener = new EmbeddedServerPortFileWriter();
listener.onApplicationEvent(mockEvent("", 8080));
assertThat(FileCopyUtils.copyToString(
new FileReader(System.getProperty("PORTFILE"))), equalTo("8080"));
}
@Test
public void overridePortFileWithExplicitFile() throws Exception {
File file = this.temporaryFolder.newFile();
System.setProperty("PORTFILE", this.temporaryFolder.newFile().getAbsolutePath());
EmbeddedServerPortFileWriter listener = new EmbeddedServerPortFileWriter(file);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment