浏览 3213 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (1)
|
|
---|---|
作者 | 正文 |
发表时间:2009-05-10
最后修改:2009-05-10
http://www.jboss.org/jbossejb3/docs/reference/build/reference/en/html/index.html 1. Session Bean and MDB 1.1 Pooling Stateless和MDB豆油一个实例池. 标准配置里面用本地线程池来避免同步(org.jboss.ejb3.ThreadLocalPool) (对谁来说的Threadlocal?)。EJB可以别的poolinng机制。比如,JBoss有一个很严格的Pool size实现,只允许固定的并发访问数,其他的请求会被阻塞。配置类为@org.jboss.annotation.ejb.PoolClass @Retention(RetentionPolicy.RUNTIME) @Target({ElementType.TYPE}) public @interface PoolClass { Class value(); //Pool实现 int maxSize() default 30; long timeout()default Long.MAX_VALUE;//请求等待调度时间 } 用法举例: @Stateless @PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=5, timeout=10000) @Remote(StrictlyPooledSession.class) public class StrictlyPooledSessionBean implements StrictlyPooledSession { ... } 基于jboss.xml的配置方法略 1.2 有状态session bean的缓存 状态bean被存在cache里面。这个缓存要负责在缓存满了或者bean发呆的时候钝化SFSB. 你可能会想设定缓存的最大数量,什么时候才算发呆。有没有cluster的设置会不同。 1.2.1没有cluster public @interface org.jboss.annotation.ejb.cache.simple.CacheConfig { int maxSize() default 100000; long idleTimeoutSeconds() default 300; long removalTimeoutSeconds() default 0; } 1.2.2 Clustered public @interface CacheConfig { String name() default "jboss.cache:service=EJB3SFSBClusteredCache"; int maxSize() default 10000; long idleTimeoutSeconds() default 300; long removalTimeoutSeconds() default 0; boolean replicationIsPassivation() default true; } name()一般不需要修改。 replicationIsPassivation()指定是否在分布式缓存复制和提取前后是否调用@PrePassivate和@PostActivate。 1.2.3 不要钝化 有时候你希望关掉钝化功能,加上@org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.NoPassivationCache.class) 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |