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.jdbc.datasource.DriverManagerDataSource;
import javax.annotation.PreDestroy;
import javax.sql.DataSource;
import java.sql.Driver;
import java.util.Map;
@ -28,22 +29,30 @@ public class HSQLDBDatabaseConfig {
@Value("${hsqldb.port:9001}")
private int hsqldbPort;
private Server server;
@Bean(initMethod = "start", destroyMethod = "stop")
public Server hsqlStandalone(@Value("${webgoat.server.directory}") String directory,
@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);
Server server = new Server();
server = new Server();
server.setDatabaseName(0, "webgoat");
server.setDatabasePath(0, directory + "/data/webgoat");
server.setDaemon(true);
server.setAddress(address);
server.setTrace(trace);
server.setSilent(silent);
server.setPort(hsqldbPort);
return server;
}
@PreDestroy
public void shutdown() {
server.shutdownCatalogs(1);
}
@Bean
@DependsOn("hsqlStandalone")
@Primary