论坛首页 综合技术论坛

Java中的120个经典问题 回顾之四

浏览 2039 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (3)
作者 正文
   发表时间:2009-10-12   最后修改:2009-12-26
    72、EJB的角色和三个对象 
    一个完整的基于EJB的分布式计算结构由六个角色组成,这六个角色可以由不同的开发商提供,每个角色所作的工作必须遵循Sun公司提供的EJB规范,以保证彼此之间的兼容性。这六个角色分别是EJB组件开发者(Enterprise Bean Provider) 、应用组合者(ApplicationAssembler)、部署者(Deployer)、EJB 服务器提供者(EJB Server Provider)、EJB 容器提供者(EJB Container Provider)、系统管理员(System Administrator)
    三个对象是Remote(Local)接口、Home(LocalHome)接口,Bean类
     73、EJB容器提供的服务 
    主要提供声明周期管理、代码产生、持续性管理、安全、事务管理、锁和并发行管理等服务。
     74、EJB规范规定EJB中禁止的操作有哪些? 
    1.不能操作线程和线程API(线程API指非线程对象的方法如notify,wait等),2.不能操作awt,3.不能实现服务器功能,4.不能对静态属生存取,5.不能使用IO操作直接存取文件系统,6.不能加载本地库.,7.不能将this作为变量和返回,8.不能循环调用。
     75、remote接口和home接口主要作用 
    remote接口定义了业务方法,用于EJB客户端调用业务方法。
    home接口是EJB工厂用于创建和移除查找EJB实例
     76、bean实例的生命周期 
    对于Stateless Session Bean、Entity Bean、Message Driven Bean一般存在缓冲池管理,而对于Entity Bean和Statefull Session Bean存在Cache管理,通常包含创建实例,设置上下文、创建EJB Object(create)、业务方法调用、remove等过程,对于存在缓冲池管理的Bean,在create之后实例并不从内存清除,而是采用缓冲池调度机制不断重用实例,而对于存在Cache管理的Bean则通过激活和去激活机制保持Bean的状态并限制内存中实例数量。
     77、EJB的激活机制 
    以Stateful Session Bean 为例:其Cache大小决定了内存中可以同时存在的Bean实例的数量,根据MRU或NRU算法,实例在激活和去激活状态之间迁移,激活机制是当客户端调用某个EJB实例业务方法时,如果对应EJB Object发现自己没有绑定对应的Bean实例则从其去激活Bean存储中(通过序列化机制存储实例)回复(激活)此实例。状态变迁前会调用对应的ejbActive和ejbPassivate方法。
     78、EJB的几种类型 
    会话(Session)Bean ,实体(Entity)Bean 消息驱动的(Message Driven)Bean
    会话Bean又可分为有状态(Stateful)和无状态(Stateless)两种
    实体Bean可分为Bean管理的持续性(BMP)和容器管理的持续性(CMP)两种
    79、客服端调用EJB对象的几个基本步骤 
    设置JNDI服务工厂以及JNDI服务地址系统属性,查找Home接口,从Home接口调用Create方法创建Remote接口,通过Remote接口调用其业务方法。
    80、如何给weblogic指定大小的内存? 
    在启动Weblogic的脚本中(位于所在Domian对应服务器目录下的startServerName),增加set MEM_ARGS=-Xms32m -Xmx200m,可以调整最小内存为32M,最大200M
     81、如何设定的weblogic的热启动模式(开发模式)与产品发布模式? 
    可以在管理控制台中修改对应服务器的启动模式为开发或产品模式之一。或者修改服务的启动文件或者commenv文件,增加set PRODUCTION_MODE=true。
     82、如何启动时不需输入用户名与密码? 
    修改服务启动文件,增加 WLS_USER和WLS_PW项。也可以在boot.properties文件中增加加密过的用户名和密码.
     83、在weblogic管理制台中对一个应用域(或者说是一个网站,Domain)进行jms及ejb或连接池等相关信息进行配置后,实际保存在什么文件中? 
    保存在此Domain的config.xml文件中,它是服务器的核心配置文件。
     84、说说weblogic中一个Domain的缺省目录结构?比如要将一个简单的helloWorld.jsp放入何目录下,然的在浏览器上就可打入http://主机:端口号//helloword.jsp就可以看到运行结果了? 又比如这其中用到了一个自己写的javaBean该如何办? 
    Domain目录服务器目录applications,将应用目录放在此目录下将可以作为应用访问,如果是Web应用,应用目录需要满足Web应用目录要求,jsp文件可以直接放在应用目录中,Javabean需要放在应用目录的WEB-INF目录的classes目录中,设置服务器的缺省应用将可以实现在浏览器上无需输入应用名。
     85、在weblogic中发布ejb需涉及到哪些配置文件 
    不同类型的EJB涉及的配置文件不同,都涉及到的配置文件包括ejb-jar.xml,weblogic-ejb-jar.xmlCMP实体Bean一般还需要weblogic-cmp-rdbms-jar.xml
     86、如何在weblogic中进行ssl配置与客户端的认证配置或说说j2ee(标准)进行ssl的配置 
    缺省安装中使用DemoIdentity.jks和DemoTrust.jks  KeyStore实现SSL,需要配置服务器使用Enable SSL,配置其端口,在产品模式下需要从CA获取私有密钥和数字证书,创建identity和trust keystore,装载获得的密钥和数字证书。可以配置此SSL连接是单向还是双向的。
     87、如何查看在weblogic中已经发布的EJB? 
    可以使用管理控制台,在它的Deployment中可以查看所有已发布的EJB
     88、CORBA是什么?用途是什么? 
    CORBA 标准是公共对象请求代理结构(Common Object Request Broker Architecture),由对象管理组织 (Object Management Group,缩写为 OMG)标准化。它的组成是接口定义语言(IDL), 语言绑定(binding:也译为联编)和允许应用程序间互操作的协议。 其目的为:用不同的程序设计语言书写在不同的进程中运行,为不同的操作系统开发。
     89、说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法 
    Session Facade Pattern:使用SessionBean访问EntityBean
    Message Facade Pattern:实现异步调用
    EJB Command Pattern:使用Command JavaBeans取代SessionBean,实现轻量级访问
    Data Transfer Object Factory:通过DTO Factory简化EntityBean数据提供特性
    Generic Attribute Access:通过AttibuteAccess接口简化EntityBean数据提供特性
    Business Interface:通过远程(本地)接口和Bean类实现相同接口规范业务逻辑一致性
    EJB架构的设计好坏将直接影响系统的性能、可扩展性、可维护性、组件可重用性及开发效率。项目越复杂,项目队伍越庞大则越能体现良好设计的重要性。
     90、说说在weblogic中开发消息Bean时的persistent与non-persisten的差别 
    persistent方式的MDB可以保证消息传递的可靠性,也就是如果EJB容器出现问题而JMS服务器依然会将消息在此MDB可用的时候发送过来,而non-persistent方式的消息将被丢弃。
 
分享自:http://www.abcjava.com/html/JAVA/JAVAjichu/2009/1012/1034_2.html 
论坛首页 综合技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics