不要使用 JNDI 名稱查閱來參照執行時期 MBean 伺服器

WebLogic 會針對執行時期 MBean 伺服器提供 JNDI 名稱查閱。 此規則會掃描是否有字串文字使用 WebLogic MBean 伺服器 JNDI 名稱 java:comp/env/jmx/runtime

舉例來說,此規則會標示下列範例中的 JNDI 名稱。

import javax.management.MBeanServer;
import javax.naming.InitialContext;

InitialContext ctx = new InitialContext();
MBeanServer server = (MBeanServer)ctx.lookup("java:comp/env/jmx/runtime");

如果您的應用程式針對 MBean 伺服器使用 JNDI 名稱查閱,請將應用程式改為使用 javax.management.MBeanFactory API,以取得 MBeanServer 的存取權或管理自訂 MBean。 如果您的程式碼會存取 WebLogic 提供的 MBean,請移轉成 WebSphere Application Server 所提供的類似功能。

對於在 WebSphere Application Server Traditional 中執行的應用程式,您可以使用 AdminServiceFactory 類別來取得 MBean 伺服器的存取權。

import javax.management.MBeanServer;
import com.ibm.websphere.management.AdminServiceFactory;

MBeanServer server = AdminServiceFactory.getMBeanFactory().getMBeanServer();

如需相關資訊,請參閱: