问题标签 [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.
java - 在 Java EE 环境中暂停/休眠 n 秒
我在 WebLogic 上部署了 Web 应用程序。此 Web 应用程序有一个 servlet,它尝试连接到数据库,如果失败,它将等待/暂停/睡眠一段时间并尝试再次连接到数据库。(实际上它会等待并尝试 N 次,指数级的,如果所有尝试都失败,它会返回一个 FAILURE 响应)。
为了在两次尝试之间等待/暂停,我使用了
但是在运行8台weblogic托管服务器的生产环境中,发现Thread.sleep()并不可靠。它的睡眠时间超过了配置的时间。
有什么解决方法吗?
更新:
这是我的代码。请注意,我是从托管服务器激活中调用它的。
java - Hibernate query.uniqueList 中的 ConcurrentModificationException
我正在处理大量数据的性能问题。我正在尝试使用 weblogic 提供的工作管理器将工作分配到多个线程中。然而,我在尝试从表中获取特定记录时收到以下异常.
这是因为多线程吗?我使用的休眠版本是 3.6.1。异常是非常随机的:有时它可以完美运行,有时在 Eclipse 中放置一个调试点就可以了。
*编辑:引发异常的代码片段:
java - 为什么 Weblogic 工作经理拒绝工作
我正在使用在 Web 逻辑环境中运行的 commonJ 工作管理器。
我的设置如下:
我的春季应用程序上下文
我在 WEB-INF 中的 web.xml 文件
和我在 WEB-INF 中的 weblogic.xml 文件
一段时间后,从 SOAP-UI 调用服务。我收到以下错误
我知道设置为最大值将被拒绝,但为什么不回收这些线程?即使我等待 15 分钟,我也无法提交新请求。我必须重新启动服务。
multithreading - 部署级别的Tomcat线程池?
问题:限制 Tomcat 容器中每个已部署应用程序的线程数。这样没有一个部署的组件可以占用所有资源。
在 weblogic 世界中,我使用具有最小和最大线程约束的工作管理器,然后为每个部署指定该应用程序的工作管理器。
我已经阅读了可以设置线程约束的Executors ;但仅限于连接器级别。一个可用的愚蠢技巧是确保我的客户对单个 tomcat 实例使用不同的端口,然后为每个Connector组织不同的Executor,但这似乎效率低下。
问题:有没有比提出的愚蠢想法更好的解决方案?
例子
deploymentA 应该分配最少 5 个线程和最多 10 个线程
deploymentB 应该分配最少 10 个线程和最多 50 个线程
愚蠢的解决方案
让部署的客户/用户仅调用端口 11400。让部署 B 的客户端/用户仅调用端口 11500。
java - 如何使用spring @Async创建独立线程
我正在使用带有 weblogic workmanager 的 spring @Async,Spring 版本是 3.2.2
网页.xml:
weblogic.xml:
弹簧配置 xml:
控制器 :
服务 :
每当请求来自前端时,控制器应该通过调用服务方法来启动工作,它应该返回响应而不等待服务工作。
当@Async 没有被应用时,一切都很顺利,但是当我应用时,服务线程被杀死,因为我的请求线程已经完成。
请让我知道,使用 @Async 如何创建独立于请求线程的线程。
该独立线程可能会运行 2 分钟或 20 分钟,具体取决于输入。
java - 如何从我们的应用程序访问 weblogic 服务器中的 WorkManager 属性值
我想使用 MBean Runtime 服务器访问 WorkManager 中的 MaxThreadsConstraint 属性。所以帮助我从我的 Java 应用程序访问 weblogic 服务器的 WorkManager 属性值
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 功能。
weblogic - 工作管理器-Web 逻辑
Weblogic Work Manager:需要创建工作管理器来有效地处理线程。我需要在域级别创建 WorkManager。因此,当我在域级别创建 workManager 时,我是否需要在 web.xml 或 weblogic.xml 中定义 workmanager ,或者只需在 config.xml 中定义即可。容器或 weblogic 如何知道创建的自定义工作管理器?
我们如何测试相同的?
任何想法将不胜感激。
java - 使用 Commonj Work Manager 发送异步 HTTP 调用
我从进行顺序 HTTP 调用切换到 4 个 REST 服务,然后使用 commonj4 工作管理器任务执行器进行 4 个同时调用。我正在使用 WebLogic 12c。这个新代码适用于我的开发环境,但在负载条件下的测试环境中,有时在没有负载的情况下,结果映射不会填充所有结果。日志记录表明每个工作项确实收到了结果。这可能是 ConcurrentHashMap 的问题吗?在 IBM 的这个示例中,他们使用自己的 Work 版本,并且有一个 getData() 方法,尽管它不喜欢该方法确实存在于他们的类定义中。我遵循了一个不同的示例,该示例仅使用了 Work 类,但没有演示如何将数据从这些线程中获取到主线程中。我应该使用 execute() 而不是 schedule() 吗?API 似乎没有很好的文档记录。卡住的线程超时足够高。component.processInbound() 实际上包含 HTTP 调用的代码,但我的问题不存在,因为我可以切换回下面类的同步版本并且没有任何问题。
我的代码:
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 的方法。
有人可以告诉我如何实现这一目标吗?
这是异常日志: