不需要有代码,但调用者需要有rmi存根(定义了接口,部署时获得),然后通过配置ejb引用来访问。欢迎光临Java,J2EE论坛( http://letsjava.yeah.net )。
http://www.minij2ee.com/
http://www.minij2ee.com/
解决方案 »
- 急救Debuger
- 一个关于JSTL和EL的问题
- struts标签嵌套JAVA语句的问题。
- 邮件自动提示,请教各位大哥
- 如何在JBuilder中使用hibernate??初学者问题!!请高手指点!!最好有相关教材!!
- 急!jbuilder2005 基于struts 的标签问题
- 救命:jsp乱码问题!!!急急急
- Exception in thread "main" java.lang.NoClassDefFoundError:test 是怎么回事!
- 我想用jbuilder7解析xml文件,大家给点建议吧!!!!
- 一个EJB测试问题(我只有50分了)
- 关于EJB的环境配置我一点不懂,各位大虾有请!分必给!
- 测试BMP EJB时客户端出现以下错误
在你的客户端肯定要用到Lookup()类似的方法(通过EJB1所在的应用服务器),他会找到你要用的EJB1的,当让EJB1部署的地方最好是在“北京”了
//get naming context
Context ctx = getInitialContext(); //look up jndi name
Object ref = ctx.lookup("CityAgency"); //cast to Home interface
EJB1Home = (EJB1Home) PortableRemoteObject.narrow(ref, EJB1Home.class);
......//可是,我哪里来的EJB1Home.class呢?
}
catch(Exception e) {
}
http://www.minij2ee.com/
QQ7659681
/*
* HelloWorldHome.java
*
* Created on 2001年11月13日, 下午9:46
*/package testejb;/**
*
* @author hcxing
* @version
*/
public interface HelloWorldHome extends javax.ejb.EJBHome { HelloWorld create() throws java.rmi.RemoteException, javax.ejb.CreateException;
}/*
* HelloWorld.java
*
* Created on 2001年11月13日, 下午5:27
*/package testejb;/**
*
* @author hcxing
* @version
*/
public interface HelloWorld extends javax.ejb.EJBObject { public String sayHello() throws java.rmi.RemoteException;
}/*
* HelloWorldEJB.java
*
* Created on 2001年11月13日, 下午9:50
*/package testejb;/**
*
* @author hcxing
* @version
*/
public class HelloWorldEJB implements javax.ejb.SessionBean { /** Creates new HelloWorldEJB */
public HelloWorldEJB() {
} public void ejbActivate() throws javax.ejb.EJBException, java.rmi.RemoteException {
}
public void ejbPassivate() throws javax.ejb.EJBException, java.rmi.RemoteException {
}
public void ejbRemove() throws javax.ejb.EJBException, java.rmi.RemoteException {
}
public void setSessionContext(javax.ejb.SessionContext sessionContext) throws javax.ejb.EJBException, java.rmi.RemoteException {
}
public void ejbCreate() throws java.rmi.RemoteException, javax.ejb.CreateException{
}
public String sayHello(){
return "Hello World!";
}
}import javax.naming.Context;
import javax.naming.InitialContext;
import javax.rmi.PortableRemoteObject;import java.util.Hashtable;import testejb.HelloWorld;
import testejb.HelloWorldHome;public class HelloWorldClient { public static void main(String[] args) {
Hashtable env = new Hashtable();
env.put(Context.INITIAL_CONTEXT_FACTORY,
"weblogic.jndi.WLInitialContextFactory"); //Context ctx = new InitialContext(env);
try {
Context initial = new InitialContext(env);
//Context myEnv = (Context)initial.lookup("java:comp/env");
Object objref = initial.lookup("testejb/HelloWorldHome"); HelloWorldHome home =
(HelloWorldHome)PortableRemoteObject.narrow(objref,
HelloWorldHome.class); HelloWorld currencyHelloWorld = home.create(); System.out.println(currencyHelloWorld.sayHello());
System.exit(0); } catch (Exception ex) {
System.err.println("Caught an unexpected exception!");
ex.printStackTrace();
}
}
}
明确的说,要!上面的兄弟不是说了,要接口和RMI存根吗?你的Home和Remote 接口的class文件是要的,只是不需要Bean的class文件,这里定义了你的EJB的实现业务代码。