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

需要用注解的方式指明哪一个接口是用Remote方式访问,哪一个接口使用

local方式访问
3.实现多个接口的情况下定义,访问方式:
有三种:
a.第一种:在接口的实现类中:
@Remote(value={EJB04Interface01.class,EJB04Interface02.class})//

定义哪些接口使用remote方式访问
@Local(value={EJB04Interface03.class,EJB04Interface04.class})*/
public class Ejb04Bean implements

EJB04Interface01,EJB04Interface02
,EJB04Interface03,EJB04Interface04{
}
b.第二种:在接口的实现类中定义,简单的方式
@Remote({EJB04Interface01.class,EJB04Interface02.class})//定义

哪些接口使用remote方式访问
@Local({EJB04Interface03.class,EJB04Interface04.class})*/
/**
* 注意:
* 1.如果是remote,和local访问方式,且()中定义的只有value一个

属性的时候
* 可以使用这种简便的方法定义value属性;去掉value=
* 2.如果定义在了接口的前面,那么这个注解在这个地方就不用定义了
*/
--------------------------------------------------------------------

EJB学习例子:多接口的时实现类处理方法:
新建EJB项目:EJBTest_04
1.com.credream.ejb建包
2.编写接口:
EJB04Interface01.java

package com.credream.ejb;

import javax.ejb.Remote;

@Remote
public interface EJB04Interface01 {
public void m1();
}
----------------------------------------------------
EJB04Interface02.java

package com.credream.ejb;

import javax.ejb.Remote;

@Remote
public interface EJB04Interface02 {
public void m2();
}

-----------------------------------------------

EJB04Interface03.java
package com.credream.ejb;

import javax.ejb.Local;

@Local
public interface EJB04Interface03 {
public void m3();
}
------------------------------------------------

EJB04Interface04.java
package com.credream.ejb;

import javax.ejb.Local;

@Local
public interface EJB04Interface04 {
public void m4();
}
--------------------------------------------------------------
3.编写接口的实现类:
Ejb04Bean.java
package com.credream.ejb;

import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;

@Stateless(name="ejb04beanname")
/*@Remote({EJB04Interface01.class,EJB04Interface02.class})//定义哪些

接口使用remote方式访问
@Local({EJB04Interface03.class,EJB04Interface04.class})*/
/**
* 注意:
* 1.如果是remote,和local访问方式,且()中定义的只有value一个属性的

时候
* 可以使用这种简便的方法定义value属性;去掉value=
* 2.如果定义在了接口的前面,那么这个注解在这个地方就不用定义了
*/
/*@Remote(value={EJB04Interface01.class,EJB04Interface02.class})//定

义哪些接口使用remote方式访问
@Local(value={EJB04Interface03.class,EJB04Interface04.class})*/
public class Ejb04Bean implements EJB04Interface01,EJB04Interface02
,EJB04Interface03,EJB04Interface04{

public void m1() {
System.out.println("m1方法被调用了!!!");

}

public void m2() {
System.out.println("m2方法被调用了!!!");

}

public void m3() {
System.out.println("m3方法被调用了!!!");

}

public void m4() {
System.out.println("m4方法被调用了!!!");

}

}
-----------------------------------------------------------------
4.编写远程客户端:EJBTest04_client
a.com.credream.ejb
5.编写客户端代码:EJB04BeanClient.java
package com.credream.ejb;

import javax.naming.InitialContext;

public class EJB04BeanClient {

/**
* @param args
*/
public static void main(String[] args) throws Exception{
InitialContext context=new InitialContext();
/*EJB04Interface01 ejb04Interface01=

(EJB04Interface01) context.lookup("ejb04beanname/remote");
ejb04Interface01.m1();
EJB04Interface02 ejb04Interface02=(EJB04Interface02)

context.lookup("ejb04beanname/remote");
ejb04Interface02.m2();*/
//没有把EJB04Interface03定义成local访问
EJB04Interface03 ejb04Interface03=(EJB04Interface03)

context.lookup("ejb04beanname/remote");
ejb04Interface03.m3();
//注意:远程客户端是用不了local的
}
}
--------------------------------------------------------------
5.导入EJB的jar包,并且写入类路径中jndi.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
-----------------------------------------------------------

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

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

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

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

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

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

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

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

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

  5. EJB3.0学习笔记---定义客户端访问接口:

    定义客户端访问接口: 1.回顾:有状态的EJB每次都是一个新的,可以区分客户端状态,无状态的EJB可 以看成是单例的 2.客户端仅通过业务逻辑Bean所定义的接口来访问业务逻辑(跟具体实现无关) 3. ...

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

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

  7. EJB3.0学习笔记---JMS/MDB/Pub/Sub/P2P

    JMS:  1.jms是java的消息服务,jms的客户端之间可以通过jms服务进行异步的消息传输,jms支 持两种消息模型,Point--to--Point(P2P)和Publish/Subscri ...

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

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

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

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

最新文章

  1. Oracle数据库的基本语法
  2. Android高效开发:
  3. 12.多媒体和超链接标签及其应用实例
  4. 4021-基于链地址法的散列表的删除(C++,附思路)
  5. 数据结构 10分钟让你掌握经典排序(二)
  6. 基于libuv的TCP设计(二)
  7. win8系统下用VMware虚拟机启动Windows Server 2008报错问题解决方法
  8. Hadoop中的一些基本操作
  9. 那些年,我们一起找过的工作
  10. Visual Studio快速配置增加文件版权声明
  11. mac ios 远程桌面连接到服务器配置,手把手教你苹果mac如何远程桌面连接
  12. Unity Shader 玻璃材质
  13. 多个服务器数据互通_打造生态循环《剑网3:指尖江湖》第二批服务器数据互通...
  14. vue二维码生成、打印及识别
  15. LabVIEW使用VI Server的时候出现1003错误
  16. 苹果用户当心 犯罪分子网购海外邮箱专偷苹果ID
  17. html2canvas的使用以及跨域问题
  18. 3GPP TS 23501-g51 中英文对照 | 4.3.4 Interworking between ePDG connected to EPC and 5GS
  19. 联盟优势电信服务器,中国电信积极推进OLA联盟行业技术标准制定 加速智能家居互联互通...
  20. 4am永远 鼠标按键设置_国潮加持 黑爵蜻蜓点水RGB鼠标评测

热门文章

  1. 一个奇怪的问题:tomcat 栈溢出 StackOverflowError错误
  2. Ideal 使用帮助手册
  3. 《Linux shell变量总结回顾》RHEL6(转)
  4. Windows 8.1 轻量接触接触方式部署(二)
  5. 说说.NET中忽视的方法
  6. NS2 分裂机制及代码分析一
  7. 图片不存在显示默认图片
  8. android sdk离线安装
  9. 2018-2019-2 《网络对抗技术》Kali安装 Week1 20165212
  10. ArcGIS中,一个点集里的点两两连线,比如有4个点,就连6条线