JMS消息大小

2024-01-07

我目前正在研究使用 JMS(即 Spring 框架 JMS 和 Active MQ)在服务器和客户端之间发送有效负载消息的应用程序的带宽限制功能(不要问我为什么,这不是我的决定)。

我发现了很多限制传入 JMS 消息的方法(但没有一个基于实际带宽负载),但是我没有找到任何可能的方法来限制传出消息流。所以我决定写漏桶算法 http://en.wikipedia.org/wiki/Leaky_bucket靠我自己。

有什么方法可以获取JMS消息的大小吗?除了 Java 中的“sizeof”实现之外(在Java中,确定对象大小的最佳方法是什么? https://stackoverflow.com/questions/52353/in-java-what-is-the-best-way-to-determine-the-size-of-an-object)


我认为没有比测量其序列化大小更好的替代方法来确定 JMS 消息大小。

但如果您愿意,您可以添加一些优化。消息有多种类型(例如 MapMessage、ObjectMessage、TextMessage)。

文本消息的大小是其文本的长度。 Map消息的大小是其所有字段的总大小。这些字段是原语或java.util.Date,因此测量它们不是问题。 对象消息包含可序列化的对象,因此您可以通过写入ByteOutputStream来测量其大小。

我认为,如果您使用大多数 JMS 提供程序的隐藏功能来发送延迟消息,那么使用 JMS 实现漏桶可能会得到简化。您可以在将消息放入队列时对其进行测量,并决定希望订阅者何时接收它。 有关如何发送延迟消息的详细信息,请阅读此处:http://alexradzin.blogspot.com/2010/10/send-delayed-jms-messages.html http://alexradzin.blogspot.com/2010/10/send-delayed-jms-messages.html

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

JMS消息大小 的相关文章

随机推荐

  • 创建带有前导零的数字序列[重复]

    这个问题在这里已经有答案了 这个问题之前已经使用 Console writelines 函数解决过 但这在我的 R 版本中不可用 而且我找不到它属于哪个包 我只是想以 xxx 格式创建一个从 0 99 到前导零的数字序列 所以我的数字应该是
  • 如何将 MongoDB 对象提取到 pandas Dataframe?

    我想从 MongoDB 集合中仅提取一个我需要的对象 有一个关于 manuelActivityInfo 对象的示例 x list coll find activities manuelActivityInfo exists True act
  • maxRequestPathLength 不在 ASP.NET 4 文档中并且不起作用

    如果我尝试在 ASP NET 应用程序中使用新的 maxRequestPathLength 设置 它将不起作用 我收到无法识别的属性错误 我尝试过在 IIS 7 中使用 ASP NET Integrated 和 Classic 应用程序池
  • 服务器端的客户端证书验证,DEPTH_ZERO_SELF_SIGNED_CERT 错误

    我正在使用节点 0 10 26 并尝试通过客户端验证建立 https 连接 服务器的代码 var https require https var fs require fs process env NODE TLS REJECT UNAUT
  • R闪亮:彩色文件输入按钮和进度条

    有没有办法上色fileInputR 中的按钮闪亮吗 看起来这是可能的 如此处所示page https github com rstudio shiny pull 602在 github 上 但是我找不到完成此操作的代码 这是一个简单的应用程
  • 尝试在新解决方案中启用 NuGet Package Restore 时出错

    尝试在我刚刚创建的新解决方案中启用包还原时出现错误 VS2012中的错误是 NuGet 包管理器 配置解决方案以还原 NuGet 时出错 构建中的包 无法从路径 NuGet Build 2 7 0 npkg 读取包 我尝试在 VS2010
  • 从日期/时间字符串获取时间

    我有一个日期值存储在变量中 我需要将值的时间部分提取到一个单独的变量中 然后从中添加 减去时间 日期变量使用 date YmdHis 设置 例如 20110805124000 表示 2011 年 8 月 5 日 12 40 00 从值 20
  • PInvoke - 从指针编组结构数组

    我正在尝试遵循以下答案这个问题 https stackoverflow com a 2403083 27494 我的结构在 C 中看起来像这样 typedef struct drive info t unsigned char drive
  • 将 Apache Cordova/PhoneGap 与 Android 2.x 结合使用

    似乎不可能为 Android 2 x 创建 PhoneGap 应用程序 是对的吗 要使用phonegap运行Android应用程序 请将您的应用程序构建为Android 4 0 3 并将最低版本设置为您想要的较低版本 基本上 Android
  • cPanel cron 作业,未指定输入文件?

    我刚刚设置了我的第一个 cron jon 来每晚运行一个股票脚本 手动运行它效果很好 它存储在 admin stock update php中 我正在运行的命令是 usr bin php q admin stock update php 但
  • 如何对类的单个枚举进行 Javadoc

    我正在为一个包含自己的枚举的类编写 Javadoc 有没有办法为各个枚举生成 Javadoc 例如 现在我有这样的事情 This documents HairColor private static enum HairColor BLACK
  • 从方法返回泛型类型的实例

    我想要一个方法getInstance它接受一个字符串值并返回一个对象实例 在方法签名中定义为泛型 def getInstance T dataStr String Option T T match case typeOf String gt
  • Avro 模式中的多态性和继承

    是否可以编写一个 Avro 模式 IDL 来生成一个扩展基类或实现接口的 Java 类 生成的 Java 类似乎扩展了org apache avro specific SpecificRecordBase 因此 工具可能是一条出路 但是 我
  • 由矩形组成的形状最少有多少个矩形?

    我不确定是否有算法可以解决这个问题 将给定数量的矩形从左到右水平并排放置以形成一个形状 您将获得每个的宽度和高度 您如何确定覆盖整个形状所需的最小矩形数量 即 您将如何使用尽可能少的矩形重新绘制该形状 我只能考虑尝试挤压尽可能多的大矩形 但
  • 有没有办法区分 iPhone 3G/S 访问者和 iPhone 4 访问者?

    我想为 iPhone 4 用户加载更高分辨率的图片 但我知道检测用户的唯一方法是通过用户代理 但我的印象是任何 iOS4 手机上的 MobileSafari 用户代理都是一样的 我该怎么做才能检测到 iPhone 4 您可以使用 CSS3
  • 如何使用 java 和 xmlunit 比较具有相同命名空间但不同前缀的两个 xml

    我有 2 个 xml 文件 问题出在属性前缀中
  • 水平 ListView Xamarin.Forms

    有什么办法可以创建ListView with horizontal scroll in Xamarin Forms喜欢图像 这就是我为垂直所做的 var myListView new ListView ItemTemplate new Da
  • 在同一端口上运行两个 Web 应用程序?

    我们有两个不同的 Java Web 应用程序 名为 foo war 和 bar war 我们希望将它们部署在 Jetty 服务器上 Jetty 正在机器上的 8080 端口上运行 是否可以在同一端口上同时运行两个应用程序 如果没有 在同一码
  • 单击通知即可转到当前活动

    我正在使用这个解决方案 如何使通知意图恢复而不是制定新意图 https stackoverflow com questions 3305088 how to make notification intent resume rather th
  • JMS消息大小

    我目前正在研究使用 JMS 即 Spring 框架 JMS 和 Active MQ 在服务器和客户端之间发送有效负载消息的应用程序的带宽限制功能 不要问我为什么 这不是我的决定 我发现了很多限制传入 JMS 消息的方法 但没有一个基于实际带