簡體   English   中英

JNDI 樹:自定義工作管理器與默認工作管理器

[英]JNDI tree: custom work manager vs. default work manager

我通過 Weblogic 控制台創建了一個全局范圍的自定義工作管理器“WorkManagerHighPrio”。
默認工作管理器“default”列在 JNDI 樹中,可以通過java:global/wm/default查找其引用。 我想知道為什么我的自定義工作管理器沒有在 JNDI 樹中列出,而且查找 URL 是java:comp/env/wm/WorkManagerHighPrio

java:globaljava: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 ,但我錯了。

您必須使用的“WorkManager” class 是: commonj.work.WorkManager

如文檔中所述:

工作經理 API

工作管理器 API,commonj.work,提供了一組接口,允許應用程序在容器內同時執行多個工作項。

那里也有一個簡單的“工作管理器示例”:

https://docs.oracle.com/middleware/12212/wls/COMMJ/using_commonj.htm#GUID-72F860BE-9315-417E-B406-2C1EDFED

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM