`
苹果超人
  • 浏览: 199865 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Local和Remote方式访问EJB

    博客分类:
  • java
ejb 
阅读更多
客户端访问EJB的方式有两种:Local,Remote。

Local访问方式:是指client和EJB运行在同一个JVM中。(eg.开发一个web client和    EJB,它们部署在同一个jboss中)。
Remote访问方式:是指client跟EJB不是运行在同一个JVM中。
注意:如果client要传实体类给Server,该类要实现serializable接口,因为Remote访问方式其实是通过socket去连接的,传递的对象要进行序列话。

另外一点注意的是:
在你部署通过Local访问方式的client时,可能会遇到如下错误:
EJB $Proxy72 cannot be cast to com.kevin.ejb.UserManager

这是因为你在同一个jboss中部署了EJB和client,如果你在该EJB里的接口打包引入到client中的话,jboss中就有了两个接口引用(一个是EJB的,另一个是client中的),导致了冲突。
解决方法一:把client中的JAR删除,重新部署一下就OK了。
解决方法二:修改jboss配置,如下:
将jboss-4.2.3.GA\server\default\deploy\jboss-web.deployer\META-INF的jboss-service.xml中的UseJBossWebLoader修改为true。
<!-- 让JBoss去加载类库,而不是让jboss下面的tomcat去加载 -->
      <attribute name="UseJBossWebLoader">true</attribute>

原因是这样的,jboss的web服务器是用的tomcat,默认情况下jboss会用jboss的classloader加载类库,而web应用是有tomcat的classloader加载类库。而修改该配置后,则由jboss的WebLoader加载类库。

附件包含了EJB,remote client和local client代码,有兴趣可以下载看看。
分享到:
评论

相关推荐

    Tomcat web工程 调用 JBOSS EJB local及remote源码

    Tomcat下web工程调用JBOSS部署的EJB项目 此源码包 包括local本地调用及remote远程调用 文档说明在http://blog.csdn.net/heardy/article/details/6906225

    实战EJB 实战EJB 实战EJB

    1. **定义接口**:包括`remote`和`local`接口。 2. **实现无状态会话Bean**:实现定义的接口。 3. **配置部署描述符**:使用`ejb-jar.xml`指定Bean类型和其他部署信息。 **部署到应用服务器** 1. **打包**:将Bean...

    javax.ejb.jar下载

    javax.ejb.Local.class javax.ejb.LocalBean.class javax.ejb.LocalHome.class javax.ejb.Lock.class javax.ejb.LockType.class javax.ejb.MessageDriven.class javax.ejb.MessageDrivenBean.class javax.ejb....

    Weblogic Ejb 学习笔记

    - Remote接口适用于远程客户端,Local接口适用于在同一应用内的通信。 6. **EJB的并发和事务** - WebLogic Server支持多线程访问EJB,通过设置bean的并发策略(如Synchronized或Unsynchronized)来控制并发行为。...

    EJB_TEST自己编写的EJB例子

    而`EJB_Romte.zip`可能包含了远程接口和实现,这是EJB允许远程访问的关键。EJB组件通常被打包成JAR文件,并在应用服务器(如JBOSS、WebLogic、GlassFish等)中部署。 **EJB的通信**: - **本地接口(Local ...

    javax.ejb.rar

    javax.ejb.Local.class javax.ejb.LocalBean.class javax.ejb.LocalHome.class javax.ejb.Lock.class javax.ejb.LockType.class javax.ejb.MessageDriven.class javax.ejb.MessageDrivenBean.class javax.ejb....

    WTC暴露ejb服务说明

    2. 设置Local Tuxedo Access Points:定义本地Tuxedo访问点,提供本机的网络地址和一个未被占用的端口号,使得Weblogic能够监听来自Tuxedo的请求。 3. 定义Remote Tuxedo Access Points:配置远程Tuxedo服务器的...

    EJB基础(学习EJB者必看)

    EJB技术还涉及接口和实现的分离,通过远程接口(Remote Interface)和本地接口(Local Interface)使得客户端可以透明地调用bean的方法。此外,EJB 3.0引入了注解(Annotations),简化了bean的配置,使得开发者可以...

    EJB3.0__EJB3.0

    `@Local`和`@Remote`注解分别用于声明本地和远程接口。本地接口在同一JVM内的调用,远程接口允许跨JVM的调用。在EJB3.0中,这两种注解使接口的使用更加灵活,无需传统的接口实现方式。 总的来说,EJB3.0简化了传统...

    Quartz,EJB资料

    在EJB 2.0版本中,提供了“本地”接口(Local Interface)和“远程”接口(Remote Interface)两种方式来访问EJB组件。 “本地”接口主要用于同一个Java EE应用内部的组件间通信,不需要进行网络调用,性能较高。而...

    ajax、spring、ejb试题

    在EJB 3.0中,Session Bean和Entity Bean的接口和配置方式得到了简化,增加了Local Home和Local接口,以及更灵活的注解方式。 【试题解析】 1. AJAX 术语是由 Adaptive Path 最先提出的。 2. Hotmail 不属于 Ajax ...

    EJB3+JPA开发总结

    在客户端可以通过`"alias/remote"`或`"alias/local"`这样的JNDI名称来访问SessionBean。 2. **使用JBoss特定的注解**:在JBoss环境中,可以使用`@RemoteBinding`和`@LocalBinding`注解来重命名SessionBean。 **...

    Idea搭建EJB架构Demo项目源代码

    4. **编写bean类**:创建EJB组件,定义接口和实现类,并使用注解如`@Remote`、`@Local`、`@Stateless`、`@Stateful`或`@MessageDriven`。 5. **部署和测试**:将项目打包为`.ear`文件,部署到服务器,然后进行单元...

    javax.ejb.jar

    javax.ejb.Local.class javax.ejb.LocalBean.class javax.ejb.LocalHome.class javax.ejb.Lock.class javax.ejb.LockType.class javax.ejb.MessageDriven.class javax.ejb.MessageDrivenBean.class javax.ejb....

    EJB学习

    3. **EJB接口和方法**:EJB通过接口暴露其服务,这些接口包括业务接口(Business Interface)、远程接口(Remote Interface)和本地接口(Local Interface)。业务方法定义了EJB提供的服务。 4. **EJB部署描述符**...

    ejb sample

    EJB通常有三个接口:远程接口(Remote)、本地接口(Local)和业务接口(Business)。远程接口允许远程客户端访问,本地接口仅限于同一JVM内的访问,业务接口定义了Bean的业务方法。 6. **事务管理**: EJB支持...

    EJB技术介绍.pdf

    为了定义客户端如何访问Enterprise Beans,EJB提供了远程访问(Remote Access)和本地访问(Local Access)两种方式: - **Remote Access**:允许远程客户端通过网络调用Enterprise Beans的方法,提供了更强的安全...

    精通EJB3.0 pdf

    例如,可以使用`@Stateless`、`@Stateful`和`@Singleton`注解来定义会话Bean的类型,使用`@Local`和`@Remote`注解来定义本地和远程接口,使用`@PersistenceContext`和`@PersistenceUnit`注解来处理数据持久化等。...

    ejb 入门的几个项目

    - Session Bean的Remote接口与Home接口适用于远程访问,Local接口与Local Home接口则适用于同一应用内部访问。 5. EJB 3.0之后的简化: - 从EJB 3.0开始,引入注解替代XML配置,使得EJB更易于使用。 - 注解如`@...

Global site tag (gtag.js) - Google Analytics