Java 从容器中获取线程?
在大多数应用服务器上,J2EE Ejb规范禁止“手动”创建线程,因为这些资源应该由服务器管理Java 从容器中获取线程?,java,multithreading,jakarta-ee,Java,Multithreading,Jakarta Ee,在大多数应用服务器上,J2EE Ejb规范禁止“手动”创建线程,因为这些资源应该由服务器管理 但是有没有办法从Tomcat、Glassfish、Jboss等获取线程。;这样就可以访问他们的线程池了?我已经看到了至少有一个实用程序类可以访问Tomcat的线程池,但是这样做是不明智的。创建这些线程是为了服务EJB或Servlet的请求,而不是为了支持EJB或Servlet。您使用的每一个线程都只是另一个线程,无法为容器的请求提供服务 您可能只需要加入一个静态线程池并使用一个静态初始值设定项来绕过EJ
但是有没有办法从Tomcat、Glassfish、Jboss等获取线程。;这样就可以访问他们的线程池了?我已经看到了至少有一个实用程序类可以访问Tomcat的线程池,但是这样做是不明智的。创建这些线程是为了服务EJB或Servlet的请求,而不是为了支持EJB或Servlet。您使用的每一个线程都只是另一个线程,无法为容器的请求提供服务
您可能只需要加入一个静态线程池并使用一个静态初始值设定项来绕过EJB规范,但显然您必须确保线程代码工作良好,否则它可能会真正损坏您的EJB。从容器中获取线程的合法方法是使用JCA(Java连接器体系结构)。使用此技术实现的组件称为“资源适配器”,并打包为rar文件 实现非常详细,但在简单的情况下并不太复杂。祝你好运。你可以使用。IBM和BEA提议提供一种标准方法来完成这项任务(访问容器管理的线程) 虽然它没有包含在实际的规范中,但是大多数容器都有实现