分享

EJB3.0中JNDI的绑定和多通路传输

 linyu2688 2006-08-30
智联招聘-GOLF(100*30)


EJB3.0JNDI的绑定和多通路传输<>XML:namespace prefix = o ns = "urn:schemas-microsoft-com:Office:office" />

默认的会话bean会以路径或远程接口的全名绑定到JNDI。你可以通过定义你自己的@org.jboss.ejb3.LocalBinding@org.jboss.ejb3.Remoting.RemoteBinding来修改

本地接口的JNDI绑定

使用org.jboss.ejb3.LocalBinding annotation来改变你本地接口的JNDI名字。

@Stateless

@LocalBinding(jndiBinding="custom/MySession")

public class MySessionBean implements MySession

{

}

远程接口的JNDI绑定

使用org.jboss.ejb3.RemoteBindings annotation来改变你远程接口的JNDI名字。

@Stateless

@RemoteBindings({@RemoteBinding(jndiName="custom/remote/MySession")})

public class MySessionBean implements MySession

{

}

多通路传输和客户端拦截(Multiple transports and Client Interceptors

你可以通过JBoss Remoting架构来展现一个会话bean通过多通路传输的远程调用。现在仅仅一些插件支持。可以查看JBoss文档中怎样定义传送MBean。要展现一个会话bean通过多通路传输你需要使用远程绑定注解。

 

public @interface RemoteBinding

{

   String jndiBinding() default "";

   String interceptorStack() default "SessionBeanClientInterceptors";

   String clientBindUrl();

   Class factory() default org.jboss.ejb3.remoting.RemoteProxyFactory.class;

}

  • JNDI绑定指定了代理将捆绑的JNDI名字。
  • 拦截堆栈(interceptorStack)允许你插入数据到一个JBoss AOP(栈结构)。会话bean客户端拦截器(SessionBeanClientInterceptors)栈可以在你部署得文件夹下的ejb3-interceptors-aop.xml配置文件中找到。
  • clientBindUrl定义了客户端用来绑定服务器JBoss远程URL
  • Factory允许你为你自己代理的bean插入拦截。你通常不需要接触这些设置。

这里是一个例子:

@Stateless

@RemoteBindings({

                 @RemoteBinding(jndiName="custom/remote/MySession",

                                interceptorStack="MyInterceptorStack",

                                clientBindUrl="socket://foo.jboss.org:2222")

                })

public class MySessionBean implements MySession

{

}

 




    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多