首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >JMS和HornetQ

JMS和HornetQ
EN

Stack Overflow用户
提问于 2012-11-09 21:54:54
回答 2查看 703关注 0票数 0

JMS是java消息传递的API吗?我还不清楚像HornetQ这样的第三方API到底是做什么的?没有任何默认/引用实现吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-09 22:17:43

JMS只是一个规范,你可以选择任何你喜欢的实现:

  • HornetQ
  • ActiveMQ
  • RedHat MRG
  • IBM MQ
  • Oracle MQ ...等等,等等。etc

每一个都将在规范之外提供不同的功能。

例如,HornetQ提供确认确认(因此您不需要阻塞等待确认的发送,并且可以将高级技术用于异步操作,如异步servlet)。

HornetQ还提供大型消息。

HornetQ还提供了一个核心应用程序接口,您可以在没有JMS的情况下使用它。

例如,我知道如果您不想使用JMS,也可以使用IBM的API。

所以,简而言之,Java消息服务- JMS只是一组java接口,您必须选择适当的实现。

票数 3
EN

Stack Overflow用户

发布于 2012-11-09 22:17:52

我觉得你把一些概念混在一起了。正如您所说,JMS是一种API (如果您愿意,也可以是一种规范)。简化的JMS定义了一组接口,这些接口必须由某些供应商实现。在您的示例中,您使用的是JBoss HornetQ。然而,还有其他的实现,比如Apache、ActiveMQ等等。因此,如果您愿意或者您的需求发生变化,您可以交换实现。

实现JMS的提供程序可能包括其他功能。但这些都是专有的,不在JMS规范中。因此,可能复制包含在一个提供程序中,而另一个提供程序不提供这种功能。

另一个例子可以在JDBC中找到。JDBC本身就是API,但是不同的数据库有不同的实现。JPA也是如此,Hibernate和Toplink是突出的例子。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13309399

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档