- 浏览: 3500501 次
- 性别:
- 来自: 北京
文章分类
最新评论
-
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 74147在java.lang包中有String.sp ... -
用 HttpServletResponseWrapper 实现 Etag 过滤器
2012-07-09 16:58 3757原文出处:http://blog.chenlb.com/200 ... -
Fitnesse使用
2012-05-05 13:27 23491Fitnesse 的使用 一,介绍 Fitnesse是一种 ... -
Customizing the new FitNesse parser
2012-05-05 13:13 2133FitNesse began its life using ... -
java application中内嵌ActiveX控件
2011-11-14 15:57 5516我这里用的是SWT/JFace开发application,SW ... -
Google Java Developer Tools Downloads
2011-08-09 00:04 2346WindowBuilder Pro原来叫WindowB ... -
Jalita
2011-08-06 00:49 1565Jalita (Java light terminal ada ... -
【转】用Java写字符终端界面
2011-07-29 13:13 2120终端界面GUI开源项目charva。 这个框架让你可以用开发 ... -
[转]mybatis下的分页,支持所有的数据库
2011-07-21 13:21 14838大 家都知道,mybatis的自带分页方法只是逻 ... -
Java framework for text- & console-based forms?
2011-07-21 01:06 1709charva jcurses JNA , ... -
JNA(Java Native Access)学习入门
2011-07-21 01:04 22610Java Native Access 项目 在 ... -
JAVA上加密算法的实现用例
2011-06-25 12:38 4882来源:www.ibm.com ... -
如何将GlassFish作为Windows服务运行
2011-05-18 23:21 2370本文档来自GlassFish官方网站,详细介绍了将 G ... -
JAVA UDP打洞必备知识点---NAT
2011-05-05 12:56 8685一、引言 RFCl631 ... -
Keystore概念,Keytool工具使用
2011-04-28 16:20 2902近来由于项目需要做Single Sign On, 研究了一 ... -
利用Eclipse Profile Plugin监控分析Tomcat性能
2011-04-18 16:14 3700目前新版本的Eclipse在启动应用服务器的时候有一个新的选 ... -
m2eclipse: Eclipse is running in a JRE, but a JDK is required
2011-02-04 23:43 2537Eclipse 安装了Maven插件,启动Eclipse ... -
利用JNative实现Java调用动态库
2010-10-18 00:43 2099由于项目要求,需要用J ... -
RHEL5支持大内存
2010-10-08 16:19 3002安装 RHEL 5 ,硬件为 4G 内存,安装完成 ... -
Windows Server 2003 和 Windows 2000 提供大内存支持
2010-10-08 16:19 1854本文介绍物理地址扩展 ...
相关推荐
WebLogic Server是Oracle公司的一款...总结,WebLogic Server中的EJB配置涉及多个层面,包括EJB组件的编写、打包、部署以及性能优化。理解并熟练掌握这些步骤和最佳实践,有助于开发出高效、可靠的Java EE企业级应用。
- 创建一个Action类继承自`org.apache.struts.action.Action`,在这个类中实现具体的EJB调用逻辑。 4. **JNDI查找与远程调用** - 使用JNDI(Java Naming and Directory Interface)进行查找和获取EJB的远程接口...
总结起来,Weblogic + EJB3.0的组合提供了一个强大而简化的企业级开发环境。EJB3.0的注解驱动和JavaBean模型降低了开发复杂性,使得开发人员能够更快速地构建和部署分布式应用程序。在Weblogic服务器上,这些组件...
- WebLogic Server提供基于角色的访问控制(RBAC),EJB可以定义安全角色,并在部署描述符中指定哪些用户或组可以访问特定的EJB方法。 9. **WebLogic Server集群和EJB** - 在集群环境中,EJB可以实现负载均衡和...
在本文中,我们将深入探讨如何在WebLogic环境中部署EJB 2.0,特别是实现本地接口的Session Bean。 EJB 2.0是Java EE早期版本中的组件模型,用于构建可复用、分布式的企业级服务。它定义了三种主要类型的Bean:...
每个会话Bean都需要一个远程接口,用于定义客户端可以通过网络调用的方法。示例代码中定义了一个名为`CompanyRemote`的接口: ```java package com.earth; import javax.ejb.Remote; @Remote public interface ...
通过以上步骤,开发者可以在WebLogic 11g上发布和管理EJB3.0应用,同时也能轻松地从客户端项目中调用这些EJB服务。EJB3.0的简洁性和易用性使得开发人员能更专注于业务逻辑,而不是底层基础设施。
在这个"Weblogic11g+EJB3的小例子"中,我们可以看到以下几个关键知识点: 1. **EJB3核心概念**: - **实体Bean(Entity Bean)**:代表业务数据模型,通常与数据库中的表进行映射。EJB3引入了JPA(Java ...
3. **EJB生命周期**:创建、初始化、查找、调用方法、销毁等过程。 4. **JNDI查找**:使用Java Naming and Directory Interface(JNDI)查找并访问EJB组件。 5. **事务管理**:EJB支持自动事务处理,如PROPAGATION_...
**ejb调用详解** EJB(Enterprise JavaBeans)是Java EE平台中用于构建企业级分布式应用程序的核心组件。本文将深入探讨如何在WebSphere环境中远程调用EJB组件,同时介绍ejb3.0版本的一些关键特性,以及 ejb 开发...
总结起来,EJB和WebLogic的结合是构建大型企业系统的关键技术,它允许开发者专注于业务逻辑,同时享受Java EE平台带来的各种便利。深入学习和实践这个主题,将有助于提升Java EE应用的开发和管理能力。
在本文中,我们将深入探讨如何使用Eclipse IDE与WebLogic Server 10.x版本结合,开发基于EJB 3.0规范的应用程序。EJB(Enterprise JavaBeans)是Java EE平台的核心组件,用于构建可扩展、可靠且安全的企业级应用程序...
WebLogic数据源调用是Java应用在WebLogic服务器上与Oracle数据库交互的关键...总的来说,理解并掌握WebLogic数据源的调用方法对于开发在WebLogic上运行的Java应用至关重要,它能确保应用与数据库之间的高效、稳定通信。
总结来说,创建一个简单的WebLogic EJB项目涉及以下步骤: 1. 安装和配置WebLogic Server。 2. 在IDE中创建Java EE项目,包含EJB模块。 3. 编写EJB接口和实现,定义业务逻辑。 4. 配置部署描述符,声明EJB组件。 5. ...
### WebLogic 6.0中EJB的使用详解 #### 一、概述 EJB(Enterprise JavaBeans)是Java EE规范中的一个重要组成部分,主要用于构建分布式企业应用中的业务逻辑层。本文将详细介绍如何在WebLogic 6.0服务器环境中部署...
总结来说,Weblogic EJB的学习需要理解EJB的基本概念,掌握不同类型的bean及其特点,熟悉配置描述器的使用,以及如何在Weblogic环境中管理和控制事务。这些都是开发企业级Java应用程序的关键技能。在实际应用中,...
- 在调用`ejb.create()`方法之前,需要先设置`UserTransaction`。 - 通过`UserTransaction`可以调用`begin()`、`commit()`和`rollback()`方法来管理事务边界。 ##### 3. 实体Bean (Entity Bean) 实体Bean用来...
这种集成允许WebLogic应用程序调用Tuxedo服务,同时也支持Tuxedo调用WebLogic中的Enterprise JavaBeans (EJBs)。 **一、环境配置** 1. **服务端**:在这个例子中,服务端运行在Asianux release 2.0操作系统上,...
### WebLogic + MyEclipse + EJB:构建企业级应用 #### 一、WebLogic简介与安装配置 ##### 1.1 WebLogic简介 WebLogic Server 是一款功能强大的企业级应用服务器,由Oracle公司开发并维护。它支持多种标准协议和...