企业 Bean 设置
“企业 Bean”->“常规”选项卡窗格 ->“特定于 Sun 的设置”按钮 ->“特定于 Sun 的设置”对话框 ->“EJB 设置”视图
在“EJB 设置”对话框中,可以编辑企业 Bean 的部署设置。
- 在“常规”子窗格中:
- JNDI 名称用于在 Sun Java System Application Server 8 上注册。该字段为必填字段。如果 Bean 是一个消息驱动的 Bean,该 JNDI 名称就是与消息驱动的 Bean 类关联的 Java 消息服务目标资源对象的 JNDI 名称。
- “主体名称”是指定了 run-as 角色的 EJB。
- 选择“通过引用传递”。如果设置为 False,此 EJB 将使用“通过值传递”语义。如果设置为 True,此 EJB 将使用“通过引用传递”语义。
- 单击“IOR”按钮将打开一个对话框,您可以在其中设置可交互操作的对象引用 (IOR) 安全配置。
- 在“Bean 池”子窗格中:
- “稳定池大小”指定池中应保持的 Bean 实例的初始数目和最小数目。
- “大小调整数量”指定当收到请求时如果池处于繁忙状态,应创建的 Bean 实例的数目(受“最大池大小”字段中指定的值的限制)。可能的值为 0 到 MAX_INTEGER。
- “最大池大小”指定为满足客户机请求可以创建的 Bean 实例的最大数目。可能的值为 0 到 MAX_INTEGER。
- “池空闲超时(秒)”指定 Bean 实例可以在池中保持空闲的最长时间(以秒为单位)。当超过此超时限制时,池中的 Bean 实例将成为要钝化或要删除的候选对象。
- “最长等待时间(毫秒)”指定等待从空闲池中获取 Bean 的调用者在连接超时之前等待的最长时间(以毫秒为单位)。如果指定的值为 0,则等待时间为无限长。如果不允许溢出,可以将当前高速缓存的某些实例钝化,从而为新实例释放空间。当所有其他请求均失败时,将抛出一个异常。
- 在“Bean 高速缓存”子窗格中:
- “最大高速缓存大小”指定高速缓存中允许的最大 Bean 数目。
- “大小调整数量”指定当收到请求时如果池处于繁忙状态,应创建的 Bean 实例的数目(受“最大池大小”字段中指定的值的限制)。可能的值为 0 到 MAX_INTEGER。
- “高速缓存空闲超时(秒)”指定状态会话 Bean 或实体 Bean 可以在高速缓存中保持空闲的最长时间。当超过此超时限制时,池中的 Bean 实例将成为要钝化或要删除的候选对象。
- “删除超时(秒)”指定 Bean 实例可以保持钝化的时间。如果没有在超过此超时限制之前访问 Bean,已钝化的 Bean 将被删除,而客户机无法再对其进行访问。
- “是否允许高速缓存溢出”指定“最大高速缓存大小”值是否为硬性限制。有时需要将很多实体 Bean 添加到高速缓存中,从而导致超出了最大高速缓存大小。如果将此元素设置为 True,可以偶尔超出高速缓存的大小。通过编程方式将 Bean 钝化或删除后,大小将逐渐减少。如果将此元素设置为 False,当高速缓存大小超出“最大高速缓存大小”限制后,将抛出 CacheOverFlowException 异常。
- “牺牲选择策略”指定需要收缩池时用来拾取要牺牲的实例的算法。通常将要牺牲的实例钝化到备份存储库(通常为文件系统或数据库)中,系统启动时会对该备份存储库进行清理。可以有以下几种实现方式:
- 从高速缓存中删除要牺牲的实例。
- 将要牺牲的实例转换为软引用。如果采用此方法,对象将保留在内存中,但当内存严重不足时,不能阻止垃圾收集器拾取这些对象。
备份存储库可由后台线程(或清除器线程)监视,以删除不需要的条目。如果没有可供选择的牺牲实例,将由“是否允许高速缓存溢出”字段中的值决定是否抛出 CacheOverFlowException 异常。
可能的值包括:
- 先进先出 (fifo)
- 最近最少使用 (lru)
- 最近不使用 (nru)
- 如果企业 Bean 属于实体类型,还可以指定“实体设置”子窗格中的设置:
- “只读”指定 Bean 为只读 Bean,EJB 客户机永远无法对其进行修改。
- “提交选项”指定事务完成时使用的提交选项。
- “刷新周期(秒)”指定必须从 JDBC 数据源对只读 Bean 进行刷新的频率。可以取值 0(从不刷新)和正数(以指定时间间隔刷新)。
另请参见
IOR 配置
法律通告