`

EJB3 学习笔记3

    博客分类:
  • ejb3
 
阅读更多

1 安装jboss (略)

2 创建一个既能本地调用 又可以远程调用的 bean 引入jboss_home/client/下面的jar

public interface HelloWorld {   

}

public interface HelloWorldLocal extends HelloWorld {

}

 

@Stateless                                       //EJB名称 默认为HelloWorldBean 可以用name="xxx"指定

@Local({HelloWorldLocal.class})     //{ , , ...}可以指定多个接口

@Remote({HelloWorld.class})  

public HelloWorldBean implements HelloWorld , HelloWorldLocal {

       public void sayHello(String name){

               return name+" say : hello";

       }

}

 

使用EJB

Properties props = new Properties();

props.setProperty("java.naming.factory.initial","org.jnp.interfaces.NamingContextFactory");

props.setProperty("java.naming.provider.url","127.0.0.1:1099");

InitialContext ctx = new InitialContext(props );

 

也可以在src下 创建jndi.properties

java.naming.factory.initial=org.jnp.interfaces.NamingContextFactory
java.naming.provider.url=127.0.0.1:1099

 

InitialContext ctx = new InitialContext();


HelloWorld helloworld = (HelloWorld) ctx.lookup("HelloWorldBean/remote");
HelloWorldLocal helloworld = (HelloWorldLocal) ctx.lookup("HelloWorldBean/local");

 

 

3 修改jndi名称:

@RemoteBinding(jndiBinding="xxx/remoteOpp");

ctx.lookup("xxx/remoteOpp");

 

@LocalBinding(jndiBinding="xxx/localOpp");

ctx.lookup("xxx/remoteOpp");

 

RemoteBinding 和 LocalBinding只针对jboss,weblogic10 sunserver glassfish 可以使用 @Stateless(mappedName="xxx/xx")

 

4

无状态bean 使用实例池技术 可以给任何人调用

有状态bean 会钝化(保存到硬盘上)和激活(重新读取)

 

5 会话bean生命周期事件

 @Init 有状态 bean初始化的方法

 @PostConstruct bean实例化后 标注了PostConstruct的方法会立刻执行

 @PreDestroy 在容器销毁 bean之前调用

 @PrePassivate 有状态bean钝化之前调用

 @PostActivate 有状态bean激活之后调用

 @Remove 标注了remove的方法,在调用方法结束后会把bean实例删除

 

6拦截器:

@Interceptors(HelloInterceptor.class)  //@Interceptors({classA,classB,classC})

在bean前使用拦截所有方法

在方法前使用拦截制定方法

public class HelloInterceptor{

       public Object log(InvocationContext ctx) throws Exception{

           System.out.println(ctx.getMethod().getName()+"方法被调用");

           return ctx.proceed();

       }

}

 

7 bean之间 调用

   1使用ctx.lookup()获得bean

   2@EJB(beanName="HelloWorldBean") HelloWorld helloworld;//HelloWorld 由多个实现的EJB时,必须制定beanName

 

8 数据源:

在JBOSS_HOME/docs/examples/jca下找到 对应的数据库的*-ds.xml

修改配置

发不到default/deploy下面(必须是-ds.xml结尾)

<jndi-name>MSSQLDS</jndi-name>

 

9 使用资源(以datasource):

@Resource(mappedName="java:MSSQLDB") DataSource db;

 

10使用timeserver

@Resource private TimerServer timerService;

//millseseconds 指定时间间隔               指定启动时间

timerServer.createTimer(new Date(new Date().getTime()+millseseconds), millseseconds," log....");

 

@Timeout

public void xxx(Timer timer){

  System.out.println(timer.getInfo());

  if(..)

    timer.cancel();

}

分享到:
评论

相关推荐

    ejb3课堂笔记,适合初学者

    ### EJB3课堂笔记知识点概览 #### 一、EJB 概述 - **EJB 定义**: Enterprise JavaBeans (EJB),即企业级Java Bean,是一种用于开发、部署服务器端分布式组件的标准(规范),它采用了Java语言进行编写。 - **EJB ...

    EJB3 学习笔记

    学习EJB3过程中自己总结的一些关于学习EJB3的技术点,以及可能遇到的问题

    Weblogic Ejb 学习笔记

    WebLogic EJB学习笔记主要涵盖了企业级Java Bean(Enterprise JavaBeans,简称EJB)在Oracle WebLogic Server中的应用和管理。EJB是Java EE(Java Platform, Enterprise Edition)平台的核心组件,用于构建可扩展、...

    EJB3.0 学习笔记

    **EJB3.0 学习笔记** EJB(Enterprise JavaBeans)是Java EE平台中的核心组件,用于构建可扩展的、安全的、事务处理的分布式应用程序。EJB3.0是EJB的一个重大更新,引入了许多改进,使得开发过程更为简化,降低了...

    ejb 学习笔记6

    ### EJB学习笔记第六部分详解 #### 一、EJB之间的调用 EJB (Enterprise JavaBeans) 是Java EE平台中用于开发分布式企业应用程序的重要组件。在实际开发过程中,经常需要一个EJB调用另一个EJB来实现更复杂的业务...

    ejb学习笔记

    在深入探讨《ejb学习笔记》这一主题之前,我们首先需要理解什么是EJB(Enterprise JavaBeans)。EJB是Java平台为企业级应用开发提供的一套组件模型,它属于J2EE(Java 2 Platform, Enterprise Edition)的一部分,...

    EJB概述 学习笔记

    **EJB概述** Enterprise JavaBeans(EJB)是Java平台企业版(Java EE)的核心组成部分,主要用于构建可扩展、安全且事务处理...学习EJB可以帮助理解企业级应用的复杂性,同时也能更好地评估和选择现代化的开发方案。

    Weblogic EJB 学习笔记

    Weblogic EJB 学习笔记主要涵盖了EJB(Enterprise JavaBeans)的基础知识,包括无状态会话bean、有状态会话bean和实体bean这三种主要的EJB类型,以及EJB在Weblogic服务器中的配置和事务管理。 1. **无状态会话bean*...

    EJB入门学习笔记,很多实例说明

    EJB简单入门,是自己在学习过程做好的笔记。里面有很多具体的实例。

    EJB学习笔记2

    【EJB学习笔记2】 EJB,全称Enterprise JavaBeans,是Java EE(现在被称为Jakarta EE)平台的一部分,主要用于构建可复用的、安全的、可伸缩的服务器端应用程序。EJB标准定义了一组规范,使得开发者可以创建分布式...

    EJB学习笔记.doc

    【EJB学习笔记】 EJB,全称为Enterprise Java Beans,是Java平台上的一个标准,用于开发和部署服务器端的分布式组件。它基于Java语言,为创建高效能、安全且可扩展的企业级应用提供了框架。EJB规范由Java ...

    ejb 学习笔记4

    ### EJB学习笔记4:深入理解实体与JPA #### 实体的概念与作用 实体,在企业级Java开发中,特别是EJB(Enterprise JavaBeans)框架下,指的是具有持久化能力的POJO(Plain Old Java Object)类。不同于实体Bean...

    ejb 学习笔记3

    经典资料+个人心得,希望大家能喜欢

    ejb 学习笔记5

    ### 深入解析《ejb学习笔记5》——消息驱动Bean详解 #### 消息驱动Bean概述 消息驱动Bean(MDB,Message Driven Bean)是Enterprise JavaBeans(EJB)框架中的一个重要组成部分,主要用于接收并处理来自消息中间件...

    ejb 学习笔记7

    ### EJB学习笔记7知识点详解 #### 实体(消息)- 重点篇章解析 ##### 继承映射策略深入理解 在实体继承映射中,我们主要探讨了三种不同的策略,每种策略都有其特定的应用场景及优缺点。 1. **所有继承结构一张表...

    EJB学习笔记、运行机制

    【EJB学习笔记、运行机制】 企业级程序(Enterprise Application)是围绕商业目的设计的,具有分布分层的程序架构。这种类型的程序旨在满足大型企业的复杂需求,通常涉及多个组件和层,确保系统的稳定性和可扩展性...

    ejb 学习笔记8

    ### EJB学习笔记8:深入理解事务处理机制 #### 一、事务的背景知识 **事务**是指一系列操作,这些操作作为一个不可分割的工作单元来执行,即要么全部完成,要么完全不执行。事务的主要特性包括: - **原子性...

    EJB学习笔记.rar

    从最初的EJB 1.0到EJB 2.x,再到EJB 3.0,其复杂性和学习曲线逐渐降低。EJB 3.0引入了注解,极大地简化了代码,并且与JPA、JSF等其他Java EE技术更好地集成。最新的EJB 3.2版本继续优化了API,提高了开发效率。 **...

    EJB3笔记代码

    本笔记代码主要涵盖了EJB3的一些核心特性,包括定时任务(timer)、会话bean(session)、实体bean(entity)、拦截器(interceptor)、领域模型(domain)、客户端(client)、事务管理(transaction)、消息传递...

Global site tag (gtag.js) - Google Analytics