Я занимаюсь разработкой отдельного Java-приложения с Джерси и Джетти.Для эффективного объединения потоков я хочу настроить диспетчер работы и развернуть мое приложение как jar.Я создал экземпляр сервера в своем главном классе запуска, например
Server server = new Server(Integer.valueOf(port));
ServletContextHandler context = new ServletContextHandler(server, "/");
. Я обнаружил различные ресурсы, в которых говорится, что я могу настроить диспетчер работы в config.xml, как показано ниже.
<work-manager>
<name>WM</name>
<max-threads-constraint>64</max-threads-constraint>
<min-threads-constraint>3</min-threads-constraint>
<fairshare>80</fairshare>
</work-manager>
Однако, если я хочу настроить то же самое программно в моем основном классе и других ресурсах, таких как JDBC Datasource, как мне это сделать?Любая помощь будет высоко ценится. Спасибо заранее.
Примечание: я использую версию причала 9.4.16.v20190411 и мою запись в помпе
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-server</artifactId>
<version>${jetty.version}</version>
</dependency>
<dependency>
<groupId>org.eclipse.jetty</groupId>
<artifactId>jetty-servlet</artifactId>
<version>${jetty.version}</version>
</dependency>
Редактировать:Я хочу получить параметризованный менеджер работ, например
private WorkManager getWorkManager(String workManagerName) throws RuntimeException {
String workManagerLookupName = null;
try {
workManagerLookupName = "java:comp/env/" + workManagerName;
InitialContext ic = new InitialContext();
//Resource resource = new Resource("java:comp/env/" + workManagerName,);
WorkManager wm = (WorkManager) ic.lookup(workManagerLookupName);
return wm;
} catch (NamingException e) {
throw new RuntimeException("Unable to get WorkManager instance for " + workManagerLookupName, e);
}
}
Возможно ли это программно ??