Как использовать пул потоков в 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
элемент в EJBweblogic-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 из их настроенных очередей выполнения, тем самым гарантируя, что выбранные объекты в вашем приложении имеют доступ к фиксированному количеству потоков сервера. Для тех объектов, для которых не назначена очередь выполнения, потоки будут выделены из очереди выполнения сервера по умолчанию.