`
苹果超人
  • 浏览: 195208 次
  • 性别: 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

    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....

    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....

    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....

    eclipse + JBoss 5 + EJB3开发指南

    [7] 建立 HelloWorld Stateless Session Bean 及 Local, Remote interfaces: 19 [8] 建立客户端测试程序: 20 [9] 使用 ANT 建立 EJB-JAR 并执行 Client 程序: 20 MyEclipse EJB 3.0 Tutorial 22 Table of ...

    EJB3.0 实例教程 -- 切片1

    作者对EJB3.0 接触的时间很短,所以一些新的概念和知识理解也难免有误,有些概念和语义把握的不是很准, 希望在这方面有经验和了解的朋友批评指正,欢迎多提意见。 因为 JBOSS EJB3.0产品常未成熟,本教程随着新产品...

    EJB 3.0学习之实体Bean

    在EJB3.0中开发实体Bean非常简单,你可以象开发一般的java bean一样编程,只需做少量的注释。一个实体bean不需要实现Home接口或者Remote、Local接口。

    EJB3.0 实例教程 -- 切片2

    4.1.3 开发存在Remote与Local接口的无状态Session Bean ...17 4.2 STATEFUL SESSION BEANS(有状态BEAN)开发20 4.3 STATELESS SESSION BEAN与STATEFUL SESSION BEAN的区别...22 4.4 如何改变SESSION BEAN的JNDI ...

    EJB葵花宝典(题集)

    3.4.2Remote接口 20 3.4.3Local接口 21 3.4.4Bean类 22 3.4.5远程客户 23 3.4.6本地客户 24 3.5Stateful SessionBean(有状态会话Bean) 25 3.6State(状态) 26 3.6.1无状态 26 3.6.2有状态 27 3.6.3效果 27 4消息...

    EJB3.0实例教程

    4.1.3 开发存在Remote与Local接口的无状态Session Bean ...............................................................................17 4.2 STATEFUL SESSION BEANS(有状态BEAN)开发.........................

    J2EE程序设计复习题.doc

    J2EE程序设计复习题 1. 选择题 1. EJB是: [B] A. 服务器端产品 B.... Remote interface D. Primary key class E. Local home interface F. Local interface G. ejb-jar.xml H. application.xml I. Bean class 5.

    J2EE中文版指南 CHM格式 带全文检索

    方法参数和访问方式 50 数据访问粒度 50 6,企业Bean的“内容” 51 7,企业Bean的命名约定 51 8,企业Bean的生存周期 52 有状态会话Bean的生命周期: 52 无状态会话Bean的生命周期 54 EntityBean的生命周期 54 ...

    JEEProjectStructure:具有推荐结构的 Java EE 项目

    JEE项目结构 具有推荐结构的 Java EE 项目 ... sample-ejb-service:具有@Local 和@Remote 接口的 EJB 服务,以及一个嵌入的本地客户端 sample-ejb-client:调用sample-ejb-service的@Remote接口的远程客户端

    超级有影响力霸气的Java面试题大全文档

    但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理, EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 24、...

    java 面试题 总结

    但EJB必须被布署在诸如Webspere、WebLogic这样的容器中,EJB客户从不直接访问真正的EJB组件,而是通过其容器访问。EJB容器是EJB组件的代理,EJB组件由容器所创建和管理。客户通过容器来访问真正的EJB组件。 21、...

    Java Web Services

    Java Web Services shows you how to use SOAP to perform remote method calls and message passing;how to use WSDL to describe the interface to a web service or understand the interface of someone else's ...

    java web services

    Java Web Services shows you how to use SOAP to perform remote method calls and message passing; how to use WSDL to describe the interface to a web service or understand the interface of someone else's...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.7. 编程方式创建@AspectJ代理 6.8. 在Spring应用中使用AspectJ 6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的...

Global site tag (gtag.js) - Google Analytics