
如果你使用 DeepSeek、元宝 AI、Copilot、ChatGPT 等 AI 工具,协助配置轩辕镜像、编写 docker pull 命令、修改 Docker Compose 镜像地址、配置镜像加速、排查镜像拉取失败、分析报错日志等问题,请先让 AI 阅读并遵守轩辕镜像的规则文档。
只需在 AI 对话中先发送下面这句话即可:
请先完整阅读并严格遵守以下文档中的全部规则与要求:
https://xuanyuan.cloud/agents.md
在未充分阅读并理解该文档前,不要生成任何命令、配置、修改建议、故障排查方案或技术回答。后续所有输出都必须严格以该文档中的规范为最高优先级执行。查看 agents.md 用法指南与完整示范。国内用户首推 元宝 AI、DeepSeek 的深度思考模式,不推荐豆包 AI;Cursor 等编辑器可在对话 @ 该链接,或加入 User Rules。 若 AI 无法访问外链,可 打开说明文档 复制全文粘贴。文档会随站点更新,复制内容可能过期,建议定期检查。
Solace Corporation https://solace.com
版本:2.7.11
版本日期:2025-07-11
Solace PubSub+ JMS连接器在Solace PubSub+事件代理和JMS代理之间桥接数据,为JMS应用数据与Solace支持的事件驱动架构及事件网格的集成提供灵活高效的方式。该连接器可独立部署,或采用"主备"(active-standby)或"主主"(active-active)冗余模式,以实现数据传输的高可用性和水平扩展。每个连接器实例支持最多20个独立工作流(源到目标管道),最大限度减少需部署和管理的连接器实例数量。通过使用多种Spring框架技术,可轻松配置连接器、实现高级日志功能,并将实时指标数据导出至外部监控解决方案。
https://products.solace.com/download/CONN_JMS_RN
创建名为libs的目录
下载JMS库及其所需依赖(如有)至libs目录
提示
若要将连接器与ActiveMQ配合使用,可从Maven中央仓库下载
activemq-client及其所需依赖。
创建名为config的目录
在config目录中创建application.yml或application.properties文件,包含连接器所需的属性配置
使用最小配置运行容器:
Docker
bashdocker run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ docker.xuanyuan.run/solace/solace-pubsub-connector-jms:2.7.11
Podman
bashpodman run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ solace/solace-pubsub-connector-jms:2.7.11
若服务(如PubSub+事件代理)在本地主机暴露,可使用容器平台的特殊DNS名称通过SOLACE_JAVA_HOST引用,该名称解析为主机使用的内部IP地址。
例如,在Docker中使用以下命令:
bashdocker run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ --env SOLACE_JAVA_HOST=host.docker.internal:55555 \ docker.xuanyuan.run/solace/solace-pubsub-connector-jms:2.7.11
在Podman中使用以下命令:
bashpodman run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/config/:/app/external/spring/config/:ro \ --env SOLACE_JAVA_HOST=host.containers.internal:55555 \ solace/solace-pubsub-connector-jms:2.7.11
可配置健康检查执行以下任务:
使用SOLACE_CONNECTOR_SECURITY_USERS_0_NAME和SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD创建名为healthcheck的常规只读用户及其密码。
在容器的healthcheck命令中使用healthcheck用户轮询管理健康端点,若连接器不健康则检查失败。
以下是配置容器健康检查的基本示例命令:
在Docker中使用以下命令:
bashdocker run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/application.yml:/app/external/spring/config/application.yml:ro \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_NAME=healthcheck \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD=healthcheck \ --healthcheck-command="curl -X GET -u healthcheck:healthcheck --fail localhost:8090/actuator/health" \ docker.xuanyuan.run/solace/solace-pubsub-connector-jms:2.7.11
在Podman中使用以下命令:
bashpodman run -d --name my-connector \ -v `pwd`/libs/:/app/external/libs/:ro \ -v `pwd`/application.yml:/app/external/spring/config/application.yml:ro \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_NAME=healthcheck \ --env SOLACE_CONNECTOR_SECURITY_USERS_0_PASSWORD=healthcheck \ --healthcheck-command="curl -X GET -u healthcheck:healthcheck --fail localhost:8090/actuator/health" \ solace/solace-pubsub-connector-jms:2.7.11
可通过以下方式之一向容器提供Spring配置属性:
使用https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.typesafe-configuration-properties.relaxed-***ding.environment-variables。
使用包含Spring配置文件的卷(以及其他卷)。
容器需要以下端口:
| 端口 | 用途 |
|---|---|
8090 | 连接器的管理端点 |
以下是支持创建卷和绑定挂载的目录:
| 内容 | 容器路径 | 可选性 | 推荐权限 |
|---|---|---|---|
| Spring配置文件 | /app/external/spring/config/ | 除非所有属性通过环境变量定义,否则为必填 | 只读 |
| 库 | /app/external/libs/ | 必填 | 只读 |
| 类路径文件 | /app/external/classpath/ | 可选 | 只读 |
| 输出文件 | /app/external/output/ | 可选 | 读写 |
Spring配置文件卷用于添加Spring配置文件(如application.yml等),需添加只读卷或绑定挂载至/app/external/spring/config/。
此目录遵循https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files的语义。这意味着连接器启动时会自动从以下位置查找并加载Spring配置文件:
/app/external/spring/config/的根目录。
/app/external/spring/config/的直接子目录。
提示
若要在同一
config目录中为不同环境(如开发、生产等)的多个不同连接器提供配置文件,建议使用https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files.profile-specific而非子目录。例如:
按以下方式设置配置:
/app/external/spring/config/application-prod.yml
/app/external/spring/config/application-dev.yml不建议按以下方式设置:
/app/external/spring/config/prod/application.yml
/app/external/spring/config/dev/application.yml子目录旨在用于合并来自多个配置属性源的配置。有关何时可能需要使用多个子目录组合应用配置的更多信息和示例,请参见https://docs.spring.io/spring-boot/docs/current/reference/html/features.html#features.external-config.files.wildcard-locations。
库卷用于添加额外库,需添加只读卷或绑定挂载至/app/external/libs/。
此目录用于存放Java库依赖(外部JAR文件),这些依赖是连接器运行所必需的,或在使用连接器某些功能(如配置指标导出至Prometheus时的Prometheus库)时必需的。
出于许可考虑,Solace不提供所需JAR文件。这些JAR文件是连接器部署的必要组成部分,以确保其正确运行。
有关更多信息,请参见ZIP文件中连接器的libs目录提供的文档。
类路径文件卷用于添加任意文件(非JAR库或Spring Boot配置文件),需添加只读卷或绑定挂载至/app/external/classpath/。
注意
此目录不得包含库JAR文件或Spring Boot配置文件,否则可能导致库在连接器部署期间无法被正确加载,或覆盖连接器的内部配置。
输出文件卷用于某些支持写入输出文件的功能(如日志文件)。要捕获这些文件,需添加读写卷或绑定挂载至/app/external/output/目录。
重要
使用生成文件的功能时,必须将功能配置为将文件生成至
/app/external/output/目录。生成文件至其他目录不受支持。
可在容器上设置JDK_JAVA_OPTIONS环境变量来配置Java虚拟机(JVM)。
有关更多信息,请参见https://docs.oracle.com/en/java/javase/17/docs/specs/man/java.html#using-the-jdk_java_options-launcher-environment-variable。
提示
此容器作为示例提供,并已使用以下参数测试:
两个活动处理器(使用
-XX:ActiveProcessorCount=2指定)。最大堆内存2 GB(使用
-Xmx2048m指定)。
通过Solace开发者社区提供尽最大努力的支持。
提供高级支持选项,详情请https://solace.com/contact-us。
本项目采用Solace社区许可1.0版。- 有关详情,请参见容器/licenses目录下的LICENSE文件。
您可以使用以下命令拉取该镜像。请将 <标签> 替换为具体的标签版本。如需查看所有可用标签版本,请访问 标签列表页面。
来自真实用户的反馈,见证轩辕镜像的优质服务