精华内容
下载资源
问答
  • EJB 3

    2008-06-17 14:58:22
    Manning EJB 3
  • EJB3

    千次阅读 2014-11-01 18:18:14
    Ejb概念 Ejb3.0定义了很多Annotation,覆盖了众多与持久化相关的概念,比如Bean的类型,依赖注入,事务管理,安全,回调,O-R映射,关系等等   Ejb的几个特性 依赖注入(DI) 通过定义@Inject,@EJB,@Resource...

    Ejb概念

    Ejb3.0定义了很多Annotation,覆盖了众多与持久化相关的概念,比如Bean的类型,依赖注入,事务管理,安全,回调,O-R映射,关系等等

     

    Ejb的几个特性

    依赖注入(DI

    通过定义@Inject@EJB@Resourceannotation,这些依赖关系现在可以由容器来注入到EJB

    可选的回调机制

           开发者们现在可以仅仅实现他们感兴趣的那些回调方法了,通过定义@PostConstruct@PreDestroy@PrePersist或者PostPersist。开发者们可以映射任何JavaBean或者回调类得方法,让他们接收这些文件

    简化的持久化模型和改良的查询

    可以脱离容器使用

    什么情况下需要企业Bean

           企业Bean运行在Ejb容器中,企业Bean实际上就是一个封装了业务逻辑的java

    Why Ejb

    最重要的理由:分布式!分布式对象之间互相协作,完成特定的业务功能,分布式对象之间应实现分布透明性(或者位置透明性),即在客户端代码中无需指定分布式对象的位置(通过配置来解决)

    部署的服务放在不同的机器上,在互相的协作上,支持事务

    分布式对象之间的事务支持(RMI不支持)远程方法调用

           应用程序需要支持不同客户端,只需要少量的代码,就可以让远程客户端访问到企业Bean,如果你的应用需要进行分布式部署,如果你的分布式对象需要支持事务,如果你的关键逻辑需要能够支持多种不同类型的客户端,那么Ejb将会是一个很好的选择.当在开发企业Bean之前,首先要做的第一个决定是:Ejb要支持什么样的客户端

    远程客户端:客户端和其调用的Ejb对象不在一个JVM进程中

    本地客户端:客户端和其调用的Ejb对象在一个JVM进程中WebService客户端

    远程方式:客户端与服务器之间通讯时,数据需要序列化之后用传值的方式传输

    本地方式:客户端与服务器之间通讯时,数据直接用传址的方式传输

     

    分布式对象之间的事务支持

    会话bean(Session Bean)

    即从客户端获得Ejb对象开始,然后调用Ejb方法(可以多次),直到客户端生命周期结束,或者客户端释放了Ejb对象为止,成为一次会话,随着会话的终止,Ejb对象也有可能被Ejb容器销毁

    什么叫有状态的会话Bean

                  Ejb能够为同一个客户端在多次请求之间保持状态信息

     

    针对不同的客户端,服务器提供的原理不一样,不同的客户端,造成的性能不一样

    新建Ejb项目过程

    下载jboss解压在D

    启用myeclipse8.0,加载jboss

    新建一个Ejb工程(服务端)

    新建一个java工程(客户端),然后引入D:\jboss-4.2.3.GA\client的所有jar包和Ejb工程的接口包,在src目录下新建jdni.properties文件,内容如下

    java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory

    java.naming.factory.url.pkgs=org.jboss.naming:org.jnp.interfaces

    java.naming.provider.url=localhost

     

    案例1,有状态的会话Bean和无状态的会话Bean的区别

           有状态会话bean :每个用户有自己特有的一个实例,在用户的生存期内,bean保持了用户的信息,即有状态;一旦用户灭亡(调用结束或实例结束),bean的生命期也告结束。即每个用户最初都会得到一个初始的bean

    无状态会话bean bean一旦实例化就被加进会话池中,各个用户都可以共用。即使用户已经消亡,bean 的生命期也不一定结束,它可能依然存在于会话池中,供其他用户调用。由于没有特定的用户,那么也就不能保持某一用户的状态,所以叫无状态bean。但无状态会话bean 并非没有状态,如果它有自己的属性(变量),那么这些变量就会受到所有调用它的用户的影响,这是在实际应用中必须注意的。

    赞同

    案例2,远程客服端和本地客户端的区别

    客户端跟调用Ejb对象是否在同一个 JVM进程里面

    访问方式:传值还是传引用

    远程访问方式:表示通过socket连接,进行系列化,实现serializable接口进行传输

    本地访问方式:因为ejb对象和客户端是在同一个进程里面,他们使用的是同一块内存,所以他们传递参数是引用

    本地客户端:

    |

    远程客户端:

     

    案例3,一个ejb实现多个接口,ejb组件需要适合不同客户端需要。

    设计不同接口,设计思想要避免胖接口,例如需要用远程访问接口,同时也需要用本地访问接口。给ejb定义类型,例如@stateless。注解是怎么定义的,参考ejb3.0规范,注解放在类得前面。在java运行时,通过java的反射机制就可以得到这个类的前面定义的是什么的注解

    案例4,  Ejb第三种类型bean.MDB 消息驱动bean

           通过Jms消息驱动执行的beanJmsjava异步编程服务

           Java消息服务:客户端与客户端的消息是通过中间的服务器传输的,消息的发出和接收是不同步

    p2p模型:

    P2P模型中,有下列概念:消息队列(Queue)、发送者(Sender)、接收者(Receiver)。每个消息都被发送到一个特定的队列,接收者从队列中获取消息。队列保留着消息,直到它们被消费或超时。

          

    l  每个消息只有一个消费者(Consumer)(即一旦被消费,消息就不再在消息队列中)

    l  发送者和接收者之间在时间上没有依赖性,也就是说当发送者发送了消息之后,不管接收者有没有正在运行,它不会影响到消息被发送到队列。

    l  接收者在成功接收消息之后需向队列应答成功

    如果你希望发送的每个消息都应该被成功处理的话,那么你需要P2P模型。一卡通:刷卡量大,很多信息需要传到各个在线终端,终端处理能力有限,接收信息不需要同步,所以可以采用p2p模型

     

     

    pub/sub模型:

          

    Pub/Sub模型中,有下列概念:主题(Topic)、发布者(Publisher)、订阅者(Subscriber)。客户端将消息发送到主题。多个发布者将消息发送到Topic,系统将这些消息传递给多个订阅者。

    l  每个消息可以有多个消费者

    l  发布者和订阅者之间有时间上的依赖性。针对某个主题(Topic)的订阅者,它必须创建一个订阅之后,才能消费发布者的消息,而且,为了消费消息,订阅者必须保持运行的状态。

    当然,为了缓和这种严格的时间相关性,JMS允许订阅者创建一个可持久化的订阅。这样,即使订阅者没有被激活(运行),它也能接收到发布者的消息。

           如果你希望发送的消息可以不被做任何处理、或者被一个消费者处理、或者可以被多个消费者处理的话,那么可以采用Pub/Sub模型

    聊天室,某个客户端把消息发给服务器,服务器就把消息发给所有的客户端

     

    消息的消费

    JMS中,消息的产生和消费是异步的。对于消费来说,JMS的消费者可以通过两种方式来消费消息。

    l  同步订阅者或接收者调用receive方法来接收消息,receive方法在能够接收到消息之前(或超时之前)将一直阻塞。

    l  异步订阅者或接收者可以注册为一个消息监听器。当消息到达之后,系统自动调用监听器的onMessage方法。

     

    案例5Web Service

    无状态的ejb才可以发布为webservice,方法前面要加@webMethod注解,类前面要加@webService注解

    传递方式,是通过soap格式传输,传递的是html

    展开全文
  • EJB3教程 EJB3教程

    2010-07-10 22:40:33
    EJB3教程 EJB3教程 EJB3教程 EJB3教程
  • 绍EJB2和EJB3的架构异同
  • EJB3实例教程EJB3实例教程EJB3实例教程EJB3实例教程EJB3实例教程EJB3实例教程EJB3实例教程EJB3实例教程
  • EJB3.pdf EJB3 文档 资料

    2009-04-01 21:21:46
    EJB3.pdf EJB3 文档 资料 EJB
  • EJB 3实战 带书签

    2018-12-02 00:00:57
    本书是公认的EJB 3权威著作,详细介绍了使用EJB 3进行企业级开发的方方面面,包括EJB 3基础、使用EJB 3构造业务逻辑、Java持久化API、EJB 3的实际应用、移植性和互操作性等等。
  • ejb3中文教程ejb3中文教程ejb3中文教程
  • EJB3实战——Java

    2016-05-04 12:34:12
    实战、实战、EJBEJBEJB 3EJB 3
  • EJB3实例教程

    2017-07-21 10:53:51
    手把手教你如何用ejb3开发。简单易学。
  • JBoss EJB 3扩展API 该项目提供了JBoss EJB 3的扩展API。
  • EJB3 原码

    2008-04-03 23:27:19
    EJB3 原码EJB3 原码EJB3 原码
  • Ejb3Unit-开源

    2021-04-24 12:19:03
    Ejb3Unit-容器外EJB 3.0测试。 Ejb3Unit是一个JUnit扩展,可以对所有JEE或Ejb3项目执行自动化的独立junit测试。 容器外方法可缩短构建测试周期,无需部署容器。 公告:jp-mobile和Ejb3unit将开始移动,请访问jp-...
  • EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)EJB3(中文版)
  • ejb3 带源码

    2012-11-24 13:39:20
    Mastering+EJB3 EJB3+IN+ACTION Beginning+EJB3+Application+Development
  • EJB3实例教程 是一个教程 EJB3实例教程 是一个教程 EJB3实例教程 是一个教程
  • EJB3的三本好书之三,也很不错的一本ejb3的书籍,是英文版,附带源代码,这本书的好处是与Mastering EJB 3ed有一定的继承性,可以对比来看. 3本书的地址 1. Beginning EJB3 Application Development From Novice to ...
  • EJB 3实战.pdf

    热门讨论 2012-11-19 10:48:02
    EJB 3实战》是公认的EJB 3权威著作,详细介绍了使用EJB 3进行企业级开发的方方面面,包括EJB 3基础、使用EJB 3构造业务逻辑、Java持久化API、EJB 3的实际应用、移植性和互操作性,等等。基于现实场景,《EJB 3实战...
  • EJB3应用实例

    2014-07-31 14:03:28
    JBOSS7+EJB3,service部署到JBOSS
  • EJB3checker-开源

    2021-04-24 23:16:50
    EJB3checker是用于EJB 3.0技术的静态代码分析套件。 它检查实体和会话Bean的注释和声明的正确组合。
  • EJB3入门例子

    2012-04-27 09:36:07
    EJB3入门例子,jboss5+EJB3+myEclipse
  • ejb3中文版

    2012-08-31 14:24:23
    ejb3中文版
  • ejb3 tutorial

    2009-11-24 09:33:32
    EJB3 Tutorial Source Code Helpful!
  • EJB3 facts

    2008-09-03 00:01:15
    key points of EJB3; a useful outline of all EJB3 facts
  • EJB3开发Entity

    2010-07-22 10:13:01
    EJB3开发Entity EJB3开发Entity
  • EJB3指南

    2008-04-26 12:55:58
    EJB3指南,基本的EJB3.0入门
  • ejb3入门

    2008-01-18 23:19:43
    javaee ejb3学习
  • ejb3 教程 集合 pdf

    2010-10-21 15:03:17
    ejb3ejb3ejb3ejb3ejb3 教程集合,包含3份电子教程
  • ejb3资料

    2008-07-22 23:07:11
    很好得 ejb3资料
  • 详细介绍了EJB3中关于实体bean的增删改查等操作,并给出了多种示例,非常详细。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 140,827
精华内容 56,330
关键字:

ejb3