Как использовать пул потоков в WebLogic 8?

Как можно получить / использовать / вернуть поток из очереди выполнения ( = пул потоков) в WebLogic 8.1.6?

1 ответ

Решение

AFAIK, нет, это невозможно, вы не можете получить поток напрямую. Вместо этого назначьте очередь выполнения объекту Servlet, JSP, EJB или RMI.

Weblogic позволяет назначать очередь выполнения сервлетам, JSP, EJB и объектам RMI. Чтобы связать очередь выполнения с сервлетом (или JSP), необходимо указать wl-dispatch-policy параметр инициализации для сервлета (или JSP) в web.xml файл дескриптора. В следующем примере кода показано, как назначить очередь выполнения mySpecialQueue на страницу JSP:

<!-- web.xml entry -->
<servlet>
    <servlet-name>MyServlet</servlet-name>
    <jsp-file>/critical.jsp</jsp-file>
    <init-param>
        <param-name>wl-dispatch-policy</param-name>
        <param-value>mySpecialQueue</param-value>
    </init-param>
</servlet>

Чтобы назначить очередь выполнения объекту RMI, вы должны указать опцию -dispatchPolicy при использовании RMI-компилятора Weblogic (rmic). Вот как вы можете назначить очередь выполнения mySpecialQueue к объекту RMI:

java weblogic.rmic -dispatchPolicy mySpecialQueue ...
 In the same way, use the `-dispatchPolicy` option when invoking

EJB-компилятор Weblogic для назначения очереди выполнения EJB. EJB-компилятор Weblogic неявно передает -dipatchPolicy аргумент для базового компилятора RMI. В Weblogic 8.1 используйте dispatch-policy элемент в EJB weblogic-ejb-jar.xml дескриптор для установки очереди выполнения:

<!-- weblogic-ejb-jar.xml descriptor -->
<weblogic-enterprise-bean>
    <ejb-name>myEJB</ejb-name>
    ...
    <dispatch-policy>myEJBQueue</dispatch-policy>
</weblogic-enterprise-bean>

Пользовательские очереди выполнения поддерживаются для всех типов EJB - сессионных компонентов, компонентов управления данными и MDB.

Во время выполнения Weblogic выделяет рабочие потоки для ваших сервлетов, JSP, EJB и объектов RMI из их настроенных очередей выполнения, тем самым гарантируя, что выбранные объекты в вашем приложении имеют доступ к фиксированному количеству потоков сервера. Для тех объектов, для которых не назначена очередь выполнения, потоки будут выделены из очереди выполнения сервера по умолчанию.

Другие вопросы по тегам