Я пытаюсь создать собственный пул потоков в моем приложении Spring-Boot, которое создает новый рабочий менеджер, но, похоже, оно не работает.
При попытке запустить приложение я получаю исключение "имя не найдено".
Ниже приведены изменения, которые я сделал.
weblogic.xml
<wls:work-manager>
<wls:name>wm/myWM</wls:name>
<wls:min-threads-constraint>
<wls:name>minThreads</wls:name>
<wls:count>1</wls:count>
</wls:min-threads-constraint>
<wls:max-threads-constraint>
<wls:name>maxThreads</wls:name>
<wls:count>3</wls:count>
</wls:max-threads-constraint>
</wls:work-manager>
AppConfig.java
@Bean
public InitialContext getInitialContext() throws Exception {
InitialContext ctx = null;
try {
ctx = new InitialContext();
} catch (NamingException ne) {
throw ne;
}
return ctx;
}
@Bean(name="newWorkManager")
@Primary
public WorkManager getNewWorkManager(InitialContext ctx) throws Exception {
WorkManager wm = null;
try {
wm = (WorkManager) ctx.lookup("java:comp/env/wm/myWM");
} catch (NamingException ne) {
throw ne;
}
return wm;
}
Зависимость Maven:
<dependency>
<groupId>org.codehaus.fabric3.api</groupId>
<artifactId>commonj</artifactId>
<version>1.1.0</version>
<scope>provided</scope>
</dependency>
Я хочу видеть, что в консоли weblogic потоки выполняются на моем новом рабочем диспетчере вместо стандартного.
Runnable myRunnable = new Runnable(){
public void run(){
System.out.println("Runnable running");
}
};
Thread thread = new Thread(myRunnable);
thread.start();
thread.start();
thread.start();
StackTrace:
weblogic.application.ModuleException: javax.naming.NameNotFoundException: While
trying to look up comp/env/wm/myWM in /app/webapp/proj-web-rest-SNAPSHOT
.war/478541608.; remaining name 'comp/env/wm/myWM'
at weblogic.application.internal.ExtensibleModuleWrapper.start(Extensibl
eModuleWrapper.java:140)
at weblogic.application.internal.flow.ModuleListenerInvoker.start(Module
ListenerInvoker.java:124)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:216)
at weblogic.application.internal.flow.ModuleStateDriver$3.next(ModuleSta
teDriver.java:211)
at weblogic.application.utils.StateMachineDriver.nextState(StateMachineD
river.java:42)