多个单例随服务自启动(指定各个单例启动的顺序)@DependsOn("单例类名称")/@DependsOn({"单例类名称1","单例类名称2","单例类名称3"})
java EE提供2种并发管理:容器管理并发、Bean管理并发
容器管理并发:容器负责处理读写访问相关的一切事宜;
Bean管理并发:需要开发者使用同步等传统的java方法来处理并发。

默认情况下,java EE使用的是日期管理并发,不过可以通过ConcurrencyManagementType.CONTAINER注解进行显示声明来使用Bean管理并发。

import java.util.concurrent.TimeUnit;import javax.annotation.PostConstruct;
import javax.ejb.AccessTimeout;
import javax.ejb.ConcurrencyManagement;
import javax.ejb.ConcurrencyManagementType;
import javax.ejb.DependsOn;
import javax.ejb.Lock;
import javax.ejb.LockType;
import javax.ejb.Singleton;
import javax.ejb.Startup;/**
* @ClassName:SingletonDemo
* @Description:java EE下并发管理
*      @Startup注解:自启动
*      @DependsOn注解:指定添加了‘@Startup’注解的类的启动顺序
*      @ConcurrencyManagement注解:指定此类使用javaEE下Bean并发管理,
*      @Singleton注解:javaEE下,指定为单例模式
*      @AccessTimeout注解:指定处理的超时大小,如果未在指定的超时范围内完成处理,那么容器就会抛出ConcurrentAccessTimeoutException异常
* @date:2017年7月9日
* 修改备注:
*/
@Startup
@DependsOn("FirstSingletonDemo")
@ConcurrencyManagement(ConcurrencyManagementType.CONTAINER)
@Singleton
@AccessTimeout(value=10000) //默认单位是毫秒milliSeconds
public class SingletonDemo {@PostConstructpublic void start(){//code here}//使用@lock注解控制并发,@lockType注解管理并发//对于LockType.WRITE注解,当方法被调用时,其他客户端无法访问Bean@AccessTimeout(value=30, unit=TimeUnit.SECONDS)@Lock(LockType.WRITE)public void addUser(){//write method}//使用@lock注解控制并发,@lockType注解管理并发//对于LockType.READ注解,当方法被调用时,不会对其他客户端锁定访问Bean@Lock(LockType.READ)public void readData(){//read data method}}

java EE单例Singleton自启动相关推荐

  1. 设计模式学习笔记——单例(Singleton)模式

    设计模式学习笔记--单例(Singleton)模式 @(设计模式)[设计模式, 单例模式, Singleton, 懒汉式, 饿汉式] 设计模式学习笔记单例Singleton模式 基本介绍 单例案例 类 ...

  2. Ruby设计模式透析之 —— 单例(Singleton)

    转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/8868758 此为Java设计模式透析的拷贝版,专门为Ruby爱好者提供的,不熟悉R ...

  3. java spring 单例_spring怎么实现单例模式?

    在Spring中,bean可以被定义为两种模式:prototype(多例)和singleton(单例) singleton(单例):只有一个共享的实例存在,所有对这个bean的请求都会返回这个唯一的实 ...

  4. java的单例设计模式

    java的单例设计模式包括:饿汉设计模式和懒汉设计模式: 步骤: 1.创建一个对象把他设置为私有的成员变量,保证唯一 2.私有构造方法,防止new一个对象. 3.定义一个公开的静态方法,返回第一步创建 ...

  5. 设计模式--单例(Singleton)模式

    模式意图 保证一个类只用一个实例,并且提供一个全局访问点 类图 应用场景 1.需要更严格地控制全局变量时,使用单例模式: 2.重量级的对象如线程池对象,数据库连接池对象,不需要多个实例的对象如工具类等 ...

  6. 跨应用程序域(AppDomain)的单例(Singleton)实现

    转载自: 跨应用程序域(AppDomain)的单例(Singleton)实现 - CorePlex代码库 - CorePlex官方网站,Visual Studio插件,代码大全,代码仓库,代码整理,分 ...

  7. java设计模式 单例_java设计模式一(单例模式singleton)

    1 概述 如果要保证系统里一个类最多只能存在一个实例时,我们就需要单例模式.这种情况在我们应用中经常碰到,例如缓存池.数据库连接池.线程池.一些应用服务实例等.在多线程环境中为了保证实例的唯一性其实并 ...

  8. JAVA编写单例(Singleton)模式

    单例(Singleton)模式:在Java应用程序中,一个类Class只有一个实例存在. 第一种写法形式(饿汉式): 定义一个类,它的构造函数为private的,它有一个private的static的 ...

  9. java singleton 多线程_Java创建线程安全的单例singleton

    Java创建线程安全的单例 单例的使用场景 JVM中仅需要一个实例,因此能节省内存,加快访问速度,比如数据库连接池,计数器等.Spring 中的Bean,默认也是单例的,共享资源的访问,比如日志文件, ...

最新文章

  1. 实战:基于tensorflow 的中文语音识别模型 | CSDN博文精选
  2. 某多多买菜程序员:最长持续工作时间高达30小时!睁眼就工作,闭眼就睡觉!多多买菜离职率超级高!公司不得不降低门槛持续招人!...
  3. seaborn使用violinplot函数可视化小提琴图、并在violinplot函数中设置inner参数来添加横线(inner=“stick“)显示数据的稠密程度
  4. redis 什么是冷数据_阿里Java三面凉凉:微服务,Redis,JVM一个都搞不懂
  5. linux终端安装playonlinux,Ubuntu怎么安装PlayOnLinux
  6. 速来领取!降本增效的车间管理大屏,车间主任看了都拍手称好
  7. Paravirtualization (半虚拟化PV) - Xen
  8. 史上最全的开发和设计资源大全
  9. 根据我4年Facebook营销经验,和大家聊聊做不好Facebook广告的原因!
  10. idea配置jfinal_JFinal 开箱评测,这次我是认真的
  11. 上周Asp.net源码(11.5-11.10)免费下载列表
  12. 【solr基础教程之中的一个】Solr相关知识点串讲
  13. 软件开发文档的编写---软件研制任务书 (2015-03-14 17:55:03)转载▼ 标签: 软件 文档 任务书 需求 要求 分类: 软件过程改进 一. 简介 客户要
  14. Git以及Githup的使用
  15. import.os 文件操作
  16. Unity3dC#分布式游戏服务器ET框架介绍-组件式设计(转)
  17. 2021年中国金针菇供需现状及竞争格局分析,上半年行业整体盈利水平降低「图」
  18. 免费顶级域名TK介绍
  19. oracle nvl和nvl2的区别
  20. WC Java 实现

热门文章

  1. Java和C++基本类型与语法的区别
  2. koa 中间件洋葱模型源码分析
  3. (转)oracle中的CURRVAL和NEXTVAL用法
  4. 2022,博士们,又开始晒工资了
  5. 防火墙对FTP主动和被动模式的影响
  6. 痞子衡嵌入式:IAR内部C-SPY调试组件配套宏文件(.mac)用法介绍
  7. ElasticSearch之HTTP索引操作和文档操作
  8. 电脑网线,电脑网线插了没反应怎么回事?如何解决?
  9. C/C++模拟按键按下弹起
  10. 数据分析 第七讲 pandas练习 数据的合并、分组聚合、时间序列、pandas绘图