java ee jms_在Java EE 7中自动配置JMS资源
java ee jms
JMS 2.0(Java EE 7平台的一部分)引入了许多不错的功能 。 其中之一是能够声明JMS资源以进行自动部署。
Java EE 7之前的版本
- 使用@Resource注入连接工厂
- 使用@Resource查找目标位置(队列/主题)
- 拉出Session对象,并使用它创建Message,Message Producer并发送消息
最重要的是,您必须确保预先在应用程序服务器中配置了资源(即连接工厂和物理目标)
在Java EE 7时代……。
您可以利用JMS 2.0好东西
- 使用注入的JMS上下文(在大多数情况下)以更少的样板代码简化发送过程
- 最重要的是,您可以使用注释或部署描述符以声明方式配置JMS资源的自动配置
让我们看一下新的JMS 2.0注释。 您还可以在Github上拾取此Maven项目,并将其部署到您喜欢的IDE中
@ JMSConnectionFactoryDefinition,@ JMSConnectionFactoryDefinitions
用于声明一个或多个连接工厂
@ JMSDestinationDefinition,@ JMSDestinationDefinitions
用于声明一个或多个物理目标(队列或主题)
@Stateless
@JMSConnectionFactoryDefinition(name = "java:comp/env/AutoDeloyedJMSConf")
@JMSDestinationDefinition(interfaceName = "javax.jms.Queue", name = "java:comp/env/AutoDeloyedJMSQueue")
public class Service {//usage omitted...
}@JMSConnectionFactoryDefinitions({@JMSConnectionFactoryDefinition(name="java:comp/env/AutoDeloyedJMSConf1"),@JMSConnectionFactoryDefinition(name="java:comp/env/AutoDeloyedJMSConf2")
})
@JMSDestinationDefinitions({@JMSDestinationDefinition(name="java:comp/env/AutoDeloyedJMSQueue1",interfaceName = "javax.jms.Queue",),@JMSDestinationDefinition(name="java:comp/env/AutoDeloyedJMSQueue2",interfaceName = "javax.jms.Queue",)
})
@Stateless
public class AnotherService {//usage omitted...
}
哦,您也可以使用XML
//snippet only..<jms-connection-factory><name>java:comp/env/AutoDeloyedJMSConf3</name>
</jms-connection-factory><jms-destination><name>java:comp/env/AutoDeloyedJMSQueue3</name><interfaceName>javax.jms.Queue</interfaceName>
</jms-destination>
这些可以是Web部署描述符(web.xml)或EJB部署描述符(ejb-jar.xml)的一部分。
可能的变化
有几种使用此功能的方法
- 使用@Startup支持的@Singleton EJB声明JMS资源
- 您也可以为此在Servlet或任何CDI托管的bean上声明它
@Singleton
@Startup
@JMSDestinationDefinition(interfaceName = "javax.jms.Queue", name = "java:comp/env/EmailQueue")
public class EmailQueueAutoProvisionService {@PostConstructpublic void confirm(){System.out.println("Email Queue configured");}
}
这一切有什么意义?
容器/ Java EE应用程序服务器确保JMS工件可按需提供给您的应用程序逻辑
- 它在PaaS,微服务,Docker化的以及任何其他大量利用自动化部署的环境中都很有价值
- 适用于自动化测试
- 这是需要考虑和配置的少一件事!
额外资源
- JMS 2.0 规范文档
- 他们也有一个Twitter帐户 !
- 有关 Java EE的所有事物的水族馆博客
干杯!
翻译自: https://www.javacodegeeks.com/2015/11/automated-provisioning-jms-resources-java-ee-7.html
java ee jms
java ee jms_在Java EE 7中自动配置JMS资源相关推荐
- 在Java EE 7中自动配置JMS资源
JMS 2.0(Java EE 7平台的一部分)引入了许多不错的功能 . 其中之一是能够声明JMS资源以进行自动部署. Java EE 7之前的版本 使用@Resource注入连接工厂 使用@Reso ...
- kibana 更新 索引模式_elasticsearch – 如何在kibana中自动配置索引模式
是否可以在kibana中自动配置索引模式?通过一些设置文件或者休息api.安装后,可以手动完成. Kibana 5.x公开了这样一个API来管理索引模式. 要创建索引模式,可以向kibana访问URL ...
- 计算机名ip自动配置文件,机房管理中自动配置IP地址和计算机名实现.pdf
机房管理中自动配置IP地址和计算机名实现.pdf 第27卷第6期 上饶师范学院学报 Vo1.27,No.6 2O07年12月 JOURNAL OF sHANG队0 NORMAI.COLLEGE Dec ...
- Java PathFinder (JPF) 在Eclipse和NetBeans中的配置方法(综合网上资料)
因为要使用Java PathFinder (JPF),我综合了一下网上搜到的资料.首先谢谢提供这些资料的网友,文中都注明了转载出处.-- by orzorz 飞天硕鼠 一.Java PathFinde ...
- 【工具篇】java导出excel工具类,多种模式自动配置,绝对值得你收藏
文章目录 项目环境: 实现功能: 工具类实现 定义参数bean:ExportExcelBean.java 定义导出excel的表格主题:ExportExcelTheme.java [重点]导出exce ...
- datav本地部署 java,Spring Boot对Spring Data JPA的自动配置
一 点睛 Spring Boot对Spring Data JPA的自动配置放置在如下路径: 二 源码分析 1 JpaRepositoriesAutoConfiguration类分析 @Configur ...
- Spring Boot中自动配置原理以及日志的基本使用
目录 自动配置原理 日志的基本使用 自动配置原理 自动配置原理: 1. Spring Boot启动时加载主配置类,开启了知道配置功能@EnableAutoConfiguration. 2. @Enab ...
- Mybatis在Spring-boot中自动配置的底层源码分析
前言:在Spring-boot结合Mybatis,我们只需要配置一些数据库连接的基本信息,写好Mapper和Dto就可以跑起来了.但是它是如何帮我们完成自动配置,并且执行我们的sql语句的呢?我们一起 ...
- java 连接eureka_在同一应用程序中的配置服务器和eureka服务器:尝试连接到localhost:8761...
我有一个spring-boot应用程序,可用于在开发和测试环境中设置a spring cloud config server和a eureka server.奇怪的是localhost:8761,即使 ...
最新文章
- WSDM Cup 2020 引用意图识别赛道冠军解决方案(附答辩视频、PPT和代码)
- 【转】排序算法复习(Java实现) (二): 归并排序,堆排序,桶式排序,基数排序...
- IHttpHandler与IHttpHandlerFactory的区别一例
- IReport无法打开的原因
- ROM与RAM混合设计
- 使用HttpWebRequest自动更新客户端应用程序[转]
- cpoint 两个点距离_Wasserstein距离学习笔记
- AIDE手机编程初级教程(零基础向) 引入篇
- android系统b181更新包,华为nova 2s官方固件rom刷机包_华为nova2s完整系统升级包
- 学生信息管理系统java_学生信息管理系统java课程设计(含源代码)
- 虚拟机usb服务器,VM虚拟机支持USB启动的方法
- 酒浓码浓 - HTML5微数据/itemscope/itemtype/itemprop
- python snmp
- pl0语言的扩充之repeat-until语句
- linux sed.写文件,Linux文件处理sed命令-linux sed命令详解-linux sed写入文件-嗨客网
- 【数据结构】队列(链队列、循环队列)的存储结构及基本运算(C语言)
- Nature综述 | Rob Knight手把手教你分析菌群数据(全文翻译1.8万字)
- Excel如何快速计算单元格中算式
- 北大青鸟培训第四周第一天:HTML和CSS相关知识 【定位】(持续更新)
- button 外观样式