EJB3.0中JNDI的绑定和多通路传输 
默认的会话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 
{ 
} 
   
 
  |