Context initial = new InitialContext();
这里有问题如果你用同样的调用代码用web可以调用说明你的web容器和EJB容器实际上是在同一个JVM里但是你启动另外一个Client来调用EJB,就说明这是不同的JVM所以你应该这么写(weblogic): properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://localhost:7001"); Context initial = new InitialContext(properties);
这里有问题如果你用同样的调用代码用web可以调用说明你的web容器和EJB容器实际上是在同一个JVM里但是你启动另外一个Client来调用EJB,就说明这是不同的JVM所以你应该这么写(weblogic): properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://localhost:7001"); Context initial = new InitialContext(properties);
可是我在同一台机器上运行我的客户端程序,
所以客户端与EJB所在JVM是一样的呀,
还有你这样写:
properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://localhost:7001"); Context initial = new InitialContext(properties);我不知道你为什么这样写?可否解释一下,谢谢啊!
我使用的初始化工厂类是com.sun.jndi.cosnaming.CNCTxFatory,
那我应该如何运行我的Client呢?
还有一点,对于工厂这个概念你是如何理解的?
http://community.csdn.net/Expert/topic/3902/3902144.xml?temp=5.076236E-02