如何在WebLogic 8中使用线程池?

时间:2009-10-21 15:27:22

标签: java multithreading weblogic threadpool weblogic8.x

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

1 个答案:

答案 0 :(得分: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编译器来分配   执行queute到EJB。 Weblogic的   EJB编译器隐式传递   -dipatchPolicy的论点   底层RMI编译器。在Weblogic中   8.1,使用EJB dispatch-policy中的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类型 - 会话bean,   实体bean和MDB。

     

在运行时,Weblogic分配工作者   servlet,JSP,EJB的线程,   和来自其配置的RMI对象   执行队列,从而保证   您选择的对象   应用程序可以访问固定的   服务器线程数。对于那些   没有执行队列的对象   分配,线程将是   从服务器的默认值分配   执行队列。