使用可攜式 JNDI 內容值

此規則會標示任何使用 javax.naming.InitialContext(Hashtable) 建構子,因為它無法一律判斷 Hashtable 中的執行時期值。 使用 javax.naming.InitialContext(Hashtable) 建構子時,請確保未使用任何專用的 JNDI 內容值。 JBoss 專用的 JNDI 內容值包括:

如果未使用這些 JNDI 內容值,則不需要執行其他動作。如果使用了這些 JNDI 內容值,則有三種可能的手動解決方案。

選項 1: 使用 javax.naming.InitialContext() 建構子

如果未設定其他 JNDI 內容,請使用此選項。此選項適用於 WebSphere Application Server Traditional 或 Liberty。

選項 2:從 Hashtable 中移除命名 Factory 和命名提供者內容。

如果設定了其他 JNDI 內容,請使用此選項。此選項適用於 WebSphere Application Server Traditional 或 Liberty。

選項 3:將 JNDI 內容值取代為有效的 WebSphere Application Server Traditional JNDI 內容值

此選項適用於 WebSphere Application Server Traditional:

如果在相同的 Java 原始檔中找到這些 JNDI 內容值的文字字串值, javax.naming.InitialContext(Hashtable) 構建器,則使用 請勿使用 JBoss -specific JNDI 屬性值 WebSphere Application Server 的傳統規則。