EJB学习笔记_9_拦截器

EJB拦截器能够拦截Session Bean和Message-Driven Bean的方法调用及生命周期事件,实现公共行为的封装。它们可以是同一bean内的方法或外部类。通过@Interceptor注解指定外部类中的拦截器,多个拦截器间用逗号分隔。拦截器方法包括getTarget(), getMethod(), getParameters(), setParameters(), getContextData()和proceed(),其中proceed()必须调用以执行被拦截的方法。若要终止业务方法,可通过抛出异常。ejb-jar.xml文件可以用来定义全局拦截器,支持通配符,简化配置。" 127977432,16546593,ABC算法优化LSSVM:MATLAB实现回归预测,"['机器学习', '支持向量机', '优化算法', 'MATLAB编程']
摘要由CSDN通过智能技术生成

拦截器可以拦截Session Bean和Message-Driven Bean的方法调用或生命周期事件。拦截器用于封装应用的公共行为,是这些行为和业务逻辑分离。

拦截器可以是同一个bean类中的方法或者是一个外部类。


@Interceptor注释指定一个或者多个在外部类中定义的拦截器,多个拦截器之间用逗号分隔。如果只需要对某一个方法进行拦截,可以在方法上定义拦截器。

package com.manfred.ejb.impl;

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

import com.manfred.ejb.HelloChina;
import com.manfred.ejb.HelloChinaRemot;

@Stateless
@Remote({ HelloChinaRemot.class })
@Local({ HelloChina.class })
@Interceptors({ HelloInterceptor.class })
public class HelloChinaBean implements HelloChinaRemot {

	public String sayHello(String name) {
		return name + "说,你好!中国";
	}

	public String Myname() {
		return "Manfred Shuai";
	}
}


@AroundInvoke注释指定了用作拦截器定义的方法,拦截器方法和被拦截业务的业务方法执行在同一个java调用堆栈、同一个事务和安全上下文中。用@Arou
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值