【发布时间】:2021-05-23 09:56:48
【问题描述】:
我通过 Weblogic 控制台创建了一个全局范围的自定义工作管理器“WorkManagerHighPrio”。
默认工作管理器“default”列在 JNDI 树中,并且可以通过 java:global/wm/default 查找其引用。我想知道为什么我的自定义工作管理器没有在 JNDI 树中列出,而且查找 URL 是 java:comp/env/wm/WorkManagerHighPrio。
java:global 与 java:comp/env
我签入了config.xml,两个工作管理器的配置相似:
<work-manager>
<name>default</name>
<target>app01_cluster</target>
<min-threads-constraint>default_MinThreads</min-threads-constraint>
<max-threads-constraint>default_MaxThreads</max-threads-constraint>
<ignore-stuck-threads>false</ignore-stuck-threads>
</work-manager>
<work-manager>
<name>WorkManagerHighPrio</name>
<target>app01_cluster</target>
</work-manager>
我需要将自定义工作管理器绑定在 java:global/wm 中,因为我需要在资源适配器中使用这个工作管理器。
WorkManager wm = (WorkManager) ic.lookup("java:global/wm/default");
在资源适配器应用程序中,我设法通过查找来检索默认工作管理器的引用,即使我遇到了下一个问题:
weblogic.work.j2ee.J2EEWorkManager cannot be cast to javax.resource.spi.work.WorkManager
我想,如果我在 ra 中查找工作经理,它会自动转换为javax.resource.spi.work.WorkManager,但我错了。
【问题讨论】:
标签: java jakarta-ee weblogic weblogic12c