定义客户端访问接口:
1.回顾:有状态的EJB每次都是一个新的,可以区分客户端状态,无状态的EJB可

以看成是单例的
2.客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(跟具体实现无关)
3.当在开发企业Bean之前,首先要做的第一个决定是:EJB要支持什么样的客户

端?因为不同的客户端,其访问方式也将不同.访问的方式也会影响性能,分布式

的系统一定要考虑性能;
  远程客户端
  本地客户端
  WebService客户端
  这些客户端是相对于EJB来讲的;客户端可以是:EJB,WebService客户端
4.EJB写好之后都有客户端来调用它;
5.关于JVM进程问题
  假设在同一台机器上,安装了一个JVM,一个JBOSS应用服务器,
  a.启动JBOSS应用服务器(启动JBOSS当然要用到JVM)
  b.另外编写一个包含main方法的JAVA类,并编译以及运行(要运行这个程序,

当然也要用到JVM)
  c.在运行这个JAVA类的时刻,这台机器上有多少个JVM进程;
    启动jboss的时候,会有jvm进程,在运行java程序的时候,还会有jvm进程;
    在这台机器中有一个jvm程序,但是有两个进程,一个进程代表一个内存空

间;在进程之间是不可以相互调用的,必须通过socket等来沟通.
  d.远程客户端:一个进程中可能有很多对象;JBOSS会加载EJB到内存;
    在一个客户端中调用远程的一个EJB,对于applicationClient,
    如果客户端进程和执行EJB对象的进程不是一个进程的话,那么这个客户端

就是远程客户端;
  e.本地客户端:启动EJB的时候,如果有两个EJB,并且一个EJB可以调用另一个

EJB,那么就是本地客户端,或者是一个servlet等等,可以调用这个EJB,那

么,也就是说两个对象在同一个进程中,那么这样就是本地客户端;
  f.远程客户端和本地客户端的区别是:是否在同一个进程中;
6.远程客户端:一个远程客户端具有如下特性:
            a.它可以运行在跟企业Bean不同的机器或不同的JVM进程上
            b.它可以是web组件,应用客户端,或其他的企业Bean
            c.对远程客户端来说,企业Bean的位置是透明的
            d.为了创建一个能够被远程客户端访问的企业Bean,必须要用

@Remote注解来定义这些企业Bean
7.本地客户端:一个本地客户端具有如下特性:
           a.它必须是与企业Bean运行在同一个JVM中
           b.它可能是一个web组件或别的企业Bean
           c.为了创建一个能够被本地访问的企业Bean,必须要用@Local注解

来定义这些企业Bean
           d.一个企业Bean接口可以同时被定义为@Remote和@Local

EJB3.0学习笔记---定义客户端访问接口:相关推荐

  1. EJB3.0学习笔记---多接口的时,实现类处理方法:

    EJB学习笔记--- 1.胖客户端:指的是定义的接口太多了,接口做的工作太多; 胖接口: 2.EJB实现类型的定义,用注解的方式,当一个EJBbean,实现了多个接口的时候, 需要用注解的方式指明哪一 ...

  2. EJB3.0学习笔记---MDBbean--区分P2P模式和Pub/Sub模式的示例

    1.注意在写MDB程序的时候,如果是使用的P2P方式的话,可能你写了多个同样的MDBbean,但是   只会有一个MDBbean被调用,至于是哪一个被调用是随机的,这时候其他的将不会起作用; 一个消息 ...

  3. EJB3.0学习笔记---MDB--第一个MDBBean程序:

    第一个MDBBean程序: P2P方式传递消息: 1.创建EJB项目:EJBTestP2P_05 2.在com.credream.ejb包下: MyQueueMDBBean.java package ...

  4. EJB3.0学习笔记---Bean实现多个接口的情况下定义,访问方式:

    2.EJB实现类型的定义,用注解的方式,当一个EJBbean,实现了多个接口的时候, 需要用注解的方式指明哪一个接口是用Remote方式访问,哪一个接口使用 local方式访问 3.实现多个接口的情况 ...

  5. C#3.0学习笔记(8)浅谈接口interface

    1, 接口的定义? 答:接口表示一组函数成员而不实现成员的引用类型,类和结构可以实现接口. 2, 接口的意义及为什么要使用接口? 要理解接口的意义以及为什么它是有用的,让我们先来看看下面的代码,它接受 ...

  6. EJB3.0学习笔记---理解远程调用服务端和本地调用服务端的区别

    项目目的:理解远程调用服务端和本地调用服务端的区别 1.异常:       javax.ejb.EJBException: Local and Remote Interfaces cannot hav ...

  7. EJB3.0学习笔记---第一个EJB程序:

    第一个EJB程序: 开发服务端程序: 1.新建一个EJB project:EJBTest_01 2.在src下建包:com.credream.ejb 3.写接口:FirstEjb.java   pac ...

  8. EJB3.0学习笔记--第一个EJB程序:

    第一个EJB程序: 开发服务端程序: 1.新建一个EJB project:EJBTest_01 2.在src下建包:com.credream.ejb 3.写接口:FirstEjb.java   pac ...

  9. EJB3.0学习笔记--SOAP-AXIS--深入Soap引擎

    1.SOAP: 简单对象访问协议,简单对象访问协议(SOAP)是一种轻量的.简单的.基于 XML 的协    议,它被设计成在 WEB 上交换结构化的和固化的信息. SOAP 可以和现存的许多因特网 ...

最新文章

  1. AI与基因科学的对话:从“人工智能”到“动物智能”
  2. CodeForces 66C Petya and File System (实现)
  3. java 学习(一)冒泡排序
  4. Java:自定义异常处理类
  5. python字符串标签转化_如何在TensorFlow中将字符串标签转换为一个热向量?
  6. ionic android绝对定位,Safari中的CSS故障与Ionicons作为背景内容和绝对定位
  7. Docker 简易搭建 ElasticSearch 集群教程
  8. Python3入门(三)——Python基础语法
  9. 【图像分割】基于matlab遗传算法优化K聚类图像分割【含Matlab源码 1605期】
  10. 时间排序处理在微信小程序和真机调试没问题,发布体验版后未执行
  11. 一天一个产品分析之Finger_米米米米粒口红_新浪博客
  12. 学刘红杰老师博客营销,知如何提高博客访问流量
  13. 【机器学习算法】聚类算法-4 模糊聚类 密度聚类,如何判断超参数:数据群数
  14. threejs 加载obj模型
  15. Python - 摄氏度华氏度转换
  16. 深度学习-感受野与有效感受野
  17. html css 正六边形,css画正六边形
  18. 这世界风华正茂可别辜负好时光
  19. 【031902238崔佳雪】
  20. android动态贴纸实现原理,人脸动态贴纸sdk算法详解,人脸动态贴纸功能如何实现...

热门文章

  1. nand flash驱动编写步骤
  2. 服务器中安装多版本的cuda
  3. ERmaster 数据库设计 ,显示中文逻辑名
  4. requests 证书验证
  5. android 时间格式 各种转换
  6. Git学习笔记1--Git原理简单介绍
  7. 单实例设计模式的实现
  8. java 图像处理两例:图像缩放与圆角图片的制作
  9. 简单的JSP分页显示
  10. Windows 2008 实战之KMS实施(Revision 2)