问题标签 [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 回答
701 浏览

java - jboss线程中的commonj workmanager不等待完成

我们在 jboss EAP 6.4.9.GA 和 jdk 1.7 中部署了 commonj workmanager rar。我们正在使用 workmanager 引用来创建多个线程以防多个文件上传。我们为 workmanager 设置了默认配置,最大线程、核心线程、队列长度的值为 50。我们在spring xml中定义了依赖为

在 Invoker 类中,提交工作

我看到的是 taskexecutor 没有等待任务完成,在下一步中,我们试图从 Work 对象中获取结果,它正在抛出异常

令人费解的是,在本地服务器上使用 jboss 6.2 服务器和 jdk 1.7 的设置相同。

你能告诉我可能出了什么问题吗?

我还添加了 WorkListener

我在监听器中获取 workAccepted 和 WorkStarted 的日志。workmanager deos 不等待线程完成。如果有任何替代方法可以使用监听器来实现等待线程完成?

0 投票
1 回答
121 浏览

java - 异常完成WorkEvent时如何通知主线程?

我正在使用IBM WorkManager (v8.0.0)来做一些与主线程异步的工作。

为此,我使用以下代码:

WorkEvent只要毫无例外地完成,这工作就很好。但是当它以异常完成时,我想通知主线程停止向WorkManager.

我以为我可以提出一个RunetimeException通知主线程,但是分析日志我发现在主线程完成所有提交并调用 - 的 - 方法的那一刻引发了异常,WorkItemsWorkManager为时joinWorkManager晚(在大多数情况下50.000 项必须由WorkManager) 完成。

WorkManager那么,当在 中识别出异常时,如何中断我的主线程以阻止它向 提交更多项目workCompleted

0 投票
1 回答
947 浏览

java - Websphere WorkManager 加入多个线程

我有一个以某种方法启动的 WM:

someMethod()由不同的线程调用,问题wm.join()不在于只等待给定的工作完成,而是等待所有线程启动的所有工作。最终"other code"在应用程序中的每一项工作完成时执行。

它应该是这样吗?如果是这样,我可以修复它,所以每个wm.join()人都只等待“它的”工作完成吗?

WAS 版本是 8.5.5.11

谢谢!

0 投票
1 回答
434 浏览

java - 在 Java Web 应用程序中实现 WebLogic workmanager

使用workmanager时出现错误:

但是我找不到weblogic.work.j2ee.J2EEWorkManager课程。

我的代码:

我的Web.xml

那么有什么办法解决这个问题吗?

0 投票
0 回答
191 浏览

java - 在 WorkManager 中使用 Callable 方法时应用程序上下文丢失

我在 WLS 中实现了一个 WorkManager,并使用调度调用了一个异步任务。当我在异步任务中收到请求时,我丢失了我的应用程序上下文的所有 @Autowired 引用。

有没有办法在异步任务(类 ExecuteProcessServiceImpl)的方法“startTask”中使用我的应用程序上下文的变量?

调用异步任务的类

接收请求并启动任务的类

异步任务

0 投票
1 回答
619 浏览

java - 使用 WorkManager 在 Jetty 上启用编程并发

我设法将 CommonJ - JSR 237 Timer & WorkManager API ( http://commonj.myfoo.de )的自定义实现配置为JNDIJetty 6 和 8 上的资源,但它只能在全局范围内工作。
使用这个JNDI资源的解决方案名称是wm/WorkManager,我需要它java:comp/env/wm/WorkManager,但由于限制,我不能java:comp/env在全局 JNDI 名称中使用,因为它保留给应用程序范围的资源。
我创建了一个名为{jetty.home}/etc/jetty-wtm.xml并添加到{jetty.home}/start.ini.
这是jetty-wtm.xmlJetty 6 的内容,对于更大的版本,它有点不同,但也可以:

我需要java:comp/env/{RESOURCE}专门java:comp/env/wm/MyWorkManager跨服务器维护标准 JNDI 命名,但标准WEB-INF\jetty-env.xml配置文件不起作用。有任何想法吗?

更新:我已经jetty-env.xml在 J​​etty 9 中测试了本地配置文件,它按预期工作。似乎在低于 9JNDI的版本中它不完全受支持。以下是配置文件内容:

0 投票
1 回答
115 浏览

asynchronous - WebSphere WorkManager Cluster 双重执行作业

我有一个应用程序部署在带有 Java 1.7.1 的 WebSphere 8.5 上,定义了一个由 2 个节点组成的集群。在这个应用程序中有一个 EJB,它通过工作管理器提交一个异步作业。

问题是在 WAS 8.5 上,作业在集群的两个节点上执行了两次。在 WAS 6.1 中,这并没有发生。

工作由报警管理员提交。在提取的代码下方:

有人知道在 8.5 上是否有额外的配置来避免所描述的问题?

0 投票
2 回答
1059 浏览

android - 通过 Data 类发送类对象

Android 最近引入了WorkManager用于调度任务。此WorkManager的强大功能之一是通过combinethenbeginWith运算符链接多个任务。数据类用于在这些任务之间发送数据。但是在经历了DataData.Builder类之后,我还没有找到通过Data类在不同任务之间发送 Class 对象的方法,甚至没有通过SerializableParcelable。如何在不同任务之间发送类对象?

0 投票
1 回答
1891 浏览

java - 如何让 WorkManager 始终在后台运行

我如何让 WorkManager 始终在后台运行,无论应用程序是否关闭/杀死/打开,它都应该始终运行。我在doWork检查数据库更改并在数据库更改时发送通知的方法中编写了代码。因此,它应该始终在 bg 中运行以检查更改。那么我应该为此使用什么,OneTimeRequest或者PeriodicWorkRequest?此外,在我的 Worker 类中,我将 Result 设置为RETRYie return Result.RETRY;,希望让它始终运行。PS-我不希望 WorkManager 在任何状态/条件下闲置。正确的做法应该是什么?

0 投票
2 回答
6636 浏览

android - Android Work Manager - Work Manager 会 100% 确保后台执行完成吗?

从我从文档https://developer.android.com/topic/libraries/architecture/workmanager中读到的内容,

它说:

即使您的应用程序被强制退出或设备重新启动,该任务仍然可以保证运行。

那么这意味着在后台的执行将 100% 执行直到它完成为止呢?

举个例子:

应用程序具有执行将数据上传到在线数据库的工作管理器实施的按钮,但它需要 Internet 连接才能上传数据。因此,我的应用程序当前处于离线模式,我单击了按钮。

我的不确定性:

工作管理器是否会在后台运行该进程,并在没有 Internet 连接的情况下继续重试该进程?并且仅在有 Internet 连接并完成数据上传之前完成并停止该过程?