用途:在 SAP CAP 中实现事件驱动模式,包括发布与消费事件、接入 SAP Event Mesh、使用 CloudEvents 格式、配置消息服务与主题命名。主要能力:在 CDS 服务中用 event 声明事件(自动成为 CloudEvents 主题);通过 this.emit 发布事件,通过 cds.connect.to 连接服务并订阅事件;支持 enterprise-messaging(AMQP,兼容旧系统)、event-mesh(HTTP/webhooks,生产云部署)、event-mesh-shared(AMQP,共享/混合与多租户)三种 kind;CAP 自动派生主题 sap/cap/{namespace}/{service}/{event},可用 @(topic: '...') 覆盖;CAP 7+ 默认使用 Outbox,事件与数据写入同一事务后异步投递,可用 { queue: false } 关闭。用法:用 cds add event-mesh 或 cds add event-mesh-shared 快速配置;在 package.json/.cdsrc.json 的 cds.requires.messaging 中设置 kind 与 format: cloudevents;在 mta.yaml 绑定 enterprise-messaging 实例并提供 em-config.json 描述符;本地开发可用 kind: file-based-messaging,事件写入 ~/.cds-msg-box/。限制与注意:Event Mesh 至少一次投递,消费者需幂等;应在服务 init 中订阅而非 bootstrap;避免在事务提交前发布事件、使用通用主题名或硬编码命名空间。
messaging
通用与其它
更新于 10-16 02:37