
com.xlrit.gears.engine.init.H2ServerInitializer Maven / Gradle / Ivy
package com.xlrit.gears.engine.init;
import org.h2.tools.Server;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import jakarta.annotation.PreDestroy;
import java.sql.SQLException;
@Component
public class H2ServerInitializer extends Initializer {
private static final Logger LOG = LoggerFactory.getLogger(H2ServerInitializer.class);
@Value("${gears.init.h2server.enabled}")
private boolean enabled;
@Value("${gears.init.h2server.port}")
private int port;
private Server server;
@Override
public int getPhase() {
return 150;
}
@Override
public void initialize() {
if (!enabled) return;
try {
this.server = Server.createTcpServer("-tcpPort", String.valueOf(port)).start();
LOG.info("H2 server exposed on port {}", port);
} catch (SQLException e) {
LOG.error("Unable to start H2 server on port {}", port);
}
}
@PreDestroy
public void shutdown() {
if (this.server != null) {
this.server.shutdown();
this.server = null;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy