【问题标题】:How to use thread pool in WebLogic 8?如何在 WebLogic 8 中使用线程池?
【发布时间】:2009-10-21 15:27:22
【问题描述】:

如何从 WebLogic 8.1.6 中的执行队列(= 线程池)中获取/使用/返回线程?

【问题讨论】:

    标签: java multithreading weblogic threadpool weblogic8.x


    【解决方案1】:

    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 invoking
    

    Weblogic 的 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 对象从它们的配置 执行队列,从而保证 在你选择的对象 应用程序可以访问固定的 服务器线程数。对于那些 没有执行队列的对象 分配,线程将是 从服务器的默认分配 执行队列。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-25
      • 2015-03-28
      • 2015-07-22
      • 2011-12-11
      • 1970-01-01
      • 2015-10-18
      • 1970-01-01
      相关资源
      最近更新 更多