Bind HSQLDB to same address as WebGoat

This commit is contained in:
Nanne Baars 2019-10-20 13:08:30 +02:00 committed by Nanne Baars
parent 689e3de7a4
commit 28299f3ced

View File

@ -12,6 +12,7 @@ import org.springframework.context.annotation.Primary;
import org.springframework.core.annotation.Order; import org.springframework.core.annotation.Order;
import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.jdbc.datasource.DriverManagerDataSource;
import javax.annotation.PreDestroy;
import javax.sql.DataSource; import javax.sql.DataSource;
import java.sql.Driver; import java.sql.Driver;
import java.util.Map; import java.util.Map;
@ -28,22 +29,30 @@ public class HSQLDBDatabaseConfig {
@Value("${hsqldb.port:9001}") @Value("${hsqldb.port:9001}")
private int hsqldbPort; private int hsqldbPort;
private Server server;
@Bean(initMethod = "start", destroyMethod = "stop") @Bean(initMethod = "start", destroyMethod = "stop")
public Server hsqlStandalone(@Value("${webgoat.server.directory}") String directory, public Server hsqlStandalone(@Value("${webgoat.server.directory}") String directory,
@Value("${hsqldb.silent:true}") boolean silent, @Value("${hsqldb.silent:true}") boolean silent,
@Value("${hsqldb.trace:false}") boolean trace) { @Value("${hsqldb.trace:false}") boolean trace,
@Value("${server.address}") String address) {
log.info("Starting internal database on port {} ...", hsqldbPort); log.info("Starting internal database on port {} ...", hsqldbPort);
Server server = new Server(); server = new Server();
server.setDatabaseName(0, "webgoat"); server.setDatabaseName(0, "webgoat");
server.setDatabasePath(0, directory + "/data/webgoat"); server.setDatabasePath(0, directory + "/data/webgoat");
server.setDaemon(true); server.setDaemon(true);
server.setAddress(address);
server.setTrace(trace); server.setTrace(trace);
server.setSilent(silent); server.setSilent(silent);
server.setPort(hsqldbPort); server.setPort(hsqldbPort);
return server; return server;
} }
@PreDestroy
public void shutdown() {
server.shutdownCatalogs(1);
}
@Bean @Bean
@DependsOn("hsqlStandalone") @DependsOn("hsqlStandalone")
@Primary @Primary