问题标签 [commonj]
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.
spring - 使用带有 GlassFish 和 Spring 3 的 CommonJ 实现
为了在 Websphere 7 和 GlassFish 3 环境之间统一部署,我决定尝试在 GlassFish 中实现 CommonJ WorkManager 和 TimerManager。但它并没有像预期的那样工作。我做了以下事情:
使用位于http://commonj.myfoo.de/的 myFOO CommonJ 实现,并将库包含到我的 domain/lib 文件夹中(包括 Spring 库)
将以下内容添加到<resources>
glassfish domain.xml 的部分:
<servers>
在 domain.xml 的/<server>
部分中包含引用:
在我的测试应用程序的 web.xml 中添加适当的资源引用:
将以下 bean 添加到我的 applicationContext.xml:
完成所有这些设置后,所有内容都加载找到并且 Web 应用程序运行;但是,ThreadTester 类不在 Timer 上运行。
我已经逐步完成了 myFOO 代码并且 TimerManager (FooTimerManager.java) 主循环正在运行,它似乎永远不会认识到它应该每 30 秒启动一次类。
我的问题:
有没有人有使用 GlassFish 3 和 Spring 实现 JSR 236/237 (CommonJ) 的经验?
除了 myFOO 之外,我还可以使用和尝试其他实现吗?有没有人试图做我做过的事情?如果你成功了,你愿意分享你的成果吗?
谢谢!
编辑1:
我忘了提到,就 WorkManager 而言,使用带有 GlassFish 的 myFOO CommonJ 实现确实有效。不起作用的是 TimerManager。这意味着我可以按需启动线程,但触发调度不起作用。
编辑2:
自从更新到 GlassFish 3.1.1,TimerManager 的 myFOO CommonJ 实现运行良好。很好!这个问题现在更像是一个 HOWTO 指南。
multithreading - 如何忽略 Weblogic Server 中的卡住线程
我在 Weblogic Application Server 10.3.2 上运行了以下代码。在 timerExpired 上执行的长时间运行的任务花费的时间比服务器范围的 StuckThreadMaxTime 长 600 秒。我不想修改此值,而只是忽略此特定处理线程的卡住线程超时。
我可以从这里看到如何使用 commonj WorkManager 来完成:http: //download.oracle.com/docs/cd/E11035_01/wls100/config_wls/self_tuned.html#wp1069945
然后将以下内容添加到 weblogic.xml 文件中的 work-manager 标记中:
<ignore-stuck-threads>true</ignore-stuck-threads>
但是我到底如何为 Timer/TimerManager 做同样的事情呢?
web.xml
测试定时器.java:
websphere - 尝试查找 WebSphere 7 WorkManager 时出现“AsynchBeans 服务未初始化”错误
我正在尝试使用 CommonJWorkManagerTaskExecutor
作为 Quartz 的任务执行器,SchedulerFactoryBean
以避免 WebSphere 中的非托管线程(在此处描述——向下滚动到“Quartz With CommonJ”部分)。不幸的是,我似乎无法查找任何默认的 WebSphere WorkManager
s,也无法查找我创建的任何东西。CommonJ 的 Spring bean WorkManager
:
我收到ServiceNotInitializedException: AsynchBeans Service not initialized
错误和堆栈跟踪:
有什么想法可以解决这个问题吗?谢谢!
java - 即使在 Websphere 中停止应用程序后,线程也会继续运行
org.springframework.scheduling.commonj.WorkManagerTaskExecutor
我有一个使用Spring 创建并在 Websphere Application Server 8 中运行的长时间运行的线程。
问题是即使应用程序已停止,该线程仍会继续运行。该线程也需要停止,但没有发生。我什至试图用它 Thread.currentThread().isInterrupted()
来检查当前线程是否被中断但它总是返回false
。因此,无法通过我的代码知道线程是否应该继续运行或停止。
这是我对 WorkManagerTaskExecutor 的 spring 配置:
线程是这样执行的:
- 我错过了什么?
- 我该怎么做才能在应用程序停止时应用程序的线程(由应用程序生成的线程)也停止?
我认为这不被视为非托管线程,因为我正在使用适当的WorkManager注册线程,容器将其作为 JNDI 公开的资源。
更新:这是创建线程的代码。
websphere - 如何将 asyncHttpClient 与 commonj workmanager 集成?
我们有一个用例,来自最终用户的单个请求将触发对其他远程系统的 1 个或多个 http 请求。来自远程系统的所有响应都将汇总为一个对最终用户的响应。我们通过在 websphere 中使用 commonj workmanager 来实现这一点。
现在,我们想使用 asyncHttpClient 以减少线程来服务多个并发 http 调用。
所以我的问题是:
如何将 asyncHttpClient 与 commonj workmanager 集成?我们必须使用 commonj 作为线程池,因为这是在 wehsphere 中拥有托管线程的唯一方法。
请指教。
multithreading - 需要示例代码解释 Tomcat 中的 Workmanager
我想知道如何在 Tomcat 7 中使用 WorkManager。我遇到了开源库Foo-CommonJ,但我没有找到解释用法的示例代码。FooWorkManager 的构造函数的输入参数是 commonj.work.work 类的一个实例,因为没有人提供commonj.work.work类(tomcat 和 foo-commonj 都没有)。基本上我需要一个示例代码来解释在 tomcat 中 WorkManager (FooCommonj jar) 的用法。如果 Foo-Commonj 不能正确支持 workmanager,那么还有其他选择。
spring - Spring WorkManagerTaskExecutor 无法在 websphere 中初始化
我想使用 Websphere 工作管理器在 jee 上下文中执行异步作业,但我在创建 spring WorkManager 时遇到问题。
豆定义:
我在 websphere 帮助中找到了这个定义。但问题是这以 noClassDefFound 结束。我注意到org.springframework.scheduling.commonj
自 2.xx 版以来 spring-context 中缺少pckg
它被替换为org.springframework.jca.work.WorkManagerTaskExecutor
?
当我使用这个其他弹簧类时,我得到错误:
原因:org.springframework.jndi.TypeMismatchNamingException:JNDI 位置 [wm/default] 上可用的类型 [class com.ibm.ws.asynchbeans.WorkManagerImpl] 的对象不可分配给 [javax.resource.spi.work.WorkManager]
所以这里有什么交易?谢谢
是 - 7.0.0.23 春天 - 3.1.2
java - Weblogic Server 11g 上的自定义线程
我的 weblogic 服务器上需要一个自定义 threda;我不能使用 TimerEJB 或 Delayed MDB,因为我必须使用 3d 库。
我知道不鼓励应用服务器上的自定义线程;这里有一篇相关文章(4 岁):为什么不鼓励在 Java EE 容器中生成线程?
是不是还是灰心丧气?我可以使用ExecutorService
Quartz 吗?或者我必须只考虑 commonj 和工人经理?
java - 每周执行一次定时器
我正在使用 commonJ TimerManager 发送通知电子邮件。
现在我需要在星期一每周执行一次 Timer,但我在配置方面遇到了一些问题。
如何在特定日期每周设置一次计时器?
谢谢
java - 如何使用 WebSphere 实现 CommonJ 工作管理器?
我从未使用 WebSphere 实现过 CommonJ Work Manager。事实上,我什至不熟悉这个术语。我们目前有一个计划运行,它在特定时间间隔后运行,它创建一个作业并将该作业处理给 ThreadPoolExecutor。每项工作都做某些共同的工作。
作业调度已经使用org.springframework.scheduling.quartz完成,现在我被告知使用 CommonJ Work Manager 来实现这个东西。
我做了一些谷歌搜索,发现下面的链接,
http ://pic.dhe.ibm.com/infocenter/wasinfo/v6r1/index.jsp?topic=%2Fcom.ibm.websphere.express.doc%2Finfo%2Fexp% 2Fasyncbns%2Fconcepts%2Fcasb_workmgr.html
但发现有点难以理解。任何带有示例的解释将不胜感激。