EJB的超时策略:它们如何提供帮助?

EJB 3.1在其API中引入了与超时相关的注释。

  • @AccessTimeout
  • @StatefulTimeout

让我们快速看一下它们是什么以及它们为什么重要

@AccessTimeout

指定一个排队请求(等待另一个线程完成)超时的时间段。

当您的会话bean实例被并发请求轰炸时,EJB容器通过序列化这些调用(即阻塞其他线程直到当前线程完成执行)来确保完整性。 您可以使用此批注进一步完善此行为。

哪些bean可以利用此注释?

这适用于

  • 有状态的 (@Stateful)bean和
  • 配置了容器管理的并发选项(ConcurrencyManagementType.CONTAINER)的Singleton bean(@Singleton)

它为什么如此重要 ?

由于EJB容器对并发请求进行了序列化,因此具有此批注可确保不会永远阻止潜在的(等待)线程,并有助于定义并发策略

我可以在哪里放置此注释?

  • 在类上–全局适用于所有方法
  • 在特定方法上
  • 在特定方法上覆盖类级别注释的设置

如何使用它 ?

您可以使用此批注的value和unit元素定义其行为

这里有一些选择

  • @AccessTimeout(0) –这意味着您的方法根本不支持并发访问,并且客户端最终将收到java.ejb.ConcurrentAccessException
  • @AccessTimeout(-1) –您的方法将无限期阻塞(我不认为这是个好主意!)
  • @AccessTimeout(5000) –如果有机会,方法将在队列中的下一个线程(如果有)之前等待5000 ms(5秒)

几件事要注意

  • unit元素的默认值为java.util.concurrent.TimeUnit.MILLISECONDS
  • 小于-1的超时值无效

@StatefulTimeout

定义驱逐空闲的有状态会话Bean的阈值限制,即在特定时间间隔内未接收到客户端请求的那些

它为什么如此重要 ?

假设您有一个有状态的会话bean处理用户注册工作流程。 用户在特定时间间隔内处于非活动状态(可能正在执行其他操作)。 您希望状态会话Bean在内存中活动多长时间? 配置此注释可以帮助防止不活动的Bean实例占用主内存。

我可以在哪里放置此注释?

与@AccessTimeout批注相同的规则!

如何使用它 ?

您可以使用此批注的value和unit元素定义其行为

这里有一些选择

  • @StatefulTimeout(0) –这意味着您的bean实例将在包含此批注的方法完成后立即删除
  • @StatefulTimeout(-1) –您的方法对超时不敏感(固执的人!)
  • @StatefulTimeout(15000) –方法将等待15000毫秒(15秒)以用于客户端请求,然后该方法将成为驱逐对象

几件事要注意

  • unit元素的默认值为java.util.concurrent.TimeUnit.MILLISECONDS
  • 小于-1的超时值无效

干杯!

翻译自: https://www.javacodegeeks.com/2015/04/timeout-policies-for-ejbs-how-do-they-help.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/359958.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

cad服务器手动改自动,几百块就能手动改自动? 怎样省钱换来方便

现在市场上可以手动改自动挡是真的吗?今日市场上出现的手动挡升级自动挡的技术,不少网友询问这个手动挡改自动挡技术,手动改自动挡真的吗?记者带着疑问进行各方面搜索和调查。经过调查,记者终于了解到市场上真的有这种技术,可以…

Windows Phone性能优化建议

Windows Phone性能优化建议 原文:Windows Phone性能优化建议使用background thread解码图片在Windows Phone中支持的图片格式有jpg和png,微软建议使用png格式的图片,因为png格式的图片在解码速度上要比jpg快。那么我们怎么来控制用后台线程来解码图片呢&…

opencv检测相交点_OpenCV特征点检测------ORB特征

ORB是是ORiented Brief的简称。ORB的描述在下面文章中:Ethan Rublee and Vincent Rabaud and Kurt Konolige and Gary Bradski, ORB: an efcient alternative to SIFT or SURF, ICCV 2011没有加上链接是因为作者确实还没有放出论文,不过OpenCV2.3RC中已经…

用Java创建MongoDB上限集合

在MongoDB中,可以以循环方式将文档的插入顺序保留到集合中。 这些类型的集合在MongoDB中称为上限集合。 MongoDB文档描述了上限集合: 上限集合是固定大小的集合,它们支持高吞吐量操作,这些操作根据插入顺序来插入,检索…

服务器物理部署拓扑图,【网络】叶脊(Spine-Leaf)网络拓扑下全三层网络设计与实践(五)-物理服务器路由方案及配置...

5.1 本节目标理解物理机的业务ip之间的通信过程;了解如何在leaf交换机上配置业务ip的静态路由;了解如何在物理机上配置业务ip及其他相关配置项;5.2 拓扑结构本节拓扑结构与上节相比没有变化,如下图:5.3 物理机业务网络…

axios队列 vue_vue axios全攻略

不再继续维护vue-resource,并推荐大家使用 axios 开始,axios 被越来越多的人所了解。本来想在网上找找详细攻略,突然发现,axios 的官方文档本身就非常详细!!有这个还要什么自行车!!所…

linux内核模块简介

linux内核是一个整体是结构。因此向内核添加任何东西。或者删除某些功能 ,都十分困难。为了解决这个问题。引入了内核机制。从而可以动态的想内核中添加或者删除模块。模块不被编译在内核中,因而控制了内核的大小。然而模块一旦被插入内核,他就和内核其他部分一样。这样一来 就…

移动app显示远程服务器错误,KIS移动应用常见问题汇总

1、移动应用平台正式版登录后,变成试用版/已过期答:更新移动应用平台到最新版本V4.0.0.2,下载地址:http://dwz.cn/kis0268多次退出移动应用平台,直到变成正式版,重新启动移动应用。2、移动应用使用过程中提…

在@NamedQueries中枚举@NamedQuery

介绍 如果您是使用JPA的Java开发人员,则很可能在实体上声明了一个或多个NamedQuery对象。 要在类上声明NamedQuery ,必须使用查询名称及其JPQL对该类进行简单注释,例如: Entity NamedQuery(name "findAllProjects",q…

csv转json文件

今天因为需要帮一个同事的新闻内容录入为html, 每次手改不方便,所以就弄了个csv(excel)转json的c程序,然后再利用ejs把它渲染成网页,打开渲染好的网页再保存(不能保存源文件,不然还是空的),就可以把内容弄成一个html了…

探测服务器操作系统,探测服务器操作系统工具

探测服务器操作系统工具 内容精选换一换lib库获取方式不同,编译环境配置方法不同,下面分别介绍。根据Mind Studio安装服务器操作系统及架构与硬件环境是否相同,编译环境分为如下两种场景:若Mind Studio安装服务器操作系统及架构与…

Java Web App体系结构

我曾经利用Servlet,JSP,JAX-RS,Spring框架,Play框架,带有Facelets的JSF和一些Spark框架。 以我的拙见,所有这些解决方案都远非面向对象和优雅的。 它们都充满了静态方法,无法测试的数据结构和肮…

android listview使用自定义的adapter没有了OnItemClickListener事件解决办法

在使用listview的时用使用自定义的adapter的时候,如果你的item布局中包含有Button,Checkable继承来的所有控件,那么你将无法获取listview的onItemClickListener事件是由于Button,Checkable继承来的所有控件或默认获取焦点。解决办…

mysql用的是标准sql_标准SQL语言的用法_MySQL

SQL语言是目前最通用的关系数据库语言。ANSI SQL是指由美国国家标准局(ANSI)的数据库委员会制定的标准SQL语言,多数关系数据库产品支持标准SQL语言,但是它们也往往有各自的SQL方言。在分层的软件结构中,关系数据库位于最底层,它的…

三星有网络显示无网络连接到服务器,三星s5296连接了网络为什么不能用 看完这些原因就知道了...

1、无线网络本身有问题:如果手机连接上WiFi但却上不了网,首先要检查一下无线网络本身是否存在问题。这时候可以检查一下其他联网设备是否可以正常上网,如果可以的话,说明无线网络网络本身是没有问题的。如果其他联网设备也不能上网…

Mono for Android 篇二 使用Spinner 实现下拉列表读取Browser.BookmarksUri

http://www.cnblogs.com/ivanyb/archive/2013/03/05/2944818.html 1、首先在VS2010里面创建一个Android Application 简单说明一下解决方案中各个文件的作用: AndroidManifest.xml:项目环境配置文件,指明了使用Android SDK的版本,…

mysql不复制数据_windows mysql不停止服务复制数据

{"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云数据库专家保驾护航,为用户…

C++ 中的类模板

原文连接:http://see.xidian.edu.cn/cpp/biancheng/view/213.html 有时,有两个或多个类,其功能是相同的,仅仅是数据类型不同,如下面语句声明了一个类:class Compare_int{ public : Compare(int a,int b…

学生机房管理服务器系统设计,广东工业大学数据库课程设计机房管理系统设计...

《广东工业大学数据库课程设计机房管理系统设计》由会员分享,可在线阅读,更多相关《广东工业大学数据库课程设计机房管理系统设计(27页珍藏版)》请在人人文库网上搜索。1、课程设计个人报告课程名称 数据库应用与设计 _题目名称 机房管理系统 _学生学院 …

mysql磁盘临时表清理_mysql 创建大量磁盘临时表

发现 mysql 中创建的临时表基本都是磁盘临时表,对此进行排查。最后为临时表机制说明。通过查看 mysql 状态变量,看到创建的临时表基本都是磁盘临时表。查看临时表配置,默认配置 16M,配置并没有问题。创建两个表,做一个…