文档章节

EJB3 Interceptors

我想去看一看大海
 我想去看一看大海
发布于 2014/06/22 22:19
字数 247
阅读 52
收藏 0
点赞 0
评论 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
博文 8
码字总数 6202
作品 0
成都
高级程序员
Struts2 EJB3 Plugin

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

匿名 ⋅ 2010/03/27 ⋅ 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 ⋅ 5

启动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 ⋅ 0

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

[转帖]从中间件厂商的角度看EJB3标准

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

刘小兵2014 ⋅ 2011/07/29 ⋅ 0

UML建模工具--Taylor MDA

Taylor MDA 是一个UML建模工具的Eclipse插件。它专注于EJB3企业应用程序的生成。 Taylor MDA当前支持生成: EJB3 Entity Beans EJB3 Stateless Session Beans 利用JBoss内置容器的JUnit Tes...

匿名 ⋅ 2008/12/16 ⋅ 0

JBoss EJB3 Plugin

JBoss EJB3 Plugin 是可执行的 JAR,是最新 EJB3 二进制包(依赖项目)现有 JBoss AS 安装补丁。此版本只支持最新的 JBoss AS 5.x。 要求: Ant (1.6.5) Java - JDK 1.5 及其以上版本 JBoss AS...

叶秀兰 ⋅ 2015/04/07 ⋅ 0

flume-ng 自定义拦截器,对header中的字段进行正则匹配分离出更多header

代码如下: package com.wy.flume.interceptor; import java.util.List;import java.util.Map;import java.util.regex.Matcher;import java.util.regex.Pattern; import org.apache.commons.l......

chunhei2008 ⋅ 2015/03/17 ⋅ 0

Okhttp

Get方法 //创建okHttpClient对象 OkHttpClient mOkHttpClient = new OkHttpClient(); //创建一个Request final Request request = new Request.Builder() .url("https://github.com/hongyang......

右眼皮的爱 ⋅ 2017/11/20 ⋅ 0

Struts 2 Interceptors Example

The following actions happen in a sequence when a request comes to the Struts 2 framework. Framework first finds which Action class to invoke for this request and discovers the ......

markGao ⋅ 2014/02/27 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Java Web如何操作Cookie的添加修改和删除

创建Cookie对象 Cookie cookie = new Cookie("id", "1"); 修改Cookie值 cookie.setValue("2"); 设置Cookie有效期和删除Cookie cookie.setMaxAge(24*60*60); // Cookie有效时间 co......

二营长意大利炮 ⋅ 今天 ⋅ 0

【每天一个JQuery特效】淡入淡出显示或隐藏窗口

我是JQuery新手爱好者,有时间就练练代码,防止手生,争取每天一个JQuery练习,在这个博客记录下学习的笔记。 本特效主要采用fadeIn()和fadeOut()方法显示淡入淡出的显示效果显示或隐藏元...

Rhymo-Wu ⋅ 今天 ⋅ 0

Spring JDBC使用方法

普通实现: 1、创建数据表customer。 可以使用任何数据库实现,在项目中要引入相应数据库驱动包并配置相应数据库连接。 2、创建Customer pojo。 Customer类的属性对应数据库的属性,除了为每...

霍淇滨 ⋅ 今天 ⋅ 0

Contos 7 安装Jenkins

Jenkins是一款能提高效率的软件,它能帮你把软件开发过程形成工作流,典型的工作流包括以下几个步骤 开发 提交 编译 测试 发布 有了Jenkins的帮助,在这5步中,除了第1步,后续的4步都是自动...

欧虞山 ⋅ 今天 ⋅ 0

revel

revel install go get github.com/revel/revelgo get github.com/revel/cmd create new app revel new git.oschina.net/zdglf/myapp run app revel run git.oschina.net/zdglf/myapp ot......

zdglf ⋅ 今天 ⋅ 0

49. Group Anagrams - LeetCode

Question 49. Group Anagrams Solution 思路:维护一个map,key是输入数组中的字符串(根据字符排好序) Java实现: public List<List<String>> groupAnagrams(String[] strs) { Map<Strin......

yysue ⋅ 今天 ⋅ 0

spring Email

使用spring发Email其实就是使用spring自己封装携带的一个javamail.JavaMailSenderImpl类而已。这个类可以当一个普通的java对象来使用,也可以通过把它配置变成spring Bean的方式然后注入使用...

BobwithB ⋅ 今天 ⋅ 0

spark 整理的一些知识

Spark 知识点 请描述spark RDD原理与特征? RDD全称是resilient distributed dataset(具有弹性的分布式数据集)。一个RDD仅仅是一个分布式的元素集合。在Spark中,所有工作都表示为创建新的...

tuoleisi77 ⋅ 今天 ⋅ 0

思考

时间一天天过感觉自己有在成长吗?最怕的是时光匆匆而过,自己没有收获!下面总结下最近自己的思考。 认识自己 认识另一个自己,人们常说要虚心听取别人意见和建议。然而人往往是很难做到的,...

hello_hp ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部