运行connectorz Executor框架时出现异常

Cha*_*har 5 java frameworks connector jca jboss6.x

我正在尝试运行connectorZ JCA 1.6 Executor实现,
为此我从github下载了Zip并尝试执行客户端,
(工作管理器:java.util.concurrent.Executor的JCA实现)

我能够在Eclipse中运行应用程序,(在解决了一些依赖性问题之后)
jsp页面正常加载链接"执行5个阻塞任务",
当我点击特定链接时,我得到以下异常:

Caused by: java.lang.NullPointerException
    at org.connectorz.threading.ThreadsResource.overload(ThreadsResource.java:72) [classes:]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_40]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_40]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_40]
    at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_40]
Run Code Online (Sandbox Code Playgroud)

这里的问题是executorFactory为null,我不确定jndi_name" jca/workmanager ".

@Resource(name="jca/workmanager")
WorkExecutorFactory executorFactory; //NPE at executorFactory(not injecting).
Run Code Online (Sandbox Code Playgroud)


我是否缺少与jndi或任何资源文件相关的任何配置?
我该如何解决这个问题?

小智 0

从另一个已部署的模块访问 JCA 模块需要三个步骤:

  1. 将 JCA 模块部署到您的应用程序服务器
  2. 为之前部署的 JCA 模块创建连接池
  3. 为 JCA 模块创建一个 JNDI 条目,指定要使用的连接池。

就你的情况而言,我认为你没有执行步骤 2 和 3。

连接池的 JNDI 名称可以自由选择,但第三步的 JNDI 名称必须与 @Resource-Annotation (= jca/workmanager) 给出的名称相同。

如何执行上述步骤取决于您的应用程序服务器。

请注意,目前 RAR 模块的 ConnectionFactory 类中存在包含 @Size-Annotation 的错误。要修复此问题,只需将其注释掉即可。