我正在尝试从我的应用程序服务器中执行子进程(Glassfish 3.1.2)
因此我发现了 Apache Commons Exec 库。问题是这个库创建了不应在应用服务器上完成的线程,因为服务器不知道这些线程。
有什么办法可以解决这个问题?
是否可以创建一个用 Java SE 编写的消息组件,该组件使用包含有关待处理作业信息的消息并将其注册到应用程序服务器?
应用程序服务器将不必处理运行时异常和线程,而只需使用包含结果或异常的消息。
你有更好的想法吗?
我正在尝试从我的应用程序服务器中执行子进程(Glassfish 3.1.2)
因此我发现了 Apache Commons Exec 库。问题是这个库创建了不应在应用服务器上完成的线程,因为服务器不知道这些线程。
有什么办法可以解决这个问题?
是否可以创建一个用 Java SE 编写的消息组件,该组件使用包含有关待处理作业信息的消息并将其注册到应用程序服务器?
应用程序服务器将不必处理运行时异常和线程,而只需使用包含结果或异常的消息。
你有更好的想法吗?
您可以使用:
实际上,它应该为您提供与普通子流程类似的功能。
使用与 Java EE 通信的 Java SE 组件只是为了克服自己使用线程的问题,这听起来有点矫枉过正。只需阅读上述解决方案并尝试其中任何一个符合您的需求。
消息驱动的 bean 是为异步处理而设计的。这可能是您问题的解决方案。您可以创建一个单独的侦听器线程池,其大小可以处理流量。