Я мало что знаю о Jetty. Я унаследовал код, который использует переменные stati c для передачи данных в сервлет Jersey, и хочу избавиться от статики. Мой код похож на этот пример, где имя класса EntryPoint используется для инициализации сервлета:
public class App {
public static void main(String[] args) throws Exception {
ServletContextHandler context = new ServletContextHandler(ServletContextHandler.SESSIONS);
context.setContextPath("/");
Server jettyServer = new Server(8080);
jettyServer.setHandler(context);
ServletHolder jerseyServlet = context.addServlet(
org.glassfish.jersey.servlet.ServletContainer.class, "/*");
jerseyServlet.setInitOrder(0);
// Tells the Jersey Servlet which REST service/class to load.
jerseyServlet.setInitParameter(
"jersey.config.server.provider.classnames",
EntryPoint.class.getCanonicalName());
try {
jettyServer.start();
jettyServer.join();
} finally {
jettyServer.destroy();
}
}
}
В примерах в Интернете EntryPoint очень прост, и я предполагаю, что Jetty создает EntryPoint путем отражения с использованием конструктора по умолчанию. Что мне делать, если EntryPoint более сложный и требует инициализации? Либо его конструктор принимает аргументы, либо необходимо установить свойства?
Могу ли я предоставить Jetty экземпляр объекта или фабричный объект? Я искал способы поддержать это и ничего не нашел.
Спасибо