1
0

add things (there are bugs, this is unstable!)

This commit is contained in:
Jose
2025-03-13 22:04:22 +01:00
parent 2ce90c5720
commit 139e2d5961
8 changed files with 47 additions and 41 deletions

View File

@@ -55,6 +55,13 @@
<version>2.12.1</version> <version>2.12.1</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/io.quarkus/quarkus-agroal -->
<dependency>
<groupId>io.quarkus</groupId>
<artifactId>quarkus-agroal</artifactId>
<version>3.19.3</version>
</dependency>
</dependencies> </dependencies>
<build> <build>

View File

@@ -61,6 +61,14 @@ public class ConfigManager {
} }
} }
public String getJdbcUrl() {
return String.format("%s://%s:%s/%s",
config.getProperty("db.protocol"),
config.getProperty("db.host"),
config.getProperty("db.port"),
config.getProperty("db.name"));
}
public String getStringProperty(String key) { public String getStringProperty(String key) {
return config.getProperty(key); return config.getProperty(key);
} }

View File

@@ -18,22 +18,27 @@ import net.miarma.contaminus.common.Constants;
public class DatabaseManager { public class DatabaseManager {
private final JDBCPool pool; private final JDBCPool pool;
private final Vertx vertx = Vertx.vertx();
public DatabaseManager(Vertx vertx) { private static DatabaseManager instance;
public static DatabaseManager getInstance() {
if (instance == null) {
instance = new DatabaseManager();
}
return instance;
}
private DatabaseManager() {
ConfigManager config = ConfigManager.getInstance(); ConfigManager config = ConfigManager.getInstance();
pool = JDBCPool.pool(vertx,
JDBCConnectOptions jdbcOptions = new JDBCConnectOptions() new JDBCConnectOptions()
.setJdbcUrl(config.getStringProperty("db.protocol") + "//" + .setJdbcUrl(config.getJdbcUrl())
config.getStringProperty("db.host") + ":" + .setUser(config.getStringProperty("db.user"))
config.getStringProperty("db.port") + "/" + .setPassword(config.getStringProperty("db.pwd")),
config.getStringProperty("db.name")) new PoolOptions()
.setUser(config.getStringProperty("db.user")) .setMaxSize(5)
.setPassword(config.getStringProperty("db.pwd")); );
PoolOptions poolOptions = new PoolOptions()
.setMaxSize(Integer.parseInt(config.getStringProperty("db.poolSize")));
pool = JDBCPool.pool(vertx, jdbcOptions, poolOptions);
} }
public Future<RowSet<Row>> testConnection() { public Future<RowSet<Row>> testConnection() {

View File

@@ -31,7 +31,7 @@ public class DataLayerAPIVerticle extends AbstractVerticle {
configManager = ConfigManager.getInstance(); configManager = ConfigManager.getInstance();
gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
dbManager = new DatabaseManager(vertx); dbManager = DatabaseManager.getInstance();
Router router = Router.router(vertx); Router router = Router.router(vertx);
Set<HttpMethod> allowedMethods = new HashSet<>( Set<HttpMethod> allowedMethods = new HashSet<>(

View File

@@ -32,7 +32,7 @@ public class LogicLayerAPIVerticle extends AbstractVerticle {
configManager = ConfigManager.getInstance(); configManager = ConfigManager.getInstance();
gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create(); gson = new GsonBuilder().setDateFormat("yyyy-MM-dd").create();
dbManager = new DatabaseManager(vertx); dbManager = DatabaseManager.getInstance();
Router router = Router.router(vertx); Router router = Router.router(vertx);
Set<HttpMethod> allowedMethods = new HashSet<>( Set<HttpMethod> allowedMethods = new HashSet<>(

View File

@@ -12,17 +12,9 @@ public class MainVerticle extends AbstractVerticle {
final DeploymentOptions options = new DeploymentOptions(); final DeploymentOptions options = new DeploymentOptions();
options.setThreadingModel(ThreadingModel.WORKER); options.setThreadingModel(ThreadingModel.WORKER);
String enabledVerticles = System.getProperty("vertx.options", ""); getVertx().deployVerticle(new DataLayerAPIVerticle(), options);
//getVertx().deployVerticle(new LogicLayerAPIVerticle(), options);
if (enabledVerticles.contains("data")) { //getVertx().deployVerticle(new HttpServerVerticle());
getVertx().deployVerticle(new DataLayerAPIVerticle(), options);
}
if (enabledVerticles.contains("business")) {
getVertx().deployVerticle(new LogicLayerAPIVerticle(), options);
}
if (enabledVerticles.contains("web")) {
getVertx().deployVerticle(new HttpServerVerticle());
}
} }
@Override @Override
@@ -30,10 +22,4 @@ public class MainVerticle extends AbstractVerticle {
getVertx().deploymentIDs() getVertx().deploymentIDs()
.forEach(v -> getVertx().undeploy(v)); .forEach(v -> getVertx().undeploy(v));
} }
public static void main(String[] args) {
System.setProperty("vertx.options", String.join(",", args));
io.vertx.core.Launcher.executeCommand("run", MainVerticle.class.getName());
}
} }

View File

@@ -7,9 +7,9 @@ public class SystemUtil {
static ConfigManager configManager = ConfigManager.getInstance(); static ConfigManager configManager = ConfigManager.getInstance();
static String host = configManager.getStringProperty("inet.host"); static String host = configManager.getStringProperty("inet.host");
static String origin = configManager.getStringProperty("inet.origin"); static String origin = configManager.getStringProperty("inet.origin");
static int dataApiPort = configManager.getIntProperty("data-api.port"); static int dataApiPort = 8081;
static int logicApiPort = configManager.getIntProperty("logic-api.port"); static int logicApiPort = 8082;
static int webserverPort = configManager.getIntProperty("webserver.port"); static int webserverPort = 8080;
public static String getHost() { public static String getHost() {
return host; return host;

View File

@@ -7,7 +7,7 @@
}, },
"appConfig": { "appConfig": {
"endpoints": { "endpoints": {
"BASE_URL": "http://localhost:8081/api/v1", "BASE_URL": "http://localhost:3001/api/v1",
"GET_GROUPS": "/groups", "GET_GROUPS": "/groups",
"GET_GROUP_BY_ID": "/groups/{0}", "GET_GROUP_BY_ID": "/groups/{0}",
"GET_GROUP_DEVICES": "/groups/{0}/devices", "GET_GROUP_DEVICES": "/groups/{0}/devices",