1 ctx = new InitialContext()的调用需要你定义一个jndi.properties文件放置在classpath可以找到的位置,这样就和你在bean中直接定义properties的效果一样了。不过设置jndi.properties更好一点,因为不需要将获得jndi context硬编码到程序里
2 3 实际是ref的问题 比如你在一个session bean中定义了对某个entity bean或者资源(连接池)的引用,那么你在lookup的时候就该用java:comp/env/refName,如果你只是设置了jndi名字
那么就该类似这样lookup("test")
2 3 实际是ref的问题 比如你在一个session bean中定义了对某个entity bean或者资源(连接池)的引用,那么你在lookup的时候就该用java:comp/env/refName,如果你只是设置了jndi名字
那么就该类似这样lookup("test")
再问一个问题,我在身模时候调用远程接口,再什模时候调用本地接口
是不是在客户端和被调用bean在同一个线程中时候才能用本地接口
Context ctx = new InitialContext()
的程序和服务器是在同一个jvm,应该是可以这么做的。
当然,你最好还是要设置一下,这样可提高系统的兼容性。
如果不是,还是需要
Context ctx=new InitialContext(properties);
客户机情况
对于第三个,这个具体的ejb容器有关。
建议一般是生成一个jndi的文件,根据不同的服务器调用不同的文件