使用可攜式 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:

如果在使用 javax.naming.InitialContext(Hashtable) 建構子的相同 Java 原始檔中,找到這些 JNDI 內容值的文字字串值,請使用不要使用 JBoss 專用 JNDI 內容值 WebSphere Application Server Traditional 規則及快速修正程式,來完成此項作業。