è¿ç¨å®¢æ·ç«¯åæ¬å°å®¢æ·ç«¯
è¿ç¨å®¢æ·ç«¯ï¼å®¢æ·ç«¯ä¸å ¶è°ç¨çJEB对象ä¸ååä¸ä¸ªJVMè¿ç¨ä¸ã为äºå建ä¸ä¸ªè½å¤è¢«è¿ç¨è®¿é®çä¼ä¸Beanï¼ä½ å¿ é¡»ç¨@Remote注解æ¥å®ä¹è¿äºBeanã
æ¬å°å®¢æ·ç«¯ï¼å®¢æ·ç«¯ä¸å ¶è°ç¨çEJB对象å¨åä¸ä¸ªJVMè¿ç¨ä¸ã为äºå建ä¸ä¸ªè½å¤è¢«æ¬å°è®¿é®çä¼ä¸Beanï¼ä½ å¿ é¡»ç¨@Local注解æ¥å®ä¹è¿äºBeanã
è¿ç¨è°ç¨æ¹å¼åæ¬å°è°ç¨æ¹å¼
è¿ç¨è°ç¨ï¼JNDI lookup以remoteæ¹å¼è¿è¡è°ç¨ï¼è¿ç¨è°ç¨å®¢æ·ç«¯ä¸æå¡å¨ä¹é´éä¿¡çæ¶åï¼æ°æ®éåºååä¹åç¨ä¼ å¼çæ¹å¼ä¼ è¾ã
æ¬å°è°ç¨ï¼JNDI lookup以localæ¹å¼è¿è¡è°ç¨ï¼æ¬å°è°ç¨å®¢æ·ç«¯ä¸æå¡å¨ä¹é´éä¿¡çæ¶åï¼æ°æ®ä¸éåºååï¼ç¨ä¼ åçæ¹å¼ä¼ è¾ã
客æ·ç«¯ä¸è®¿é®æ¹å¼
æ¬å°å®¢æ·ç«¯å¯ä»¥ç¨remoteæ¹å¼ä¹å¯ä»¥ç¨localæ¹å¼è®¿é®ä¼ä¸Beanãè¿ç¨å®¢æ·ç«¯åªå¯ä»¥ç¨remoteæ¹å¼ã
Demo
å建ä¸ä¸ªEJBProject
å®ä½ç±»ï¼
[java] view plain copy
/**
* è¦å¨ è¿ç¨å®¢æ·ç«¯åEJBä¹é´ä¼ è¾å¯¹è±¡ï¼è¿äºå¯¹è±¡å¿ é¡»æ¯å¯åºååçï¼å¦ææ¯æ¬å°å®¢æ·ç«¯å°±ä¸ç¨åºåå
* @author å®ç¬
*
*/
public class User implements Serializable{
private int id;
private String name;
public int getId() {
return id;
}
public void setId(int id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
å®ç°ç±»Beanï¼
[java] view plain copy
@Stateless
@Remote(UserManager.class)//è¿ç¨è°ç¨
@Local(UserManager.class) //æ¬å°è°ç¨
public class UserManagerBean implements UserManager {
public void saveUser(User user) {
System.out.println("User[name = " + user.getName() + "]å·²ç»è¢«ä¿å");
user.setId(10);
}
}
1.è¿ç¨å®¢æ·ç«¯è¿ç¨è°ç¨æµè¯
[java] view plain copy
public class RemoteEjbClient {
/**
* @param
*/
public static void main(String[] args) throws Exception {
InitialContext ctx = new InitialContext();
//è¿ç¨å®¢æ·ç«¯åªè½è°ç¨è¿ç¨æ¥å£
UserManager ejb = (UserManager)ctx.lookup("UserManagerBean/remote");
User user = new User();
user.setName("å¼ ä¸");
ejb.saveUser(user);
System.out.println("ç¨æ· " + user.getName() + "å·²ç»ä¿å ID = " +user.getId() );
}
}
ç»æï¼
2.æ¬å°å®¢æ·ç«¯æ¬å°è°ç¨æµè¯
å建ä¸ä¸ªJavaProject项ç®ï¼å¹¶æ项ç®é¨ç½²å°åä¸ä¸ªJBOSSä¸ãè¿æ ·çè¯å°±å±äºæ¬å°å®¢æ·ç«¯äºã
<%
InitialContext context=newInitialContext();
UserManageruserManager=(UserManager)context.lookup("UserManagerBean/local");
User use=new User();
use.setName("å¼ ä¸");
userManager.saveUser(use);
out.print("å¼ ä¸ç¨æ·ID为"+use.getId());
%>
ç»æï¼
è¿æ ·å¾å¥½çè¯æäºï¼å¦ææ¯è¿ç¨è°ç¨ï¼å®¢æ·ç«¯æ纵çBeançåæ°ï¼å
¶å®æ¯ä¸ä»½åæ°å¼çæ·è´ï¼å æ¤ï¼å¯¹åæ°çä¿®æ¹ï¼ä¸ä¼å½±åå°Beanãä½æ¯å¯¹äºæ¬å°è°ç¨æ¥è¯´ï¼å®¢æ·ç«¯æ纵çBeançåæ°ï¼å°±æ¯ä¸ä¸ªå¼ç¨ï¼å®å¯¹åæ°çä¿®æ¹ï¼å°ä¼å½±åå°Beanã