0

我正在尝试创建一个 java 程序,它将只接收 Weblogic Server 中初始上下文工厂的名称。

您可能会在我尝试执行的 java 源代码下面找到:

import java.io.IOException; 
import java.io.Serializable; 
import java.rmi.MarshalledObject; 
import java.util.Hashtable; 
import java.util.Map.Entry; 
import javax.naming.Binding; 
import javax.naming.CommunicationException; 
import javax.naming.ConfigurationException; 
import javax.naming.Context; 
import javax.naming.InvalidNameException; 
import javax.naming.Name; 
import javax.naming.NameClassPair; 
import javax.naming.NameParser; 
import javax.naming.NamingEnumeration; 
import javax.naming.NamingException; 
import javax.naming.Reference; 
import javax.naming.Referenceable; 
import javax.naming.Context;
import javax.naming.InitialContext;

public class GetInitialContextClass
{
    public static void main(String[] args) {
        Hashtable env = new Hashtable(5);
        Context ctx = getInitialContext(env);
        System.out.println(ctx);
    }
}

但我收到了以下错误:

symbol  : method getInitialContext(java.util.Hashtable)
    location: class GetInitialContextClass
            Context ctx = getInitialContext(env);
                          ^

请为您的帮助。

4

2 回答 2

0

在 Weblogic Server 中接收初始上下文工厂的名称

没有任何意义。如果您需要连接到 WebLogic Server jndi 树,请使用以下代码:

   Hashtable env = new Hashtable(5);
   env.put(Context.INITIAL_CONTEXT_FACTORY,
           "weblogic.jndi.WLInitialContextFactory");
   env.put(Context.PROVIDER_URL,
           "t3://weblogicServer:7001");
   Context ctx = new InitialContext(env);
于 2016-10-26T09:08:07.900 回答
0

在准备初始上下文时更改PROVIDER_URL环境变量,如下所示:

private static Context getInitialContext() throws NamingException { 
    Hashtable env = new Hashtable(); 
    // WebLogic Server 10.x/12.x connection details
    env.put(Context.INITIAL_CONTEXT_FACTORY, "weblogic.jndi.WLInitialContextFactory"); 
    env.put(Context.PROVIDER_URL, "t3://oc-144-21-91-92.compute.oraclecloud.com:9073"); 
    return new InitialContext(env); 
}

请注意主机:端口组合应如下所示:WebLogic 服务器配置页面

于 2018-05-06T09:32:03.050 回答