【发布时间】:2009-10-21 15:27:22
【问题描述】:
如何从 WebLogic 8.1.6 中的执行队列(= 线程池)中获取/使用/返回线程?
【问题讨论】:
标签: java multithreading weblogic threadpool weblogic8.x
如何从 WebLogic 8.1.6 中的执行队列(= 线程池)中获取/使用/返回线程?
【问题讨论】:
标签: java multithreading weblogic threadpool weblogic8.x
AFAIK,不,这是不可能的,你不能直接得到一个线程。而是将执行队列分配给 Servlet、JSP、EJB 或 RMI 对象。
Weblogic 让您分配执行 排队到 Servlet、JSP、EJB 和 RMI 对象。为了关联一个 使用 servlet(或 JSP)执行队列, 您需要指定
wl-dispatch-policy初始化 servlet(或 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 对象,您必须指定 使用 Weblogic 的 RMI 编译器 (rmic) 时的 -dispatchPolicy 选项。这里是 如何分配执行队列
mySpecialQueue到 RMI 对象:java weblogic.rmic -dispatchPolicy mySpecialQueue ... In the same way, use the `-dispatchPolicy` option when invokingWeblogic 的 EJB 编译器分配 对 EJB 执行队列。网络逻辑的 EJB 编译器隐式传递
-dipatchPolicy参数 底层 RMI 编译器。在 WebLogic 中 8.1,在EJB的weblogic-ejb-jar.xml中使用dispatch-policy元素 设置执行队列的描述符:<!-- weblogic-ejb-jar.xml descriptor --> <weblogic-enterprise-bean> <ejb-name>myEJB</ejb-name> ... <dispatch-policy>myEJBQueue</dispatch-policy> </weblogic-enterprise-bean>支持自定义执行队列 对于所有 EJB 类型 - 会话 bean, 实体 bean 和 MDB。
在运行时,Weblogic 分配 worker servlet、JSP、EJB 的线程, 和 RMI 对象从它们的配置 执行队列,从而保证 在你选择的对象 应用程序可以访问固定的 服务器线程数。对于那些 没有执行队列的对象 分配,线程将是 从服务器的默认分配 执行队列。
【讨论】: