我目前在axis2中定义了jms代理ip.xml:
<transportReceiver name="jms" class="org.apache.axis2.transport.jms.JMSListener">
<parameter name="default" locked="false">
<parameter name="java.naming.provider.url" locked="false">failover:tcp://IP_OF_BROKER:61616</parameter>
...
</parameter>
</transportReceiver>
并在代理服务中使用它:
<proxy name="MyJmsQueue" transports="jms">
...
</proxy>
如何将 jms 代理的 ip 和端口放在 axis2.xml 文件之外?
注意:我想要它在外面的原因是 axis2.xml 包含许多不依赖于环境(测试、生产等(的"技术"配置。但是 jms 代理的 ip 和端口通常会发生变化(就像任何后端服务的 ip 和端口一样(。
如果要从 axis2 XML 文件外部化 JMS 配置,可以使用 JMS 入站协议。这是一种更简洁的实现方式,您可以通过 CAR 文件打包所有配置。您可以通过浏览官方文档找到有关 JMS 入站协议的更多详细信息和示例。