文档章节

EJB3 Interceptors

我想去看一看大海
 我想去看一看大海
发布于 2014/06/22 22:19
字数 247
阅读 53
收藏 0

EJB3中创建Interceptors可以有多种方式

第一种方式可以在EJB Bean中利用@AroundInvoke定义拦截方法, 方法名可以任意指定,方法参数只能有一个,且类型为InvocationContext,

返回值也必须为Object,在EJB Bean中定义的拦截方法只对当前Bean有效

@AroundInvoke
    public Object calculateWastedTime(InvocationContext context) throws Exception {
        long start = System.currentTimeMillis();
        Object result = context.proceed();
        long end = System.currentTimeMillis();
        String methodName = context.getMethod().getName();
        System.out.println("Wasted time of executing the method named " + methodName + ": " + (end - start) + "ms");
        return result;
    }



第二种方式可以专门定义一个拦截类来对需要拦截的EJB Bean进行拦截,如下是一个计算执行方法所用时间的拦截器

package com.icode.jejb.interceptor;

import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;

/**
 * Created with IntelliJ IDEA.
 * User: ZhongGang
 * Date: 14-6-22
 * Time: 下午10:04
 */
public class TimeWastedInterceptor {

    @AroundInvoke
    public Object calculateWastedTime(InvocationContext context) throws Exception {
        long start = System.currentTimeMillis();
        Object result = context.proceed();
        long end = System.currentTimeMillis();
        String methodName = context.getMethod().getName();
        System.out.println("Wasted time of executing the method named " + methodName + ": " + (end - start) + "ms");
        return result;
    }
}



并在相应需要拦截的EJB Bean上注解@Interceptors(value = {TimeWastedInterceptor.class})

© 著作权归作者所有

共有 人打赏支持
我想去看一看大海
粉丝 3
博文 27
码字总数 6202
作品 0
成都
高级程序员
Struts2 EJB3 Plugin

该plugin提供struts的Action及Interceptor对EJB组件及Resource的无侵入式依赖注入(DI)。 安 装方法: 将 struts-ejb3-plugin.jar 考入 /WEB-INF/lib 目录中。这时使用的为plugin的默认配置,...

匿名
2010/03/27
2.1K
0
JBoss EAP 6.1.0 发布,企业应用平台

全新版本 JBoss EAP 6.1 发布了,包含大量的 bug 修复和新特性: JBoss Web 的全局值 JBoss Enterprise Application Platform 5 offered the capability to configure a global valve for t......

oschina
2013/05/22
6.5K
5
jboss启动报错,什么都没部署就报错了,求~

11:24:06,921 ERROR [ProfileServiceBootstrap] Failed to load profile: Summary of incomplete deployments (SEE PREVIOUS ERRORS FOR DETAILS): DEPLOYMENTS MISSING DEPENDENCIES: Deplo......

anfield
2012/11/07
2.7K
2
启动Jboss时报出的异常

MBeans waiting for other MBeans --- ObjectName: jboss.j2ee:jar=EJBChatCore.jar,name=AgentService,service=EJB3 State: NOTYETINSTALLED I Depend On: jboss.j2ee:jar=EJBChatCore.jar,......

Zofda
2010/12/14
1K
0
[转帖]从中间件厂商的角度看EJB3标准

在我Support过的许多BEA客户里面,80%依然使用EJB2,20%已经开始使用Spring,但几乎没有看到有真实的大客户在关键系统中使用 EJB3,EJB3的技术其实已经很成熟,在分布式能力上,WebLogic EJ...

刘小兵2014
2011/07/29
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

python标准输入输出

input() 读取键盘输入 input() 函数从标准输入读入一行文本,默认的标准输入是键盘。 input 可以接收一个Python表达式作为输入,并将运算结果返回。 print()和format()输出 format()输出...

colinux
19分钟前
0
0
Python 核心编程 (全)

浅拷贝和深拷贝 1.浅拷贝:是对于一个对象的顶层拷贝,通俗的理解是:拷贝了引用,并没有拷贝内容。相当于把变量里面指向的一个地址给了另一个变量就是浅拷贝,而没有创建一个新的对象,如a...

代码打碟手
31分钟前
0
0
PHP 对象比数组省内存?错!数组比对象省内存?错!

刚刚一个群里有人引出了 PHP 数组和对象占用内存谁多谁少的问题。我想起之前我好像也测试过这个问题,和群里人说的对象比数组节省内存的结论相反,我得出的是数组比对象节省内存。 但今天,我...

宇润
48分钟前
1
0
memcached命令行及其用法

21.5 memcached命令行 创建数据 yum install -y telnet 利用telnet命令连接memcached数据库 telnet 127.0.0.1 11211 #写入数据 set key2 0 30 212STORED 这个是错误的示范,因为0 30 已经...

lyy549745
48分钟前
0
0
Maven私服

Maven私服 一、简介 当多人项目开发的时候,尤其聚合项目开发,项目和项目之间需要有依赖关系,通过maven私服,可以保存互相依赖的jar包,这样的话就可把多个项目整合到一起。 如下图: Inst...

星汉
51分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部