所谓同一个JVM,
我的个人理解,是指一次JAVA程序的运行,会基于一个JVM实例上。
不论什么servlet或者java app ,只要用classload装载一次的时候,那毕竟会产生一个新的JVM环境(实例)。
本地如果做EJB local方式访问测试的话,那么如果启动一个EJB容器(JBOSS/WEBLOGIC),
那么再用Client的main方法写测试程序访问的时候,必然会报以下错误:
Exception in thread "main" javax.naming.NamingException: Could not dereference object [Root exception is java.lang.RuntimeException: Could not find InvokerLocator URL at JNDI address "ShoppingCartBean/local"; looking up local Proxy from Remote JVM?]
at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1463)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:809)
at org.jnp.interfaces.NamingContext.lookup(NamingContext.java:673)
at javax.naming.InitialContext.lookup(InitialContext.java:392)
at client.StatefulTest.main(StatefulTest.java:19)
Caused by: java.lang.RuntimeException: Could not find InvokerLocator URL at JNDI address "ShoppingCartBean/local"; looking up local Proxy from Remote JVM?
at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.createProxyFactoryProxy(ProxyObjectFactory.java:185)
at org.jboss.ejb3.proxy.objectfactory.ProxyObjectFactory.getObjectInstance(ProxyObjectFactory.java:146)
at javax.naming.spi.NamingManager.getObjectInstance(NamingManager.java:304)
at org.jnp.interfaces.NamingContext.getObjectInstance(NamingContext.java:1438)
at org.jnp.interfaces.NamingContext.getObjectInstanceWrapFailure(NamingContext.java:1455)
... 4 more
小弟理解的JVM不知道对不对,请各位大侠指点一二!谢谢!