You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Solace Topic Endpoint应用场景及JMS API使用问题咨询

Understanding Solace Topic Endpoints with JMS API (VMR 8.10.0.1092)

Let me break down your observations and walk you through the correct way to work with Solace Topic Endpoints using the JMS API, based on your testing:

Your Observations Explained

1. Can't set Topic Endpoint subscriptions via Management UI

This isn't a bug—it's a design limitation in the 8.10.0.1092 VMR UI. Solace Topic Endpoints are primarily intended to be managed programmatically (via JMS API or Solace management APIs) or via the CLI, rather than through the web UI for subscription configuration.

If you need to manually configure subscriptions for a Topic Endpoint, you can use the Solace CLI:

enable
configure
message-vpn <your-vpn-name>
create topic-endpoint <te-name>
subscribe topic-endpoint <te-name> <topic-string>

2. Auto-creation of random-named Topic Endpoints when sending to an unsubscribed Topic

This behavior is driven by Solace's default auto-create-topic-endpoint setting (enabled by default on most VPNs). When you send a persistent JMS message to a Topic that has no existing durable subscriptions (queues or Topic Endpoints), Solace automatically creates a temporary Topic Endpoint to hold the message until a subscriber connects.

Note: This is generally not recommended for production use, as it can lead to a buildup of unused temporary endpoints. You can disable this behavior via CLI:

message-vpn <your-vpn-name>
no auto-create-topic-endpoint

3. Non-durable subscriptions create random-named Topic Endpoints

This is expected behavior. JMS non-durable subscriptions map to temporary Topic Endpoints in Solace. These endpoints are tied to the client connection—they're automatically deleted when the client disconnects, hence the random, auto-generated names.

4. Durable subscriptions without a name create a Topic Endpoint with the listener class name

When you enable durable subscriptions but don't explicitly specify a subscription name, the JMS API (especially when using Spring JMS) defaults to using the listener class name as the subscription ID. This ID becomes the name of the persistent Topic Endpoint in Solace, which is retained even after the client disconnects.

5. Error when specifying a subscription name matching the Topic string

The Error Response (400) - Endpoint Property Mismatch error occurs because:

  • Solace Topic Endpoint names must be globally unique within your VPN. If a Topic Endpoint with the name T/sampleTopic already existed, it likely had conflicting properties (e.g., different durability settings, or pre-existing subscriptions that didn't match).
  • Additionally, using slashes (/) in Topic Endpoint names isn't recommended—Solace treats slashes as part of the name, but it can lead to confusion with Topic hierarchies. Stick to alphanumeric characters, underscores, or hyphens for endpoint names.

Deleting the existing conflicting Topic Endpoint removes the property mismatch, allowing the new endpoint to be created with your desired subscription.

Best Practices for Using Solace Topic Endpoints via JMS API

  • Explicitly name durable subscriptions: Always specify a unique, meaningful subscription name when creating durable subscriptions. This gives you control over the Topic Endpoint name and avoids conflicts. For example, in Spring JMS:
    @JmsListener(destination = "T/sampleTopic", subscription = "my-durable-sub", durable = true)
    
  • Avoid auto-creation of temporary endpoints: Disable auto-create-topic-endpoint unless you specifically need it, to prevent clutter in your VPN.
  • Use CLI/management APIs for manual config: For pre-configuring Topic Endpoints with specific subscriptions, rely on the Solace CLI or management APIs instead of the web UI (for this version).
  • Clean up unused durable endpoints: Persistent Topic Endpoints remain in Solace until manually deleted—remember to remove them when they're no longer needed to free up resources.

内容的提问来源于stack exchange,提问作者Emman Sun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:58:36