Создание пользовательского Weblogic ThreadPool в загрузочном приложении Java Spring - PullRequest
0 голосов
/ 25 августа 2018

Я пытаюсь создать собственный пул потоков в моем приложении 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)
...