JBoss EJB3.0 RC6 -PFD
http://www.jboss.org/jbossejb3/docs/reference/build/reference/en/html/index.html
[b]1. Session Bean and MDB[/b]
[b]1.1 Pooling[/b]
Stateless和MDB豆油一个实例池. 标准配置里面用本地线程池来避免同步(org.jboss.ejb3.ThreadLocalPool) (对谁来说的Threadlocal?)。EJB可以别的poolinng机制。比如,JBoss有一个很严格的Pool size实现,只允许固定的并发访问数,其他的请求会被阻塞。配置类为@org.jboss.annotation.ejb.PoolClass
用法举例:
基于jboss.xml的配置方法略
[b]1.2 有状态session bean的缓存[/b]
状态bean被存在cache里面。这个缓存要负责在缓存满了或者bean发呆的时候钝化SFSB. 你可能会想设定缓存的最大数量,什么时候才算发呆。有没有cluster的设置会不同。
[b]1.2.1没有cluster[/b]
[b]1.2.2 Clustered[/b]
name()一般不需要修改。
replicationIsPassivation()指定是否在分布式缓存复制和提取前后是否调用@PrePassivate和@PostActivate。
[b]1.2.3 不要钝化[/b]
有时候你希望关掉钝化功能,加上@org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.NoPassivationCache.class)
http://www.jboss.org/jbossejb3/docs/reference/build/reference/en/html/index.html
[b]1. Session Bean and MDB[/b]
[b]1.1 Pooling[/b]
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的配置方法略
[b]1.2 有状态session bean的缓存[/b]
状态bean被存在cache里面。这个缓存要负责在缓存满了或者bean发呆的时候钝化SFSB. 你可能会想设定缓存的最大数量,什么时候才算发呆。有没有cluster的设置会不同。
[b]1.2.1没有cluster[/b]
public @interface org.jboss.annotation.ejb.cache.simple.CacheConfig
{
int maxSize() default 100000;
long idleTimeoutSeconds() default 300;
long removalTimeoutSeconds() default 0;
}
[b]1.2.2 Clustered[/b]
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。
[b]1.2.3 不要钝化[/b]
有时候你希望关掉钝化功能,加上@org.jboss.annotation.ejb.cache.Cache (org.jboss.ejb3.cache.NoPassivationCache.class)