Upgraded jetty to jarkarta servlet spec
This commit is contained in:
parent
7d217c28d0
commit
4952761c16
|
@ -39,7 +39,6 @@ public class WarpCoreReactor implements WarpReact {
|
|||
}
|
||||
|
||||
public List<WarpReactPlasma> listChilds(WarpReactPlasma slot) {
|
||||
Objects.requireNonNull(slot);
|
||||
List<WarpReactPlasma> result = new ArrayList<>();
|
||||
synchronized (slots) {
|
||||
for (WarpReactPlasma slug : slots.keySet()) {
|
||||
|
|
|
@ -21,7 +21,8 @@
|
|||
</root>
|
||||
|
||||
<!-- Package opens. -->
|
||||
<logger level="DEBUG" name="love.distributedrebirth.no2all.react.warp"/>
|
||||
<logger level="DEBUG" name="love.distributedrebirth.nx01.warp.core"/>
|
||||
<logger level="DEBUG" name="love.distributedrebirth.nx01.zerofungus"/>
|
||||
|
||||
<!-- Package limits. -->
|
||||
<logger level="INFO" name="org.eclipse.jetty"/>
|
||||
|
|
|
@ -5,7 +5,12 @@ import java.util.ArrayList;
|
|||
import java.util.Arrays;
|
||||
import java.util.Iterator;
|
||||
import java.util.List;
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.bridge.SLF4JBridgeHandler;
|
||||
|
||||
import ch.qos.logback.core.status.NopStatusListener;
|
||||
import love.distributedrebirth.nx01.no2all.react.nostr.client.NoStrRtsClient;
|
||||
import love.distributedrebirth.nx01.no2all.react.nostr.server.NoStrRtsServer;
|
||||
import love.distributedrebirth.nx01.no2all.react.nostr.server.relay.NoStrRtsServerRelay;
|
||||
|
@ -16,7 +21,6 @@ import love.distributedrebirth.nx01.no2all.react.wire.server.No2AllRtsServerLog;
|
|||
import love.distributedrebirth.nx01.warp.core.WarpCoreReactor;
|
||||
import love.distributedrebirth.nx01.warp.core.WarpCoreSpeedMonitor;
|
||||
import love.distributedrebirth.nx01.zerofungus.server.service.ZFunRtsConfigJetty;
|
||||
import love.distributedrebirth.nx01.zerofungus.server.service.ZFunRtsConfigLogger;
|
||||
import love.distributedrebirth.nx01.zerofungus.server.service.ZFunRtsInitJdbc;
|
||||
|
||||
public enum ZeroFungus /* implements BãßBȍőnAbacusInstanceMBeanʸᴰ<ZeroFungus> */ {
|
||||
|
@ -24,6 +28,7 @@ public enum ZeroFungus /* implements BãßBȍőnAbacusInstanceMBeanʸᴰ<ZeroFun
|
|||
|
||||
private WarpCoreReactor foei = new WarpCoreReactor();
|
||||
private List<ZFunRtsConfigJetty> jetties = new ArrayList<>();
|
||||
private static final Logger logger = Logger.getLogger(ZeroFungus.class.getName());
|
||||
|
||||
public static void main(String[] args) {
|
||||
Iterator<String> arguments = Arrays.asList(args).iterator();
|
||||
|
@ -31,6 +36,7 @@ public enum ZeroFungus /* implements BãßBȍőnAbacusInstanceMBeanʸᴰ<ZeroFun
|
|||
|
||||
// todo move
|
||||
new File("logs").mkdir();
|
||||
setupLogging();
|
||||
|
||||
// config jetty
|
||||
INSTANCE.jetties.clear();
|
||||
|
@ -43,14 +49,42 @@ public enum ZeroFungus /* implements BãßBȍőnAbacusInstanceMBeanʸᴰ<ZeroFun
|
|||
INSTANCE.start();
|
||||
}
|
||||
|
||||
public WarpCoreReactor getWarpCore() {
|
||||
return foei;
|
||||
}
|
||||
|
||||
private static void setupLogging() {
|
||||
if (System.getProperty("logback.configurationFile") == null) {
|
||||
String logConfig = null;
|
||||
if (System.getProperty("java.class.path").contains("classes")) {
|
||||
logConfig = "conf/logback-server-console.xml";
|
||||
} else {
|
||||
logConfig = "conf/logback-server.xml";
|
||||
}
|
||||
System.setProperty("logback.configurationFile", logConfig);
|
||||
}
|
||||
if (System.getProperty("logback.statusListenerClass") == null) {
|
||||
System.setProperty("logback.statusListenerClass",NopStatusListener.class.getName());
|
||||
}
|
||||
org.slf4j.Logger logger2 = LoggerFactory.getLogger(ZeroFungus.class);
|
||||
logger2.info("Logging configured.");
|
||||
|
||||
SLF4JBridgeHandler.removeHandlersForRootLogger();
|
||||
SLF4JBridgeHandler.install();
|
||||
logger.info(" ╦┬ ┬╦ ╦═╗┌─┐╦ ╦┬╦═╗┌─┐╔╦╗");
|
||||
logger.info(" ║│ │║ ╠╦╝├┤ ║║║│╠╦╝├┤ ║║");
|
||||
logger.info("╚╝└─┘╩═╝ ╩╚═└─┘╚╩╝┴╩╚═└─┘═╩╝");
|
||||
//https://patorjk.com/software/taag
|
||||
// Calvin S
|
||||
}
|
||||
|
||||
public void stop() {
|
||||
jetties.forEach(v -> v.stop());
|
||||
// foei.fire(No2AllReactWarpCore.DILITHIUM, new EjectWrapCoreShutdown());
|
||||
}
|
||||
|
||||
public void start() {
|
||||
// setup logger + warp monitor
|
||||
foei.load(new ZFunRtsConfigLogger());
|
||||
// debug warp monitor
|
||||
foei.load(new WarpCoreSpeedMonitor());
|
||||
|
||||
// add websocket wire support + log
|
||||
|
|
|
@ -19,6 +19,7 @@ import org.eclipse.jetty.webapp.Configuration;
|
|||
import org.eclipse.jetty.webapp.WebAppContext;
|
||||
import org.eclipse.jetty.webapp.WebInfConfiguration;
|
||||
import org.eclipse.jetty.websocket.server.config.JettyWebSocketServletContainerInitializer;
|
||||
import org.h2.server.web.JakartaWebServlet;
|
||||
|
||||
import love.distributedrebirth.nx01.no2all.react.wire.server.No2AllActServer;
|
||||
import love.distributedrebirth.nx01.no2all.react.wire.server.No2AllRtsServer;
|
||||
|
@ -29,6 +30,7 @@ import love.distributedrebirth.nx01.warp.core.react.WarpReactPlasmaPulse;
|
|||
import love.distributedrebirth.nx01.warp.core.react.WarpReactTypeScript;
|
||||
import love.distributedrebirth.nx01.warp.core.space.WarpSpaceAntimatterInducer;
|
||||
import love.distributedrebirth.nx01.zerofungus.server.web.RedirectServlet;
|
||||
import love.distributedrebirth.nx01.zerofungus.server.web.WarpCorePlasmaInspectorServlet;
|
||||
|
||||
public final class ZFunRtsConfigJetty implements WarpReactTypeScript {
|
||||
|
||||
|
@ -70,8 +72,11 @@ public final class ZFunRtsConfigJetty implements WarpReactTypeScript {
|
|||
});
|
||||
|
||||
logger.info("Add H2 console on: /debug/jdbc/console");
|
||||
// TODO: upgrade jetty, H2 has added "JakartaWebServlet"
|
||||
context.addServlet("org.h2.server.web.WebServlet", "/debug/jdbc/console/*");
|
||||
context.addServlet(JakartaWebServlet.class, "/debug/jdbc/console/*");
|
||||
|
||||
logger.info("Add plasma inspector on: /debug/warpcore/inspector");
|
||||
context.addServlet(WarpCorePlasmaInspectorServlet.class, "/debug/warpcore/inspector");
|
||||
|
||||
|
||||
context.addServlet(RedirectServlet.class, "/test");
|
||||
|
||||
|
|
|
@ -1,44 +0,0 @@
|
|||
package love.distributedrebirth.nx01.zerofungus.server.service;
|
||||
|
||||
import java.util.logging.Logger;
|
||||
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.slf4j.bridge.SLF4JBridgeHandler;
|
||||
|
||||
import ch.qos.logback.core.status.NopStatusListener;
|
||||
import love.distributedrebirth.nx01.warp.core.react.WarpReactPlasma;
|
||||
import love.distributedrebirth.nx01.warp.core.react.WarpReactPlasmaPulse;
|
||||
import love.distributedrebirth.nx01.warp.core.react.WarpReactTypeScript;
|
||||
import love.distributedrebirth.nx01.warp.core.space.WarpSpaceAntimatterInducer;
|
||||
|
||||
public class ZFunRtsConfigLogger implements WarpReactTypeScript {
|
||||
|
||||
public static final WarpReactPlasma API = WarpReactPlasma.ofClass(ZFunRtsConfigLogger.class);
|
||||
private static final Logger logger = Logger.getLogger(ZFunRtsConfigLogger.class.getName());
|
||||
|
||||
@Override
|
||||
public void onEvent(WarpReactPlasmaPulse<WarpSpaceAntimatterInducer> signal) {
|
||||
if (System.getProperty("logback.configurationFile") == null) {
|
||||
String logConfig = null;
|
||||
if (System.getProperty("java.class.path").contains("classes")) {
|
||||
logConfig = "conf/logback-server-console.xml";
|
||||
} else {
|
||||
logConfig = "conf/logback-server.xml";
|
||||
}
|
||||
System.setProperty("logback.configurationFile", logConfig);
|
||||
}
|
||||
if (System.getProperty("logback.statusListenerClass") == null) {
|
||||
System.setProperty("logback.statusListenerClass",NopStatusListener.class.getName());
|
||||
}
|
||||
org.slf4j.Logger logger2 = LoggerFactory.getLogger(ZFunRtsConfigLogger.class);
|
||||
logger2.info("Logging configured.");
|
||||
|
||||
SLF4JBridgeHandler.removeHandlersForRootLogger();
|
||||
SLF4JBridgeHandler.install();
|
||||
logger.info(" ╦┬ ┬╦ ╦═╗┌─┐╦ ╦┬╦═╗┌─┐╔╦╗");
|
||||
logger.info(" ║│ │║ ╠╦╝├┤ ║║║│╠╦╝├┤ ║║");
|
||||
logger.info("╚╝└─┘╩═╝ ╩╚═└─┘╚╩╝┴╩╚═└─┘═╩╝");
|
||||
//https://patorjk.com/software/taag
|
||||
// Calvin S
|
||||
}
|
||||
}
|
|
@ -2,9 +2,9 @@ package love.distributedrebirth.nx01.zerofungus.server.web;
|
|||
|
||||
import java.io.IOException;
|
||||
|
||||
import javax.servlet.http.HttpServlet;
|
||||
import javax.servlet.http.HttpServletRequest;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
import jakarta.servlet.http.HttpServlet;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
|
||||
public class RedirectServlet extends HttpServlet {
|
||||
|
||||
|
|
|
@ -0,0 +1,52 @@
|
|||
package love.distributedrebirth.nx01.zerofungus.server.web;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.io.PrintWriter;
|
||||
import java.util.List;
|
||||
|
||||
import jakarta.servlet.http.HttpServlet;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import love.distributedrebirth.nx01.warp.core.WarpCorePlasmaIntermixChamber;
|
||||
import love.distributedrebirth.nx01.warp.core.WarpCoreReactor;
|
||||
import love.distributedrebirth.nx01.warp.core.react.WarpReactPlasma;
|
||||
import love.distributedrebirth.nx01.zerofungus.server.ZeroFungus;
|
||||
|
||||
public class WarpCorePlasmaInspectorServlet extends HttpServlet {
|
||||
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Override
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException {
|
||||
response.setContentType("text/xml");
|
||||
response.setCharacterEncoding("utf-8");
|
||||
PrintWriter out = response.getWriter();
|
||||
|
||||
WarpCoreReactor reactor = ZeroFungus.INSTANCE.getWarpCore();
|
||||
List<WarpReactPlasma> slots = reactor.listChilds(null);
|
||||
out.println("<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n");
|
||||
out.println("<reactor>\n");
|
||||
for (WarpReactPlasma slot : slots) {
|
||||
WarpCorePlasmaIntermixChamber contract = reactor.getSlotContract(slot);
|
||||
out.println("\t<slot path=\"" + slot.getSlotPath() + "\">\n");
|
||||
printClaims(out, "in", contract.getSlotTypesIn());
|
||||
printClaims(out, "out", contract.getSlotTypesOut());
|
||||
out.println("</slot>\n");
|
||||
}
|
||||
out.println("\t</reactor>\n");
|
||||
out.flush();
|
||||
}
|
||||
|
||||
private void printClaims(PrintWriter out, String tag, List<Class<?>> clazzes) {
|
||||
if (clazzes.isEmpty()) {
|
||||
return;
|
||||
}
|
||||
out.println("\t\t<claim-"+tag+">\n");
|
||||
for (Class<?> cls : clazzes) {
|
||||
out.print("\t\t\t<claim-type>");
|
||||
out.print(cls);
|
||||
out.println("</claim-type>\n");
|
||||
}
|
||||
out.println("\t\t</claim-"+tag+">\n");
|
||||
}
|
||||
}
|
2
pom.xml
2
pom.xml
|
@ -10,7 +10,7 @@
|
|||
<properties>
|
||||
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
|
||||
<project.build.sourceVersion>11</project.build.sourceVersion>
|
||||
<jetty.version>10.0.20</jetty.version>
|
||||
<jetty.version>11.0.24</jetty.version>
|
||||
<metamodel.version>5.3.6</metamodel.version>
|
||||
<logback.version>1.2.10</logback.version>
|
||||
<slf4j.version>2.0.7</slf4j.version>
|
||||
|
|
Loading…
Reference in a new issue