问题标签 [workmanagers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1097 浏览

java - 在 Java EE 环境中暂停/休眠 n 秒

我在 WebLogic 上部署了 Web 应用程序。此 Web 应用程序有一个 servlet,它尝试连接到数据库,如果失败,它将等待/暂停/睡眠一段时间并尝试再次连接到数据库。(实际上它会等待并尝试 N 次,指数级的,如果所有尝试都失败,它会返回一个 FAILURE 响应)。

为了在两次尝试之间等待/暂停,我使用了

但是在运行8台weblogic托管服务器的生产环境中,发现Thread.sleep()并不可靠。它的睡眠时间超过了配置的时间。

有什么解决方法吗?

更新:

这是我的代码。请注意,我是从托管服务器激活中调用它的。

0 投票
0 回答
1317 浏览

java - Hibernate query.uniqueList 中的 ConcurrentModificationException

我正在处理大量数据的性能问题。我正在尝试使用 weblogic 提供的工作管理器将工作分配到多个线程中。然而,我在尝试从表中获取特定记录时收到以下异常.

这是因为多线程吗?我使用的休眠版本是 3.6.1。异常是非常随机的:有时它可以完美运行,有时在 Eclipse 中放置一个调试点就可以了。

*编辑:引发异常的代码片段:

0 投票
1 回答
3861 浏览

java - 为什么 Weblogic 工作经理拒绝工作

我正在使用在 Web 逻辑环境中运行的 commonJ 工作管理器。

我的设置如下:

我的春季应用程序上下文

我在 WEB-INF 中的 web.xml 文件

和我在 WEB-INF 中的 weblogic.xml 文件

一段时间后,从 SOAP-UI 调用服务。我收到以下错误

我知道设置为最大值将被拒绝,但为什么不回收这些线程?即使我等待 15 分钟,我也无法提交新请求。我必须重新启动服务。

0 投票
0 回答
85 浏览

multithreading - 部署级别的Tomcat线程池?

问题:限制 Tomcat 容器中每个已部署应用程序的线程数。这样没有一个部署的组件可以占用所有资源。

在 weblogic 世界中,我使用具有最小和最大线程约束的工作管理器,然后为每个部署指定该应用程序的工作管理器。

我已经阅读了可以设置线程约束的Executors ;但仅限于连接器级别。一个可用的愚蠢技巧是确保我的客户对单个 tomcat 实例使用不同的端口,然后为每个Connector组织不同的Executor,但这似乎效率低下。

问题:有没有比提出的愚蠢想法更好的解决方案?

例子

deploymentA 应该分配最少 5 个线程和最多 10 个线程

deploymentB 应该分配最少 10 个线程和最多 50 个线程

愚蠢的解决方案

让部署的客户/用户仅调用端口 11400。让部署 B 的客户端/用户仅调用端口 11500。

0 投票
1 回答
1277 浏览

java - 如何使用spring @Async创建独立线程

我正在使用带有 weblogic workmanager 的 spring @Async,Spring 版本是 3.2.2

网页.xml:

weblogic.xml:

弹簧配置 xml:

控制器 :

服务 :

每当请求来自前端时,控制器应该通过调用服务方法来启动工作,它应该返回响应而不等待服务工作。

当@Async 没有被应用时,一切都很顺利,但是当我应用时,服务线程被杀死,因为我的请求线程已经完成。

请让我知道,使用 @Async 如何创建独立于请求线程的线程。

该独立线程可能会运行 2 分钟或 20 分钟,具体取决于输入。

0 投票
1 回答
940 浏览

java - 如何从我们的应用程序访问 weblogic 服务器中的 WorkManager 属性值

我想使用 MBean Runtime 服务器访问 WorkManager 中的 MaxThreadsConstraint 属性。所以帮助我从我的 Java 应用程序访问 weblogic 服务器的 WorkManager 属性值

0 投票
1 回答
193 浏览

websphere - 尝试获取应用程序中已加载的类时来自 workmanager 的 NPE

我正在使用 WebSphere 8.5 和 JSF2.0,但在使用 WorkManager(来自 websphere - async bean)时遇到问题。我有一个实现 Work 接口的workManagerExample类。当我从我的应用程序中调用 workManagerExample 时,我无法再获取已在我的应用程序中加载的类的方法。情况:我的应用程序中有一个实用程序类(它工作正常),但是当我尝试从 workManagerExample 使用它(如 Utility.someMethod)时,我得到了一个 NPE。我在调用“startWork(WorkManagerExample)”之前检查了 Utility 类并且不为空,我可以像往常一样使用它。顺便说一句,workManager 工作正常,无需从我的应用程序调用任何已加载的类。我不能将 Utility 类作为 workManagerExample 构造函数的参数传递(这是来自客户/客户的限制)。我的问题是为什么我不再使用这个 Asyn Bean 中的 Utility 类函数?

这是我的参考指南http://www.bencode.net/blog/2014/07/26/was-async-beans/

一些java代码:Class1.java

在 GetInfoWork.java 中,当我尝试 'FacesContext.getCurrentInstance();' 我总是得到 NULL 但如果我从 Class1.java 尝试它会按预期工作。文件夹结构与通常的 JSF2 Web 应用程序一样,这是一个现有应用程序,现在我想通过 workManager(来自 com.ibm.ws.runtime.jar)添加此 Async Bean 功能。

0 投票
1 回答
99 浏览

weblogic - 工作管理器-Web 逻辑

Weblogic Work Manager:需要创建工作管理器来有效地处理线程。我需要在域级别创建 WorkManager。因此,当我在域级别创建 workManager 时,我是否需要在 web.xml 或 weblogic.xml 中定义 workmanager ,或者只需在 config.xml 中定义即可。容器或 weblogic 如何知道创建的自定义工作管理器?

我们如何测试相同的?

任何想法将不胜感激。

0 投票
1 回答
903 浏览

java - 使用 Commonj Work Manager 发送异步 HTTP 调用

我从进行顺序 HTTP 调用切换到 4 个 REST 服务,然后使用 commonj4 工作管理器任务执行器进行 4 个同时调用。我正在使用 WebLogic 12c。这个新代码适用于我的开发环境,但在负载条件下的测试环境中,有时在没有负载的情况下,结果映射不会填充所有结果。日志记录表明每个工作项确实收到了结果。这可能是 ConcurrentHashMap 的问题吗?在 IBM 的这个示例中,他们使用自己的 Work 版本,并且有一个 getData() 方法,尽管它不喜欢该方法确实存在于他们的类定义中。我遵循了一个不同的示例,该示例仅使用了 Work 类,但没有演示如何将数据从这些线程中获取到主线程中。我应该使用 execute() 而不是 schedule() 吗?API 似乎没有很好的文档记录。卡住的线程超时足够高。component.processInbound() 实际上包含 HTTP 调用的代码,但我的问题不存在,因为我可以切换回下面类的同步版本并且没有任何问题。

http://publib.boulder.ibm.com/infocenter/wsdoc400/v6r0/index.jsp?topic=/com.ibm.websphere.iseries.doc/info/ae/asyncbns/concepts/casb_workmgr.html

我的代码:

0 投票
2 回答
5782 浏览

java - 如何在 WebSphere liberty profile server 8.5 中配置 spring commonj workManager

我正在尝试将 Spring Web 应用程序从 WebSphere 应用程序服务器 7 迁移到 WebSphere liberty profile 8.5。我在应用程序启动时收到“java.lang.NoClassDefFoundError: commonj/work/WorkException”。我使用功能管理器配置了数据源和公共库,但找不到配置 WorkManager 的方法。

有人可以告诉我如何实现这一目标吗?

这是异常日志: