免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1059 | 回复: 0
打印 上一主题 下一主题

拦截 会话BEAN [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-03 21:00 |只看该作者 |倒序浏览
对会话BEAN 的拦截  就有点 类似于 Spring 的 AOP  操作

下面 我们 还是通过 实际的例子 来讲解


package com.ly.bean;
import javax.ejb.Remote;
@Remote
public interface SayHello {
  public void say();
}
package com.ly.impl;
import javax.ejb.Stateless;
import javax.interceptor.Interceptors;
import com.ly.bean.SayHello;
import com.ly.intercepter.IntercepterImpl;
@Stateless(name="say")
@Interceptors(IntercepterImpl.class)
public class SayHelloImpl implements SayHello {
    public void say() {
        // TODO Auto-generated method stub
         System.out.println("hello...");
    }
}


package com.ly.intercepter;
import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;
public class IntercepterImpl{
@AroundInvoke
  public Object take(InvocationContext ic) throws Exception{
     System.out.println("调用"+ic.getClass().getName());
     return ic.proceed();
  }
}


import java.util.Properties;
import javax.naming.Context;
import javax.naming.InitialContext;
import com.ly.bean.SayHello;
public class Test {
  public static void main(String args[])throws Exception{
     Properties pro = new Properties();
     pro.setProperty("java.naming.factory.initial", "org.jnp.interfaces.NamingContextFactory");
     pro.setProperty("java.naming.provider.url","localhost:1099");
     pro.setProperty("java.naming.factory.url.pkgs","org.jboss.naming");
     Context context = new InitialContext(pro);
     SayHello say = (SayHello)context.lookup("say/remote");
     say.say();
  }
}

后台打印效果是:

20:50:39,968 INFO [STDOUT] 调用org.jboss.ejb3.interceptor.InvocationContextImpl
20:50:39,968 INFO [STDOUT] hello...

注意 :在 拦截器 的方法 书写规范:
  第一: 返回一个 OBJECT
  第二:抛出异常
  第三:调用invocationcotnext.process();方法


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/93826/showart_1917238.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP