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中

@ JMSConnectionFactoryDe​​finition,@ JMSConnectionFactoryDe​​finitions

用于声明一个或多个连接工厂

@ 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资源相关推荐

  1. 在Java EE 7中自动配置JMS资源

    JMS 2.0(Java EE 7平台的一部分)引入了许多不错的功能 . 其中之一是能够声明JMS资源以进行自动部署. Java EE 7之前的版本 使用@Resource注入连接工厂 使用@Reso ...

  2. kibana 更新 索引模式_elasticsearch – 如何在kibana中自动配置索引模式

    是否可以在kibana中自动配置索引模式?通过一些设置文件或者休息api.安装后,可以手动完成. Kibana 5.x公开了这样一个API来管理索引模式. 要创建索引模式,可以向kibana访问URL ...

  3. 计算机名ip自动配置文件,机房管理中自动配置IP地址和计算机名实现.pdf

    机房管理中自动配置IP地址和计算机名实现.pdf 第27卷第6期 上饶师范学院学报 Vo1.27,No.6 2O07年12月 JOURNAL OF sHANG队0 NORMAI.COLLEGE Dec ...

  4. Java PathFinder (JPF) 在Eclipse和NetBeans中的配置方法(综合网上资料)

    因为要使用Java PathFinder (JPF),我综合了一下网上搜到的资料.首先谢谢提供这些资料的网友,文中都注明了转载出处.-- by orzorz 飞天硕鼠 一.Java PathFinde ...

  5. 【工具篇】java导出excel工具类,多种模式自动配置,绝对值得你收藏

    文章目录 项目环境: 实现功能: 工具类实现 定义参数bean:ExportExcelBean.java 定义导出excel的表格主题:ExportExcelTheme.java [重点]导出exce ...

  6. datav本地部署 java,Spring Boot对Spring Data JPA的自动配置

    一 点睛 Spring Boot对Spring Data JPA的自动配置放置在如下路径: 二 源码分析 1 JpaRepositoriesAutoConfiguration类分析 @Configur ...

  7. Spring Boot中自动配置原理以及日志的基本使用

    目录 自动配置原理 日志的基本使用 自动配置原理 自动配置原理: 1. Spring Boot启动时加载主配置类,开启了知道配置功能@EnableAutoConfiguration. 2. @Enab ...

  8. Mybatis在Spring-boot中自动配置的底层源码分析

    前言:在Spring-boot结合Mybatis,我们只需要配置一些数据库连接的基本信息,写好Mapper和Dto就可以跑起来了.但是它是如何帮我们完成自动配置,并且执行我们的sql语句的呢?我们一起 ...

  9. java 连接eureka_在同一应用程序中的配置服务器和eureka服务器:尝试连接到localhost:8761...

    我有一个spring-boot应用程序,可用于在开发和测试环境中设置a spring cloud config server和a eureka server.奇怪的是localhost:8761,即使 ...

最新文章

  1. WSDM Cup 2020 引用意图识别赛道冠军解决方案(附答辩视频、PPT和代码)
  2. 【转】排序算法复习(Java实现) (二): 归并排序,堆排序,桶式排序,基数排序...
  3. IHttpHandler与IHttpHandlerFactory的区别一例
  4. IReport无法打开的原因
  5. ROM与RAM混合设计
  6. 使用HttpWebRequest自动更新客户端应用程序[转]
  7. cpoint 两个点距离_Wasserstein距离学习笔记
  8. AIDE手机编程初级教程(零基础向) 引入篇
  9. android系统b181更新包,华为nova 2s官方固件rom刷机包_华为nova2s完整系统升级包
  10. 学生信息管理系统java_学生信息管理系统java课程设计(含源代码)
  11. 虚拟机usb服务器,VM虚拟机支持USB启动的方法
  12. 酒浓码浓 - HTML5微数据/itemscope/itemtype/itemprop
  13. python snmp
  14. pl0语言的扩充之repeat-until语句
  15. linux sed.写文件,Linux文件处理sed命令-linux sed命令详解-linux sed写入文件-嗨客网
  16. 【数据结构】队列(链队列、循环队列)的存储结构及基本运算(C语言)
  17. Nature综述 | Rob Knight手把手教你分析菌群数据(全文翻译1.8万字)
  18. Excel如何快速计算单元格中算式
  19. 北大青鸟培训第四周第一天:HTML和CSS相关知识 【定位】(持续更新)
  20. button 外观样式

热门文章

  1. CF1146F: Leaf Partition(树形dp)
  2. YBTOJ洛谷P4298:祭祀(二分图匹配)
  3. 图论:dij算法优化:双端队列及详细证明
  4. P7599-[APIO2021]雨林跳跃【二分,倍增,ST表】
  5. 【期望DP】概率充电器(luogu 4284)
  6. codeforces E. Game with String 概率
  7. Nacos(二)之概念
  8. OAuth2 实现单点登录 SSO
  9. SpringMVC表单验证器的使用
  10. Java架构师必看的10本书