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
This commit is contained in:
parent
cfbac20807
commit
2e2ebeb9fa
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* 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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -57,7 +57,7 @@ public class EmbeddedServerPortFileWriter
|
||||||
* 'application.port'.
|
* 'application.port'.
|
||||||
*/
|
*/
|
||||||
public EmbeddedServerPortFileWriter() {
|
public EmbeddedServerPortFileWriter() {
|
||||||
this.file = new File(DEFAULT_FILE_NAME);
|
this(new File(DEFAULT_FILE_NAME));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
@ -1,5 +1,5 @@
|
||||||
/*
|
/*
|
||||||
* 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");
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
* you may not use this file except in compliance with the License.
|
* you may not use this file except in compliance with the License.
|
||||||
|
@ -66,7 +66,16 @@ public class EmbeddedServerPortFileWriterTests {
|
||||||
}
|
}
|
||||||
|
|
||||||
@Test
|
@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();
|
File file = this.temporaryFolder.newFile();
|
||||||
System.setProperty("PORTFILE", this.temporaryFolder.newFile().getAbsolutePath());
|
System.setProperty("PORTFILE", this.temporaryFolder.newFile().getAbsolutePath());
|
||||||
EmbeddedServerPortFileWriter listener = new EmbeddedServerPortFileWriter(file);
|
EmbeddedServerPortFileWriter listener = new EmbeddedServerPortFileWriter(file);
|
||||||
|
|
Loading…
Reference in New Issue