`

JBoss EJB 3.0 第一章 EJB池和缓存

    博客分类:
  • EJB
阅读更多

关键字: jboss ejb3

JBoss EJB3.0 RC6 -PFD
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
Java代码 复制代码
  1. @Retention(RetentionPolicy.RUNTIME)   
  2. @Target({ElementType.TYPE})   
  3. public @interface PoolClass   
  4. {   
  5.      Class value(); //Pool实现   
  6.      int maxSize() default 30;   
  7.      long timeout()default Long.MAX_VALUE;//请求等待调度时间   
  8. }  
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.TYPE})
public @interface PoolClass
{
     Class value(); //Pool实现
     int maxSize() default 30;
     long timeout()default Long.MAX_VALUE;//请求等待调度时间
}

用法举例:
Java代码 复制代码
  1. @Stateless  
  2.  @PoolClass (value=org.jboss.ejb3.StrictMaxPool.class, maxSize=5, timeout=10000)   
  3. @Remote(StrictlyPooledSession.class)   
  4. public class StrictlyPooledSessionBean implements StrictlyPooledSession   
  5. {   
  6.   ...   
  7. }  
@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
Java代码 复制代码
  1. public @interface org.jboss.annotation.ejb.cache.simple.CacheConfig   
  2. {   
  3.     int maxSize() default 100000;   
  4.     long idleTimeoutSeconds() default 300;   
  5.     long removalTimeoutSeconds() default 0;   
  6. }  
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
Java代码 复制代码
  1. public @interface CacheConfig   
  2. {   
  3.   String name() default "jboss.cache:service=EJB3SFSBClusteredCache";   
  4.   int maxSize() default 10000;   
  5.   long idleTimeoutSeconds() default 300;   
  6.   long removalTimeoutSeconds() default 0;   
  7.   boolean replicationIsPassivation() default true;   
  8. }  
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)
分享到:
评论
发表评论

文章已被作者锁定,不允许评论。

相关推荐

    JBoss下EJB3.0实例教程(黎活明)

    总之,"JBoss下EJB3.0实例教程"旨在引导开发者理解EJB3.0在JBoss中的应用,通过实例学习如何创建、部署和使用EJB3.0 bean。结合"javaee-5_0-fr-spec.pdf",可以更全面地掌握EJB3.0的规范和实现细节,为构建高效的...

    ejb3.0_persistence_doc

    5. **JBoss EJB 3.0**: `JBoss EJB 3_0.mht`可能涵盖了在JBoss应用服务器上部署和运行EJB 3.0应用的详细信息。EJB 3.0在JBoss这样的容器中运行时,可以享受到容器提供的服务,比如自动持久化管理,事务控制,安全性...

    ejb3.0写的登陆应用

    - 配置应用的上下文路径和服务描述符,如`ejb-jar.xml`和`jboss-ejb3.xml`,尽管EJB 3.0倾向于减少XML配置。 6. **测试与调试**: - 使用JUnit和Mockito等工具对EJB进行单元测试,确保业务逻辑的正确性。 - 利用...

    基于EJB3.0的分布式网上购物系统毕业设计.doc

    EJB(Enterprise JavaBeans)3.0规范提供了一种开发和部署基于事务性和分布式对象应用的服务器端组件架构,特别适用于构建大规模的分布式电子商务网站。 关键词:Java,EJB 3.0,Servlet,分布式系统,网上书城 1....

    jboss7ejb配置文件

    在JBoss 7及以上版本中,对EJB的配置过程相较于之前的版本有所变化,主要涉及到两个关键的配置文件:`jboss-ejb3.xml`和`ejb-jar.xml`。 `ejb-jar.xml`文件是EJB模块的标准配置文件,遵循Java EE规范。在这个文件中...

    Jboss下EJB3实例教程

    本教程《Jboss下EJB3实例教程》将详细讲解以上内容,并通过实际示例演示如何在Jboss环境中开发、部署和测试EJB3.0应用,对于想要掌握企业级Java开发的开发者来说是一份宝贵的资源。通过学习,你可以更好地理解EJB3.0...

    jboss-4.2.3.GA-jdk6的EJB服务器

    总结,jboss-4.2.3.GA-jdk6是JBoss AS的一个重要版本,它提供了全面的EJB 3.0支持,简化了企业级应用的开发和部署。其强大的事务管理、安全性、集群能力以及Web服务支持,使得它成为构建复杂企业应用的理想选择。...

    EJB视频教程 3.开发EJB的客户端 4.把jboss集成进eclipse

    7. **性能优化**:讨论如何通过缓存、连接池等技术提高EJB客户端的性能。 在“把jboss集成进eclipse”这一部分,你将学习: 1. **Eclipse与JBoss集成**:如何设置Eclipse工作空间,安装并配置JBoss插件,以便在IDE...

    jboss7 + EJB3

    EJB3是Java EE平台中的一个核心组件,它极大地简化了企业级Java组件的开发,通过注解驱动和POJO(Plain Old Java Object)模型,降低了EJB的复杂性。 1. **EJB3概述** EJB3是Java EE6规范中的重要部分,它引入了...

    EJB使用注意事项

    EJB3.0(Enterprise JavaBeans 3.0)是EJB技术的一个重大更新,它引入了许多新的特性和改进,使得开发人员能够更加高效地构建企业级应用。下面将详细介绍EJB3.0的使用注意事项。 #### 一、EJB3.0的新特性与优势 1....

    Jboss下hibernate整合EJB

    本文将详细讲解如何在JBoss应用服务器上整合Hibernate和EJB。 **一、EJB简介** EJB是Java EE平台的一部分,它提供了一种标准的方式来创建分布式、事务处理、安全和可管理的企业级服务。EJB类型主要包括会话Bean...

    Jboss技术文档

    展望未来,下一代JBoss应用服务器(暂定名JBoss 5)将继续围绕EJB 3.0进行优化,提升用户体验,加强缓存管理和持久化功能,确保在不断发展的J2EE标准中保持领先地位。JBoss通过其不断创新的技术和对开源社区的贡献,...

    J2EE - JBoss - EJB with Eclipse

    《J2EE - JBoss - EJB with Eclipse》这一主题主要涵盖了Java企业版(J2EE)中的核心组件——Java服务器平台JBoss的使用,以及如何在Eclipse集成开发环境中配置和开发EJB(Enterprise JavaBeans)应用。下面将详细...

    seam经典教程含例子

    Seam作为融合框架,将EJB 3.0和JSF的优点集于一身,并进一步扩展了它们的功能。Seam提供了对CDI(Contexts and Dependency Injection)的早期实现,也就是现在的Java EE中的依赖注入标准。它还支持 Transactions、...

    ejb3+jboss

    5. 性能优化:通过调整EJB缓存策略、事务超时、线程池大小等参数,优化系统性能。 6. 安全性:利用EJB3的安全特性,如角色基线访问控制(RBAC)和认证授权,确保应用安全。 7. 故障排查:当遇到问题时,检查日志...

    jbss 7.1.2 EJB 集群例子

    【jbss 7.1.2 EJB 集群例子】是一个关于使用Jboss应用服务器7.1.2版本创建和配置EJB(Enterprise JavaBeans)集群的实践教程。在分布式环境中,EJB集群可以提供高可用性、可扩展性和负载均衡,使得多个服务器节点...

    jboss-ejb3-ext-api:EJB3的JBoss API扩展

    4. **性能优化**:JBoss可能通过提供特定的API来优化EJB的性能,例如缓存管理、连接池配置等。 5. **容器服务**:可能包括更多的服务,如定时器服务、调度服务,以及与JMS(Java消息服务)或JCA(Java连接适配器)...

    springmvc4.2+mybatis3.0+jboss

    它提供了一个运行环境,可以部署和管理Java应用程序,包括Web服务、EJB(Enterprise JavaBeans)等。JBoss在企业环境中广泛使用,因为它提供了稳定性、可扩展性和安全性。 **整合Spring MVC和MyBatis** 将Spring ...

Global site tag (gtag.js) - Google Analytics