何时选择 JMS API 而不是 UDP 套接字 API,反之亦然?

2024-07-01

有哪些原因可以促使程序员在分布式 Java 应用程序中使用 Java JMS(Java 消息服务)API 而不是 java.net 包的 UDP 套接字 API,或者使用 UDP 套接字 API 而不是 JMS API?如果可能,请给出应用示例。


UDP http://en.wikipedia.org/wiki/User_Datagram_Protocol and JMS http://en.wikipedia.org/wiki/Java_Message_Service在很多方面都有所不同,从根本上讲,因为 JMS 通常依赖于 JMS 固有的功能TCP http://en.wikipedia.org/wiki/Transmission_Control_Protocol(看这个UDP和TCP的比较 http://en.wikipedia.org/wiki/User_Datagram_Protocol#Comparison_of_UDP_and_TCP了解两个底层协议的差异)。

基本上,UDP 适用于不需要任何可靠性、排序、拥塞控制或网络间路由的应用程序(因为许多消费级和商业级路由器不转发 UDP 数据包)。 JMS 提供了 UDP 所缺少的所有这些功能以及更多功能(例如事务、发布/订阅和队列、持久订阅等)。

UDP 可能适用于在局域网内传输大量数据,其中对绝对质量没有要求; JMS 更适合需要在广域网主机之间进行可靠消息传递的应用程序。此外,JMS 模糊了套接字、服务器、绑定等细节,并提供了更适合企业集成的高级 API。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

何时选择 JMS API 而不是 UDP 套接字 API,反之亦然? 的相关文章

  • android下拉刷新列表视图出错

    我正在使用功能下拉来刷新library https github com chrisbanes Android PullToRefresh克里斯班斯的 但是当我尝试在我的 xml 文件中导入这个小部件时 它向我显示以下错误 请帮助我如何解决
  • 使用 Jackson 从 JSON 文件中删除空元素

    我正在尝试从 JSON 文件中删除一个元素 Lorem Ipsum 4 Lorem Ipsum 5 keyToRemove value 使用以下代码 我可以删除键和值 for JsonNode personNode rootNode if
  • java代码中的问号

    有人能解释一下下面代码中的问号吗 INITIAL PERMANCE 也是代码中的静态最终常量 但是语法的最后一行被称为什么 Synapse AbstractCell inputSource float permanence inputSou
  • 如果没有发生触摸事件,Android SurfaceView 会变慢

    我正在制作一款游戏 除了游戏循环之外一切都很顺利 我正在使用 SurfaceView 并绘制 2D Sprites 位图 目前游戏是一艘穿过小行星带的飞船 飞船停留在屏幕中央 手机向任一方向倾斜以移动小行星 小行星改变位置而不是玩家 当旧的
  • 在 Maven 存储库中查找 Oracle JDBC 驱动程序

    我想将 oracle jdbc 驱动程序作为依赖项 运行时范围 添加到我的项目中 ojdbc14 在 MVNrepository 站点中 放入 POM 的依赖项是
  • 按下 JButton 时运行函数

    我正在尝试用java编写一个程序 使用机器人每隔几秒按一次特定的键 它有一个带有开始和停止按钮的 GUI 以及一个告诉其处于哪个状态的标签 到目前为止 我已经完成了所有工作 除了当我单击 开始 时 它运行我的机器人功能的循环 这是无限的 没
  • Mac 上缺少 spring-boot-starter-web hibernate-validator 依赖项

    我在STS Spring工具套件 上创建了Spring Boot项目 Spring Starter Project Window和Mac都有 这是我的pom xml
  • 使用 Jackson 反序列化非字符串映射键

    我有一张如下所示的地图 public class VerbResult JsonProperty similarVerbs private Map
  • 有人可以推荐 java 8 模式来替换 switch 语句吗?

    我有以下代码 public class A private String type String getType return type 现在在许多代码位置我都有这样的代码 switch a geType case A return new
  • 什么是运行时绑定?

    根据 Android 开发者指南 Intent 是一个提供运行时绑定独立组件之间 例如两个活动 什么是 运行时绑定 继承创建类型兼容性 它允许超类引用 引用子类的对象 反过来则不然 超类引用 指的是 子类的对象 只能用于 访问继承的和重写的
  • HQL查询是否总是命中数据库并得到结果?

    我正在经历休眠以及何时使用的情况Criteria vs HQL我的理解是 使用 Hibernate 每次我们通过以下方式查询数据库时Criteria or HQL在这两种情况下 休眠都会获取结果集并放入内存中 然后当我们再次调用该查询时 将
  • 基于区域设置的 SimpleDateFormat 模式,但强制使用 4 位数年份

    我需要建立一个像这样的日期格式dd MM yyyy 几乎就像DateFormat SHORT 但包含 4 个年份数字 我尝试用它来实现它 new SimpleDateFormat dd MM yyyy locale format date
  • 用java.nio在内存中写入文件?

    使用 nio 可以映射内存中的现有文件 但是是否可以仅在内存中创建它而不在硬盘驱动器上创建文件 我想模仿 CreateFileMapping 窗口函数 它允许您在内存中写入 Java 中有等效的系统吗 目标是写入内存以便另一个程序 c 读取
  • 您可以链接两个 JFormattedTextField 的值吗?

    我有一个带有 2 个 JFormattedTextFields 的界面 我需要它们的值 不仅仅是显示的文本 相同 理想情况下 它们都应该是可编辑的 其中一个的更改会反映在另一个中 我一开始只是在两者之间共享一个文档 但很快就遇到了一个问题
  • 使用 Spring Security 标记库时将异常映射到 404 页面

    将异常映射到 404 页面时 Spring Security 标记无法从安全上下文中找到身份验证信息 通过 真实 404 可以找到身份验证 我的 web xml
  • 隧道多部分文件

    我有一个spring接受名为的类的控制器FileUploadBean on POST 控制器方法如下所示 第一控制员 RequestMapping value upload method RequestMethod POST Respons
  • Spring Boot Rest - 如何配置 404 - 找不到资源

    我得到了一个有效的春季靴休息服务 当路径错误时 它不会返回任何内容 完全没有反应 同时它也不会抛出错误 理想情况下 我预计会出现 404 未找到错误 我有一个 GlobalErrorHandler ControllerAdvice publ
  • Java 泛型 - Java 是否需要支持本地定义的类型?

    我希望能在这里联系到 Java 泛型专家 假设您有一些类型化的课程 public interface SomeClass
  • Java将浮点字符串解析为浮点数组?

    有没有一种简单的方法将浮点字符串解析为浮点数组 我正在编写一个导入程序 它需要解析一个 ascii 文件以获取一些值 我只是想知道是否有更简单的方法来执行此操作 然后自己搜索所有空白并使用Float parseFloat s 对于每个空格分
  • Spring Security 登录页面

    我开发了一个使用 Spring Security 的默认登录页面的应用程序 不过我想实现我自己的登录页面 我将放置一个login html 而不是jsp 页面 我想使用 JQuery 来实现它 我检查了很多例子但无法实现 我是 Spring

随机推荐

  • mac 上 gem install pg -v 0.12.2 错误

    我是编程世界的新手 我花了一些时间解决 ruby on Rails 的捆绑错误 我正在运行 OSX 10 9 1 用于 Ruby 管理的 RVM 并且我正在使用 ruby 2 1 1 我收到的错误是 Gem Ext BuildError 错
  • 包含 ng-template 的指令中的角度嵌入(通用确认模态)

    您好 我在创建基于 Angular bootstrap Modal 指令的通用确认指令时遇到了困难 我找不到一种方法来将我的内容嵌入到用于模态构造的 ng template 中 因为ng transclude指令不会被评估 因为它是ng t
  • 使用 sf 与多多边形几何体进行分组(使用 R)

    我有一个放在一起的自定义形状文件 当我一次绘制所有内容时 效果很好 但我想按某些变量进行分组来绘制特定形状的区域 例如 county region sales washoe 1 5 carson city 1 10 clark 2 15 h
  • Eclipse Luna (R):没有 Java 8 方法引用的内容帮助

    面向 Web 开发人员的 Eclipse Java EE IDE 版本 Luna 发布 4 4 0 内部版本号 20140612 0600 我正在使用 Eclipse Luna for Java Java EE 的发行版 似乎没有针对新 J
  • Android 如何调整相机图片的大小并将其保存为位图以在活动内的固定矩形区域中显示

    我有一个可以拍摄项目照片的应用程序 并且这些项目必须在 ActivityScreen 上的某个固定区域中可见 问题是活动中显示的来自保存的位图的图片与我预览和拍摄的图片完全不同 它看起来放大了 并显示了我拍照时在预览中没有看到的区域 这是关
  • Django 中的业务逻辑

    我想知道在哪里放置不属于视图的代码 我的意思是逻辑 我读过一些类似的文章 但无法得出结论 我能理解的是 View就像一个控制器 很多逻辑不应该放在控制器中 模型也不应该有太多逻辑 那么所有基于逻辑的东西应该在哪里呢 我来自 Groovy G
  • 一段时间后取消设置会话

    我正在建立一个在线订票网站 在此 我将执行以下操作 用户使用其座位号搜索公共汽车 数据库中的座位号已更新为temp seat book Y 如果他预订机票并付款 他的状态将更新为final ticket book Y 现在我想删除该字段te
  • 撤消日志错误:系统表空间中没有剩余空间用于分配撤消日志页

    我正在使用以下命令将 csv 文件导入到 mysql 数据库中的表中加载数据到文件中命令 csv 文件相当大 大约 10 Gig 在导入过程中 我收到以下错误 撤消日志错误 系统表空间中没有剩余空间用于分配撤消日志页 请向表空间添加新的数据
  • 找不到兼容的方法:将对象传递给方法时出错?

    我正在尝试为我们拥有的一些旧的遗留代码编写junit 下面是我正在为其编写 junit 并使用 jmockit 的 DataLogger 类中的方法 private Object extractMessageObjects final Ob
  • 禁用按钮仍会触发 Click 事件

    我试图防止用户快速垃圾点击按钮 这可能会在代码多次执行时将应用程序冻结几分钟 searchBtn clicked searchBtn Enabled false some code that fills a listview from se
  • 使用/ requestAnimationFrame 更改滚动事件上的 css

    我想更改视口元素的背景颜色 使用overflow scroll 这是我的第一次尝试 http jsfiddle net 2YeZG http jsfiddle net 2YeZG 正如您所看到的 在绘制新颜色之前 前一种颜色会短暂闪烁 其他
  • 在 Coldfusion 中运行 CFGroovy 时,如何在服务器端添加纯 javascript 编译器插件?

    我试图说服自己尝试在服务器上构建增强的 Jquery Mobile 标记 运行Coldfusion8 然后尝试使用DustJS http akdubya github com dustjs Javascript 模板引擎 将标记预编译为 j
  • RESTful API 是否应该为对象数组返回 404?

    假设有一个带订单的产品 如果您询问 products product id 如果product id不存在 它将返回404 但是 如果该产品不存在订单 products product id orders 应该返回 404 还是应该返回空数
  • 通过电子邮件first_or_create,然后保存嵌套模型

    我两个型号User and Submission如下 class User lt ActiveRecord Base Associations has many submissions accepts nested attributes f
  • 从配置文件Python读取值

    我有一个文件 env文件包含 5 行 DB HOST http localhost DB DATABASE bheng local DB USERNAME root DB PASSWORD 1234567890 UNIX SOCKET tm
  • C# 通过添加属性来扩展类[重复]

    这个问题在这里已经有答案了 在 C 中是否可以通过仅添加函数而添加属性来扩展类 例如 我有一个我依赖的标准 DLL 库 但供应商不想修改它 在整个代码中 我已经广泛使用了 DataCell 类 现在才意识到我需要向它添加一个额外的属性 因为
  • 将文件复制到资产文件夹

    经过 1 小时的搜索 我没有找到任何解决我的问题的方法 我想将文件从SD卡移动到资产文件夹 并覆盖资产文件夹中的现有文件 两个文件都是sqlite数据库 名称相同 数据略有不同 实际上 android apk 文件的行为是只读的 因此该 a
  • registerUserNotificationSettings 不显示提示 iOS 8

    我似乎无法收到显示的提示registerUserNotificationSettings在 iOS 8 1 或 8 2 中 这就是我正在做的didFinishLaunchingWithOptions if application respo
  • 记录所有 presto 查询

    如何将提交到 presto 集群的所有查询存储在文件 ORC 文件 或其他数据库中 目的是保存在 presto 工作线程上执行的所有查询的记录 我知道我需要覆盖 queryCompleted 方法 我也尝试遵循this https grou
  • 何时选择 JMS API 而不是 UDP 套接字 API,反之亦然?

    有哪些原因可以促使程序员在分布式 Java 应用程序中使用 Java JMS Java 消息服务 API 而不是 java net 包的 UDP 套接字 API 或者使用 UDP 套接字 API 而不是 JMS API 如果可能 请给出应用