首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Jboss EAP 7.0中基于数据库持久性的JMS消息传递

Jboss EAP 7.0是一种基于Java的应用服务器,它提供了一种基于数据库持久性的JMS(Java Message Service)消息传递机制。

JMS是一种用于在分布式系统中发送、接收和传递消息的标准API。它提供了一种可靠的、异步的通信方式,使得应用程序能够以可靠的方式进行消息传递,而不必关心底层的通信细节。

基于数据库持久性的JMS消息传递是指将JMS消息存储在数据库中,以确保消息的可靠传递和持久性。当消息发送者发送一条消息时,Jboss EAP 7.0会将消息存储在数据库中,并在消息被成功传递给接收者后将其删除。这种机制可以确保即使在消息传递过程中出现故障或中断,消息也能够被可靠地传递和恢复。

基于数据库持久性的JMS消息传递具有以下优势:

  1. 可靠性:通过将消息存储在数据库中,可以确保消息的可靠传递和持久性,即使在系统故障或中断的情况下也能够恢复。
  2. 异步通信:JMS提供了异步的消息传递机制,使得应用程序能够以非阻塞的方式进行通信,提高系统的并发性和响应性能。
  3. 解耦性:通过使用JMS消息传递,应用程序之间可以实现解耦,即发送者和接收者之间不需要直接进行通信,而是通过消息中间件进行消息传递,提高系统的可维护性和扩展性。

基于数据库持久性的JMS消息传递在以下场景中得到广泛应用:

  1. 企业应用集成:在企业应用集成中,不同的应用程序之间需要进行消息传递和通信,基于数据库持久性的JMS消息传递可以提供可靠的、异步的通信机制,实现应用程序之间的解耦和集成。
  2. 分布式系统:在分布式系统中,不同节点之间需要进行消息传递和协调,基于数据库持久性的JMS消息传递可以确保消息的可靠传递和持久性,提高系统的可靠性和可恢复性。
  3. 高并发系统:在高并发系统中,基于数据库持久性的JMS消息传递可以提供异步的通信机制,减少系统的响应时间和资源消耗,提高系统的并发性能。

腾讯云提供了一系列与JMS消息传递相关的产品和服务,例如:

  1. 云消息队列 CMQ:腾讯云的消息队列服务,提供了高可靠、高可用、高并发的消息传递服务,支持基于数据库持久性的JMS消息传递。详情请参考:云消息队列 CMQ
  2. 云数据库 CDB:腾讯云的关系型数据库服务,可以作为基于数据库持久性的JMS消息传递的存储后端。详情请参考:云数据库 CDB
  3. 云服务器 CVM:腾讯云的云服务器服务,可以作为运行Jboss EAP 7.0的计算资源。详情请参考:云服务器 CVM

以上是关于Jboss EAP 7.0中基于数据库持久性的JMS消息传递的完善且全面的答案。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

  • 未来哪些行业肯在IT上多花钱?川普,你知道不?

    笔者对于政治实时有一些兴趣,但不是非常大。但美国那位开心大哥川普上台以后,每一两天都能整点爆炸性新闻,语不惊人死不休,倒吸引了笔者看看国际新闻的兴趣。本来美国自家的事情,他是老大,说了必须算。但IT行业与笔者是有关系的,而对于“未来哪些行业肯在IT上多花钱”这件事上,恐怕川普说了不算了。 前言 在工作多年,接触过多家厂商产品以后,从技术角度,笔者更倾打破技术“门派”的壁垒,把眼界放得更开一些,从行业发展的角度去看问题。所有的技术,都是手段,而非目的。IT最大的价值,是给企业的业务系统赋能,最终实现企业的目标

    03

    EJB学习心得

    一:当EJB发布到JBOSS时,如果我们没有为它指定全局JNDI名称或修改其默认的EJB名称, JBOSS就会按照默认的命名规则为EJB生成全局JNDI名称。默认的命名规则如下: 如果把EJB作为模块打包进后缀*.ear的JAVA EE企业应用文件,默认的全局JNDI名称是 本地接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/local 远程接口:EAR-FILE-BASE-NAME/EJB-CLASS-NAME/remote 如果把EJB应用打包成后缀为*.jar的模块文件,默认的全局JNDI名称是 本地接口:EJB-CLASS-NAME/local 远程接口:EJB-CLASS-NAME/remote 二:通过远程接口调用EJB的过程 首先客户端需要和EJB服务器建立Socket通信,在通信管道上他们需要来回发送IIOP协议消息。 因为数据要在网络进行传输,存放数据的JAVA对象必须要序列化。 三:通过本地接口调用EJB的过程 通过本地接口调用EJB,直接在内存中进行交互,这样可以避免网络开销、协议解析的开销和对象序列化的开销。 但是大家必须要注意,只有客户端与EJB应用在同一个JVM内运行的时候,我们才能调用本地接口 。 四:如何通过使用注解方式注入并使用其他的EJB和服务 注入和使用其他EJB的方式如下: @EJB EJB的接口 EJB的变量 通过注解”@EJB”可以注入并使用其他的EJB,如果有多个EJB的类实现了同一个接口,那么在使用”@EJB”的时候 需要明确指定是注入和使用哪一个EJB的Bean。指定方式如下: @EJB(beanName=”EJB类的名称”) EJB的接口 EJB的变量 注入和使用其他服务的方式如下: @Resource 服务名称 服务变量 注意在指定数据源的使用需要配置mappedName的属性值,例如: @Resource(mappedName=”数据库的JNDI名称”) DataSource dataSource 五:JMS中的消息 消息传递系统的中心是消息,一条消息有三部分组成 头(Header),属性(property),主体(body) 消息有以下几种类型,他们都是派生自Message接口 StreamMessage:一种主体中包含JAVA基原值流的消息,如填充和读取均按顺序进行。 MapMessage:一种主体中包含一组名-值对的消息,没有定义条目顺序 TextMessage:一种主体中包含JAVA字符串的消息(例如:XML消息) ObjectMessage:一种主体中包含序列化的JAVA对象的消息 BytesMessage:一种主体中包含连续字节流的消息 消息的传递模型为以下两种: 点对点(point-to-point:PTP):该消息传递模型规定,一条消息只能传递给一个接收方,可以接受过时的消息。采用javax.jms.Queue表示。 发布/订阅(publish/subscribe):该消息传递模型规定,一条消息可以传递给多个接收方,只能接受实时的消息。采用javax.jms.Topic表示。 六:如何发送消息(以Queue为例,如果是Topic则应把所有的Queue改为Topic) 1.得到一个JNDI的初始化上下文(Context) InitialContext ctx = new InitialContext(); 2.根据上下文查找一个连接工厂QueueConnectionFactory。该连接工厂是用JMS提供的,不需要我们自己创建, 每个工厂都绑定一个全局的JNDI,我们通过全局的JNDI来获取它 QueueConnectionFactory factory = (QueueConnectionFactory)ctx.lookup(“QueueConnectionFactory”); 3.通过连接工厂得到一个连接QueueConnection QueueConnection conn = factory.createQueueConnection(); 4.通过连接来建立一个会话(Session) QueueSession session = conn.createQueueSession(false,QueueSession.AUTO_ACKNOWLEDGE); 建立一个不需要事物的并且能启动确认消息已接受的会话 5.查找目标地址 Destination destination = (Destination)ctx.lookup(配置文件的JNDI名称); 6.根据会话和目标地址来建立消息生产者MessageProducer MessageProducer producer = session.crea

    01
    领券