- 浏览: 3473483 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
wanglf1207:
EJB的确是个不错的产品,只是因为用起来有点门槛,招来太多人吐 ...
weblogic-ejb-jar.xml的元素解析 -
qwfys200:
总结的不错。
Spring Web Flow 2.0 入门 -
u011577913:
u011577913 写道也能给我发一份翻译文档? 邮件437 ...
Hazelcast 参考文档-4 -
u011577913:
也能给我发一份翻译文档?
Hazelcast 参考文档-4 -
songzj001:
DbUnit入门实战
1、客户端程序中调用EJB
前提:EJB要实现了REMOTE接口
客户端调用的代码可以用EJB Test Client工具生成。自己写就是这个样子:
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context context= new InitialContext(properties);
Object ref = context.lookup("DigestSessionBean"); //通过ejb的JNDI name查找到EJBHome对象
DigestSessionHome digestSessionHome = (DigestSessionHome) PortableRemoteObject.narrow(ref,
DigestSessionHome.class);//得到EJBHome
DigestSession digestSession = digestSessionHome.create();//得到EJBObject
byte[] ret = digestSession.md5(temp.getBytes());//ejb方法调用
2、SERVLET中调用EJB
前提:被调用的EJB实现了REMOTE接口
在Servlet中,调用的代码应该是这个样子:
try {
Context context = new InitialContext();
Object ref = context.lookup("UserFacade");
//look up jndi name and cast to Home interface
UserFacadeHome userFacadeHome = (UserFacadeHome) PortableRemoteObject.
narrow(ref, UserFacadeHome.class);
UserFacade userFacade = userFacadeHome.create();
userFacade.updateUser("002","老二");
}
catch (Exception ex) {
ex.printStackTrace();
}
跟客户端程序中调用EJB的差别是在Context的生成上,servlet中直接用
Context context = new InitialContext();
而客户端程序中是用
Properties properties = new Properties();
properties.put(Context.INITIAL_CONTEXT_FACTORY,"weblogic.jndi.WLInitialContextFactory");
properties.put(Context.PROVIDER_URL, "t3://localhost:7001");
Context context= new InitialContext(properties);
3、EJB中调用其他的EJB(同一EJB模块)
前提:
(1)被调用者实现了LOCAL接口,调用者则实现了REMOTE接口
(2)调用者和被调用者应该在同一EJB模块打包文件(jar)內
(3)调用者的部署描述(ejb-jar.xml)中有关于Local ref的描述,如下所示:
<session>
<display-name>UserFacade</display-name>
<ejb-name>UserFacade</ejb-name>
<home>ejbtest.test.UserFacadeHome</home>
<remote>ejbtest.test.UserFacade</remote>
<ejb-class>ejbtest.test.UserFacadeBean</ejb-class>
<session-type>Stateless</session-type>
<transaction-type>Container</transaction-type>
<ejb-local-ref>
<ejb-ref-name>ejb/user</ejb-ref-name>
<ejb-ref-type>Entity</ejb-ref-type>
<local-home>ejbtest.test.UserHome</local-home>
<local>ejbtest.test.User</local>
<ejb-link>User</ejb-link>
</ejb-local-ref>
</session>
在调用者中,调用的程序代码应该是下面的样子:
package ejbtest.test;
import javax.ejb.SessionBean;
import javax.ejb.SessionContext;
import javax.ejb.CreateException;
import javax.ejb.*;
import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import java.rmi.RemoteException;
public class UserFacadeBean
implements SessionBean {
SessionContext sessionContext;
private UserHome userHome;
private static Context context;
public void ejbCreate() throws CreateException {
}
public void ejbRemove() {
}
public void ejbActivate() {
}
public void ejbPassivate() {
}
public void setSessionContext(SessionContext sessionContext) {
System.out.println("@@@@@@@@@@@@@@@@ UserFacadeBean.setSessionContext()");
this.sessionContext = sessionContext;
try {
findUserHome();
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
private void findUserHome() throws Exception {
final String ENTITY_NAME = "java:comp/env/ejb/user";
context = new InitialContext();
if (userHome == null) {
try {
Object object = context.lookup(ENTITY_NAME);
userHome = (UserHome) object;
}
catch (Exception e) {
throw new EJBException(e.getMessage());
}
}
}
public void addUser(String id, String name) throws RemoteException {
try {
User user = userHome.create(id);
user.setName(name);
}
catch (Exception ex) {
throw new RemoteException(ex.getMessage());
}
}
}
4、EJB中调用其他的EJB(不同的EJB模块)
前提:被调用者实现了REMOTE接口
最简单的方法是按客户端程序(或者SERVLET)中调用EJB的方法。
发表评论
-
字符串分割--java中String.split()用法
2013-03-06 14:25 74097在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3709原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23425Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2093FitNesse began its life using ... -
java application中内嵌ActiveX控件
2011-11-14 15:57 5468我这里用的是SWT/JFace开发application,SW ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2309WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1525Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2083终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14789大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1676charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22527Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4839来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2317本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8611一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2866近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3672目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2512Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2061由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 2954安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1819本文介绍物理地址扩展 ...
相关推荐
tomcat 调用weblogic EJB tomcat 调用weblogic EJB
主要讲解了如何远程调用websphare中的ejb组建,以及ejb开发实例,ejb开发框架等
的无状态会话bean: 多次和一次调用的结果和效应相同。 在集群中可以负载均衡 a 机器失败,可以在b机器上重试 非等?的无状态会话bean: 如:计数器 不能自动因故障而进行切换。
中文名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 原名: 经典Java EE企业应用实战--基于WebLogic/JBoss的JSF+EJB 3+JPA整合开发 作者: 李刚 资源格式: PDF 版本: 第一版 出版社: 电子...
EJB实践的服务器是用SUN的服务器,也有用weblogic的一些例子。包里还包括EJB调用EJB、连接数据库、命令行布署EJB等总结。另外,还包括对Jasmine购物系统的分析及总结。是学习EJB很好的总结。
Weblogic端客户通过调用TOUPPER EJB来获取这个服务。 TOLOWER:一个weblogic server端的EJB实现的服务。可被tuxedo端客户调用。 本例包含以下两个域: TDOM2:weblogic使用的域 TDOM1:tuxedo使用的域
第六章 远程方法调用和分布式命名 第七章 使用 Java 消息服务进行企业消息传递 第八章 使用会话企业 JavaBean 第九章 实体 EJB 第十章 使用消息驱动 EJB 第十一章 使用 WebLogic Server JavaMail 连接 Internet 邮件...
目前,通过WTC来调用tuxedo服务,这种技术已经比较成熟。但是反过来却在公司内部还未曾使用过。即,通过tuxedo来调用weblogic的ejb服务。
在电信,银行,金融等领域广泛应用,通常由tuxedo处理系统的核心业务,weblogic将业务应用扩展到internet平台,实现电子商务,由weblogic调用tuxedo的服务或者由tuxedo的服务调用通过weblogic部署的ejb,所以tuxedo与...
全书共分为18章,每章分别对应于使用J2EE和WebLogic Server开发Web应用程序的各个阶段,并且都围绕特定的Java Enterprise技术来组织,包括模型-视图-控制器设计模式、JDBC数据库连接、远程方法调用、JMS、EJB、Java-...
本人闲来研究了EJB的技术。编写了Ejb技术的所有实例bean,供有兴趣学习Ejb... 本Ejb运行环境:jdk1.42 + weblogic 8.1. 如有问题,请联系我,chtboss@21cn.com.如有好的建议,也指大家指教。 另:解压密码:898989
全书共分为18章,每章分别对应于使用J2EE和WebLogic Server开发Web应用程序的各个阶段,并且都围绕特定的Java Enterprise技术来组织,包括模型-视图-控制器设计模式、JDBC数据库连接、远程方法调用、JMS、EJB、Java-...
Tuxdeo调用Weblogic时接收Tuxedo请求的EJB示例程序,详细说明参见http://blog.csdn.net/f4761
它是基于Java的远程方法调用(RMI)技术的,所以EJB可以被远程访问(跨进程、跨计算机)。但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB...
全书共分为18章,每章分别对应于使用J2EE和WebLogic Server开发Web应用程序的各个阶段,并且都围绕特定的Java Enterprise技术来组织,包括模型-视图-控制器设计模式、JDBC数据库连接、远程方法调用、JMS、EJB、Java-...
如果调用EJB组件方法的客户端应用处于事务过程中,则调用组件商务方法时原有事务过程挂起,直至组件方法运行结束; 5.Supports:组件方法必须处于事务范围内。如果调用组件商务方法的客户端不处于事务过程中,则EJB...
简单的java实现的无状态EJB应用,并在weblogic上发布,包括了调用方式
该文档详细的介绍了在eclipse的IDE中开发ejb应用程序,并有web应用程序调用