JBoss EJB 3.0 第六6章 特色服务

JBoss EJB3.0 RC6 -PFD
http://www.jboss.org/jbossejb3/docs/reference/build/reference/en/html/index.html

6 EJB 3.0扩展
6.1 @Service EJB
@service bean singlone, 没有实例池(独生子,same idea in EJB3.1?)
可以是@Remote和@Local接口,能被客户端访问。多个客户端访问的时候,拿到的是同一个实例。
(用来放系统级别的常量,配置?应该不如分布式缓存快?分布式缓存客户端可用?)

6.1.1 @org.jboss.annotation.ejb.Management 接口
@Service bean还能实现@Management, 包装成天JBoss MBean。 @Management里面定义了Mbean的操作和属性。

]6.1.2.1 生命周期
@Management可以包含以下方法:
   void create() throws Exception; //依赖的服务都存在,但是没开始
   void start() throws Exception;
   void stop(); //依赖的服务的不工作
   void destroy(); //依赖于它的服务也被销毁


6.1.2.2 @Depends服务依赖
这玩意也能用在session/MDB上面。
@Target({ElementType.TYPE, ElementType.METHOD, ElementType.FIELD}) 
@Retention(RetentionPolicy.RUNTIME)
public @interface Depends
{
    String[] value();
}

可以用在类上面,表示依赖于其他服务。也能用在@Management定义的set方法和成员变量上面。它还能用来注入依赖的服务。

6.2 消息驱动的POJO
参见教程

6.3 异步调用
看例子吧:
Test asynchEjb = org.jobss.ejb3.asynchronous.Asynch.getAsynchronousProxy(ejb);
asynchEjb.performaHeavyTest();
Future future = Asynch.getFutureResult(asynchEjb);
while(!future.isDone){Thread.sleep(100)}
//should be future.wait();
int ret = (int)future.get();


你可能感兴趣的:(thread,bean,jboss,ejb,idea)