MassTransit 与非 .NET 服务的互操作性

2024-01-03

我一直在使用 MassTransit 并且非常喜欢它。但是,默认情况下,它使用 MassTransit 特有的一些 JSON 包装所有 RabbitMQ 有效负载/消息。这使得与非 .NET 服务交换消息变得困难。我知道 JSON 可以用任何语言进行解析,但 MassTransit 是仅限 .NET 的东西,在我的非 .NET 服务中,我希望避免添加特殊逻辑来处理 MassTransit 生成的消息。

是否可以使用不通过“MessageEnvelope”接口的 MassTransit 序列化 JSON 消息,以与非 MassTransit 服务建立更好的互操作性?或者这样做会破坏大多数/所有 MassTransit 功能吗?


It is 文档中描述 http://masstransit-project.com/MassTransit/advanced/interoperability.html.

由于消息的格式是预先定义的,因此您将无法避免使用一些特殊的逻辑来消费 MT 消息。

这是一条最小的消息:

{
    "destinationAddress": "rabbitmq://localhost/input_queue",
    "headers": {},
    "message": {
        "value": "Some Value",
        "customerId": 27
    },
    "messageType": [
        "urn:message:MassTransit.Tests:ValueMessage"
    ]
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MassTransit 与非 .NET 服务的互操作性 的相关文章

  • 通过 Unity 获取同一消息的多个消费者在 MassTransit 中不起作用

    我最近遇到了很多问题 因为似乎是一个错误MassTransit UnityIntegration包 主要是因为没有考虑注册名称 例如 如果我像这样注册我的课程 var container new UnityContainer Registe
  • 使用 MassTransit 使用交换和路由密钥发布消息

    我已经关注 MassTransit 几个星期了 我对它的可能性很好奇 但是 我似乎无法完全正确地理解这些概念 预期行为我想将消息发布到带有路由密钥的 直接 交换 该路由密钥绑定到两个不同的队列以执行其他活动 当我尝试使用 MassTrans
  • 大众运输消息输入错误

    我尝试通过 MassTransit 发布的消息遇到了基本类型问题 考虑以下 Serializable public abstract class Event CorrelatedBy
  • 有没有办法在设置消费者时定义Azure服务总线规则/过滤器?

    在多租户系统中引入 Azure 服务总线和 MassTransit 时 我正在探索我的选择 基本上 该系统由多项服务组成 其中一些是特定于租户的 而另一些则是共享的 服务在内部保存数据 租户数据是隔离的 每个租户都运行相同的服务集 只是他们
  • 有没有办法从 MassTransit 获取原始消息?

    我有一个具有通用参数的消费者IEvent 该类型是所有消息的基接口 以及子接口IEvent还有一些其他属性 我希望能够访问具有嵌套类型的所有属性的原始消息 而不仅仅是IEvent范围 这些属性可以通过 RMQ 管理仪表板查看 我认为应该有一
  • Localstack 与 MassTransit 未收到消息

    我在使用 LocalStack 测试 MassTransit 时遇到问题 但在 AWS 中使用真正的 SNS SQS 一切正常 因此我怀疑这是 LocalStack 的问题 除非 MassTransit 需要配置 ServiceURL 以外
  • MassTransit Consumer 中的异常冒泡导致 Windows 服务崩溃

    我使用 AutoFac 设置了一个包含 2 个消费者的 Windows 服务 在一条快乐的道路上 这确实非常有效 我的印象是大众交通为我处理了例外情况 正如文档所述 http docs masstransit project com en
  • 阻止 MassTransit 为消费者主机创建 RabbitMQ 交换

    是否可以将 MassTransit 配置为不为消费者主机创建 RabbitMQ 交换 我的 RabbitMQ 用户没有足够的权限在消费队列所在的主机上声明交换 因此 MassTransit 无法启动并出现以下错误 Unhandled Exc
  • MassTransit 与 RabbitMQ:消息何时移至错误队列

    我正在使用 RabbitMQ 版本 3 0 2 我在错误队列中看到接近 1000 条消息 我想知道 消息在什么时候被移至错误队列 有没有办法知道为什么某个消息被移动到错误队列 有什么方法可以将消息从错误队列移动到正常队列吗 谢谢 a 无法反
  • 使用 MSMQ 和 SQL Server 进行分布式事务,但有时会出现脏读

    我们的 SQL Server 2014 数据库设置为READ COMMITTED SNAPSHOT 我们使用 MSMQ 和分布式事务 我们使用 MassTransit 2 10 在我们系统的一部分中 我们从队列中读取一条消息 进行数据库更新
  • MassTransit - 等待所有活动完成然后继续处理

    如果我有很多活动 是否会导致资源阻塞或请求超时 这是我的场景 我有一个 api 控制器 它向消费者发送订单请求 我使用请求 响应模式来接收错误信息来自消费者的属性并基于该属性响应返回 如果它为空我想返回OK 否则 返回BadRequest
  • 派生类型不会发布给 MassTransit 中的消费者

    我在发布派生类型的通用消息以及使用 MassTransit v2 8 0 调用处理程序时遇到问题 如果我发布一条类型的消息HtmlBlockNewMessage 消费者永远不会被调用 如果我发布一个ServiceBusMessage反对并改
  • 如何覆盖 MassTransit 默认交换和队列拓扑约定?

    正如 在我关于SO的一个问题中 所指出的 为什么 MassTransit 中的简单配置会创建 2 个队列和 3 个交换机 https stackoverflow com questions 56064182 why a simple con
  • nServiceBus、公共交通、Rhino 服务总线、其他?

    只是做一些快速的尝试 以可能使用消息传递系统来处理良好解耦的工作流系统中的文件 人们发现使用上述每个框架的优点和缺点是什么 与带有 WCF 绑定和 或非 MSMQ 解决方案的手动 MSMQ 系统相比 使用这些有哪些优势 我建议远离手动解决方
  • 如何通过 InMemoryTestHarness 成功驱动 MassTransitStateMachine?

    跟进 如何编写 MassTransitStateMachine 单元测试 https stackoverflow com questions 49763600 how to write masstransitstatemachine uni
  • 在点网核心应用程序中使用 RabbitMQ 跳过 MassTransit 中的队列

    我有三个项目 一个是Dot net core MVC 两个是API项目 MVC 正在调用一个 API 来获取用户详细信息 当询问用户详细信息时 我通过 MassTransit 向队列发送消息 我看到跳过队列 第三个项目中有消费者 即API项
  • 如何在 MassTransit 3.0 中使用分散/聚集模式实现传奇

    吉米 博加德 Jimmy Bogard 描述麦当劳快餐连锁店here https lostechies com jimmybogard 2013 03 11 saga implementation patterns observer 将其与
  • MassTransit 生成我想忽略的_skipped 队列

    任何人都可以猜出问题是什么 因为我不知道如何解决这个问题 大众运输产生 skipped队列 我不知道为什么它会生成这些队列 它是在执行发布请求响应时生成的 请求客户端是使用 MassTransit RequestClientExtensio
  • MassTransit AzureServiceBus 生成的队列

    我有一个托管在 Azure Service Fabric 解决方案中的 MT 设置的工作配置 我有一个发送消息的 API 和一个读取消息的无状态应用程序 在无状态应用程序中 我告诉它使用类型的消息TestMessage具有以下内容 cont
  • 如何在公共交通中记录失败的消息?

    我正在寻找一个好的解决方案来在超出重试限制后立即记录失败消息 而无需处理错误队列 到目前为止我发现了什么 我可以继承InMemory入站消息跟踪器并覆盖是否超出重试限制 但此时除了 id 之外 没有关于消息本身的信息 我可以实施IInbou

随机推荐

  • 控制数组 vb.net

    我正在尝试在 VB net 中为购物系统编写一个程序 它将读取数据库并填充表单上的项目 该应用程序在可滚动面板内的标签中显示产品名称等信息 我正在创建对象并在运行时分配文本等值 我在代码中使用循环 如果我使用 vb 6 我将有一个控制数组
  • MongoError:连接未知

    我有一个 mongo 服务器在 localhost 27017 上运行 使用 mongo 控制台我可以在 mongodb 中插入数据 但是当我尝试使用 node js 连接它时 我收到上述错误 以下是使用的代码 var MongoClien
  • Anaconda 中的“基础”(最佳实践)的目的是什么?

    它说这是默认环境 但 不过 您不想将程序放入您的基本环境中 那么我到底应该用它做什么呢 我创建的其他环境是否继承自基础环境 基础环境在哪里conda本身被安装 最好使用Miniconda 并安装all将您想要的东西放入单独的环境中 其他环境
  • 如何让 Perl 正则表达式仅在 $1 < $2 时匹配?

    我无法完全开始工作的部分是条件 因为它总是失败 use Test More tests gt 2 my regex qr d d g1 lt g2 FAIL x like 23 36 regex should match unlike 36
  • 用户/角色管理系统的最佳设计? [关闭]

    Closed 这个问题需要多问focused help closed questions 目前不接受答案 这是我多次遇到的软件设计问题 但从未找到理想的解决方案 我现在也再次处理它 许多应用程序需要某种形式的用户 角色管理 您有基本用户 这
  • Chrome 中的 SVG“使用”标签已损坏

    SAP AngularJS 和 Angular Route 具有由 svg sprite 制作的基于图标的导航 所以 我有这样的内联代码 div style height 1 width 1 div
  • `uint64_t` 有什么困难? (从“float”转换组装)

    我现在的情况是需要计算类似的东西size t s size t floorf f 也就是说 参数是浮点数 但它有一个整数值 假设floorf f 足够小 可以准确表示 在优化这个的过程中 我发现了一些有趣的事情 以下是一些转换自float到
  • 如何在 Maple 中加载包?

    我想使用一个名为 ESC 椭圆面计算器的包 可以用Maple上传 创建者的指示是 使用字符编码 ISO 8859 1 ISO Latin 1 另存为文本文件 并使用 读取 命令在 Maple 中加载 我在上传到 Maple 并使用此编码保存
  • Android开发:如何以位图形式打开.dcm文件?

    我目前正在尝试制作一个 android dicom 应用程序 以下代码以 通常 图像格式从 res drawable 打开图片 但不适用于 dcm public class BitmapView extends View public Bi
  • 如何将西里尔字母音译为拉丁文本

    我有一种方法可以将任何拉丁文本 例如英语 法语 德语 波兰语 转换为其 slug 形式 e g Alpha Bravo Charlie gt alpha bravo charlie 但它不适用于西里尔文文本 例如俄语 所以我想做的是将西里尔
  • Java库为Postgres COPY编写二进制格式?

    有没有人遇到过 Java 库 或只是一些代码 来编写binaryPostgres 使用的格式复制命令 http www postgresql org docs 9 2 interactive sql copy html AEN66736 它
  • 在keras中模型预测后如何恢复原始值?

    这是一个更概念性的问题 但我必须承认我已经处理它有一段时间了 假设您想使用 keras 等来训练神经网络 NN 由于建议您在训练之前对数据进行标准化或标准化 因此 例如 通过标准化 x new x old mean standarddev
  • ISO 国家/货币数据

    All 我们的应用程序需要有关 ISO 国家和货币的数据 其中数据必须是最新的 我们确实从 ISO 本身购买了国家 货币数据 但是我们仍然需要对数据执行大量手动操作 以及编写我们自己的工具来读取数据并将其处理到我们的数据库中 我们是否会以错
  • 资产目录错误:CUICatalog:找不到名称的再现

    突然之间 虽然我没有发生明显的变化 但我现在从资产目录中的图像中收到以下错误 2013 10 30 14 44 46 629 MyApp 38590 a0b CUICatalog Can t find rendition for name
  • 句柄、指针和引用之间有什么区别

    句柄与指向对象的指针有何不同 为什么我们不能拥有对引用的引用 句柄通常是一个opaque对一个对象的引用 句柄的类型与引用的元素无关 例如 考虑由返回的文件描述符open 系统调用 类型是int但它代表打开文件表中的一个条目 表中实际存储的
  • 如何访问 webrick 提供的 .rhtml 页面的 html 请求参数?

    我正在使用 webrick 内置的 ruby 网络服务器 来提供 rhtml 文件 嵌入 ruby 代码的 html 就像 jsp 它工作正常 但我不知道如何访问参数 例如 http localhost mypage rhtml foo b
  • 在 Visual Studio 2013 中生成单元测试报告

    我在 Visual Studio 2013 的 C 项目中有一组单元测试 有没有办法从单元测试结果生成报告 我需要一份报告作为测试运行时间和结果的证据 我不是指在线 CI 服务器报告 而是指本地文件报告 VS2013有什么好的插件吗 我调查
  • 在 cygwin 上安装 Poppler

    我刚刚下载了 Poppler 0 16 5 但我对如何在 cygwin 上安装这个包一无所知 谁能告诉我安装 poppler 的正确命令是什么 实际上 Cygwin 1 7 17 1 中有一个 poppler 包 Run setup exe
  • 如何使 Pygame 零窗口全屏?

    我正在使用易于使用的 Python 库 pgzero 它使用pygame内部 用于游戏编程 如何让游戏窗口全屏显示 import pgzrun TITLE Hello World WIDTH 800 HEIGHT 600 pgzrun go
  • MassTransit 与非 .NET 服务的互操作性

    我一直在使用 MassTransit 并且非常喜欢它 但是 默认情况下 它使用 MassTransit 特有的一些 JSON 包装所有 RabbitMQ 有效负载 消息 这使得与非 NET 服务交换消息变得困难 我知道 JSON 可以用任何