文档章节

EJB3 Interceptors

我想去看一看大海
 我想去看一看大海
发布于 2014/06/22 22:19
字数 247
阅读 54
收藏 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.6K
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.9K
2
[转帖]从中间件厂商的角度看EJB3标准

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

刘小兵2014
2011/07/29
0
0
启动Jboss时报出的异常

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

Zofda
2010/12/14
1K
0

没有更多内容

加载失败,请刷新页面

加载更多

中国龙-扬科
29分钟前
2
0
使用vuex的state状态对象的5种方式

vuex是一个专门为vue.js设计的状态管理模式,并且也可以使用devtools进行调试。 下面给大家来贴一下我的vuex的结构 下面是store文件夹下的state.js和index.js内容 //state.jsconst state =...

peakedness丶
32分钟前
2
0
NetCore MVC Demo

地址:http://114.116.9.72:5411

whltian
39分钟前
1
0
Netty handle方法周期 (四)

写了一个练习之后,发现自定义的助手类每次肯定是必须的,对于不同的业务逻辑需求,会写相对应的逻辑 最简单的查看Handle生命周期的方式,就是重写上级方法,看名字差不多应该可以知道方法的作用 ...

_大侠__
44分钟前
9
0
vue主动刷新页面及列表数据删除后的刷新实例

1.场景 在处理列表时,常常有删除一条数据或者新增数据之后需要重新刷新当前页面的需求。 2.遇到的问题 1. 用vue-router重新路由到当前页面,页面是不进行刷新的 2.采用window.reload(),或者...

前端小攻略
55分钟前
14
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部