需要在Tomcat中解释Workmanager的示例代码

时间:2013-02-08 18:43:31

标签: multithreading tomcat asynchronous workmanagers commonj

我想知道如何在Tomcat 7中使用WorkManager。我遇到了开源库 Foo-CommonJ ,但我找不到解释用法的示例代码。 FooWorkManager的构造函数的输入参数是commonj.work.work类的实例,其中没有人提供 commonj.work.work 类(tomcat和foo-commonj都没有)。 基本上我需要一个示例代码来解释tomcat中WorkManager(FooCommonj jar)的用法。 如果Foo-Commonj不能正确支持workmanager,那么可以选择其他方法。

2 个答案:

答案 0 :(得分:1)

JSR-237已被撤销,但已与JSR-236合并。 http://jcp.org/en/jsr/detail?id=237 原因:JSR 237已与JSR 236合并,为Java EE并发提供单一,一致的规范。

答案 1 :(得分:0)

老派方式

复制到以下jar的tomcat \ lib文件夹中:

  • commonj-xxx.jar
  • tomcat-commonj-xxx.jar

在您的应用或tomcat的context.xml中,创建一个新的WorkManager实例:

<Resource name="wm/myWorkManager" type="commonj.work.WorkManager" auth="Container"
      factory="de.myfoo.commonj.work.FooWorkManagerFactory"
      maxThreads="10"
      minThreads="5" />

使用JNDI获取此实例。例如使用web.xml:

<resource-ref>
  <description>Work manager example</description>
  <res-ref-name>wm/myWorkManager"</res-ref-name>
  <res-type>commonj.work.WorkManager</res-type>
  <res-auth>Container</res-auth>
  <res-sharing-scope>Unshareable</res-sharing-scope>
</resource-ref>

任何其他方法都应该起作用。