【发布时间】:2019-05-06 13:37:18
【问题描述】:
我们在项目中使用了 solace-cache/solcache。在我们的开发环境中,我们很难去安慰管理员请求缓存刷新。
我的问题是:
使用 solace java API,我们是否可以清除整个 solace 缓存实例和/或是否可以删除已存储在缓存中的特定键?
如果没有,是否有任何简单的命令可以使用 SEMP 协议来执行此操作,而无需完整的管理员权限来保护设备?
谢谢,
【问题讨论】:
我们在项目中使用了 solace-cache/solcache。在我们的开发环境中,我们很难去安慰管理员请求缓存刷新。
我的问题是:
使用 solace java API,我们是否可以清除整个 solace 缓存实例和/或是否可以删除已存储在缓存中的特定键?
如果没有,是否有任何简单的命令可以使用 SEMP 协议来执行此操作,而无需完整的管理员权限来保护设备?
谢谢,
【问题讨论】:
最简单的选择是实际向管理员请求一个有限的管理帐户,该帐户只有对您的 message-vpn 的读/写权限。 然后,您可以使用 SolAdmin 等管理工具来管理您的 VPN。
如果做不到这一点,这可以通过执行 SEMP over message bus 命令来完成。
将以下消息发布到主题#SEMP/<router name>/ADMIN/DISTRIBUTED-CACHE
<rpc>
<admin>
<distributed-cache>
<name>myDistributedCacheName</name>
<vpn-name>myVpnName</vpn-name>
<delete-messages>
<topic>my/topic/name</topic>
</delete-messages>
</distributed-cache>
</admin>
</rpc>
可以在主题字符串中指定通配符。例如,使用“>”的主题字符串将删除缓存中的所有消息。
请注意,您的 message-vpn 必须配置为:
有关在您的 message-vpn 中启用这些功能的详细信息,请参阅here。
有关通过消息总线发布 SEMP 请求的详细信息,请参阅 here。或者,请参阅 Solace Java API 提供的 SempGetOverMB.java 示例。
【讨论】: