http://blog.csdn.net/yiboo/article/details/263869
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;
}
这里是一个例子:
@Stateless
@RemoteBindings({
@RemoteBinding(jndiName="custom/remote/MySession",
interceptorStack="MyInterceptorStack",
clientBindUrl="socket://foo.jboss.org:2222")
})
public class MySessionBean implements MySession
{
}