当前位置: 首页 > 知识库问答 >
问题:

使用Solace发布大文本。NET发布服务器访问队列

长孙阳成
2023-03-14

我正在尝试使用Solace将一条大文本消息发布到Solace队列。NET API。我在另一个JAVA应用程序中订阅了该队列。当消息大小很小时,它工作得非常好。但如果消息较大,订户将无法读取消息。

        messageToPublish = readFile();
        IMessage message = ContextFactory.Instance.CreateMessage();
        message.Destination = queue;
        message.DeliveryMode = MessageDeliveryMode.Direct;
        //message.BinaryAttachment = Encoding.ASCII.GetBytes(messageToPublish);
        SDTUtils.SetText(message, messageToPublish);
        session.Send(message); 

是否有运行会话的方法。同步发送(消息)?

谢谢

共有2个答案

樊飞飙
2023-03-14

Eclipse还可能存在一个打印错误。您是否能够验证Java应用程序是否实际收到了该消息?

String myReceivedText = ((TextMessage) message).getText();
System.out.println("myReceivedText.length = " + myReceivedText.length());

如果能收到带有正确长度的消息,那么很可能是这个Eclipse bug:java System.out.println()奇怪的行为长字符串

通过命令行运行Java应用程序将显示长字符串。

百里渊
2023-03-14

Solace设备/虚拟消息路由器(VMR)可能已丢弃该消息。

在Appliance/VMR上,您可以查看队列统计信息以确定消息发生了什么。双击SolAdmin中的队列名称以显示以下窗口。

在这个屏幕截图中,我的消息被丢弃,因为超过了假脱机配额。(注意,我为快速复制配置了一个非常小的配额。)

请注意,您已选择使用MessageDeliveryMode。Direct,这意味着消息将通过可靠但不受保证的通道传递。如果无法传递直接消息,则不存在负面确认。

如果必须保证消息,请选择MessageDeliveryMode。应使用持久性。如果无法传递消息,将触发RejectedMessageError会话事件以指示出现了问题。您可能需要参考AdPubAck。cs示例代码在Solace中。NET API获取详细信息。

 类似资料:
  • hprose 为发布服务提供了多个方法,这些方法可以随意组合,通过这种组合,你所发布的服务将不会局限于某一个函数,某一个方法,某一个对象,而是可以将不同的函数和方法随意重新组合成一个服务。 AddFunction 方法 AddFunction(name string, function interface{}, option ...Options) Service 该方法的用于发布一个函数(命名函

  • 更新时间:2019-05-30 16:03:18 服务开发、调试完成后,需发布到云端,才能被调用。 操作步骤 在服务开发平台,单击页面右上角发布。 在弹出对话框中,填入描述信息后,单击确定。 执行结果服务发布后,IoT Studio为该服务生成默认访问域名。您便可在其他应用开发时使用该服务,或将服务进行商业化使用。 选择页面正上方**发布 > 域名管理**,查看默认域名,或配置自定义域名。

  • 这是我的GitBook书籍 一、发布前准备工作 1.1、上传 GitBook 到 GitHub 仓库 在 GitHub 上新建一个仓库 把本地创建 GitBook 上传到 GitHub 仓库 二、gitbook官网发布 GitBook 简明教程这个教程是针对比较老的GitBook版本,其实对新版本的GitBook参考意义不大。 2.1、注意事项 gitbook官网 必须翻墙,可能因为节点不是美国的

  • 我对一个发布者-多个订阅者模式的实现有疑问。发布者使用固定大小的缓冲区并将消息排队。消息被发送给所有订户。订阅者获取消息的顺序必须与发布消息的顺序相同。 我使用阻止队列来保存发布者消息(发布者队列)并将其传递给每个订阅者阻止队列(订阅者队列)。 问题是缓冲区和订阅服务器工作正常,但缓冲区大小 (发布者Queue.size()) 始终返回 1。 这是我的完整代码: PublisherSubscrib

  • SOFARPC 的服务发布和引用的基本配置已经在「编程界面」章节中说明,这里主要介绍服务发布和引用的一些特性。 同一服务发布多种协议 在 SOFARPC 中,可以将同一个服务发布成多个协议,让调用端可以使用不同的协议调用服务提供方。 如果使用 Java API,可以按照如下的代码构建多个 ServerConfig,不同的 ServerConfig 设置不同的协议,然后将这些 ServerConfi

  • 更新时间:2019-06-10 19:11:40 在Web可视化开发中使用API服务 1.首先需要把服务发布上线。 2.在Web可视化开发中添加一个支持服务开发的组件例如“文字”。 3.在右侧面板中选择配置数据->接口->服务开发工作台->选择接口->静态参数 4.点击验证数据格式获取服务返回数据 5.你可以使用服务开发中的脚本节点进行数值格式的转换 参考案例:目标将小区监测中的温度数值输出到We