拦截器Interceptor

具体代码如下:

 

SayHelloBean.java

package com.sias;
import com.sias.*;
import javax.ejb.Local;
import javax.ejb.Remote;
import javax.ejb.Stateless;
import javax.interceptor.Interceptors;
@Stateless
@Remote(SayHelloRemote.class)
@Local(SayHello.class)
@Interceptors(HelloInterceptor.class)
public class SayHelloBean implements SayHello, SayHelloRemote {

 public void sayHello() {
  System.out.println("Hello!");
 }

 public void sayName() {
  System.out.println("name");
 }

}

 

HelloInterceptor.java

package com.sias;
import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;
public class HelloInterceptor {
@AroundInvoke
public Object log(InvocationContext ctx) throws Exception{
 System.out.println("***interceptor is running***");
   try{
    if(ctx.getMethod().getName().equals("sayHello")){
     System.out.println("sayHello()已经被调用");
    }
    if(ctx.getMethod().getName().equals("sayName")){
     System.out.println("sayName()已经被调用");
    }
    return ctx.proceed();
   }catch(Exception e){
    throw e;
   }
}
}

SayHelloRemote.java

package com.sias;

public interface SayHelloRemote {
public void sayHello();
public void sayName();
}

SayHello.java

package com.sias;
import com.sias.SayHelloRemote;

public interface SayHello extends SayHelloRemote{

}

 

 

测试代码如下:

 

。。。。。

InitialContext ctx=new InitialContext();
    SayHelloRemote sr=(SayHelloRemote)ctx.lookup("SayHelloBean/remote");
    sr.sayHello();
    sr.sayName();

。。。。。

 

运行结果如下:

23:32:46,140 INFO  [STDOUT] ***interceptor is running***
23:32:46,140 INFO  [STDOUT] sayHello()已经被调用
23:32:46,140 INFO  [STDOUT] Hello!
23:32:46,156 INFO  [STDOUT] ***interceptor is running***
23:32:46,156 INFO  [STDOUT] sayName()已经被调用
23:32:46,156 INFO  [STDOUT] name

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值