ActiveMQ 5.7.0 编译失败

ActiveMQ 5.7.0 compilation failure

此语句无法编译为 getUserGroups returns a Map<String, Set<Principal>>.

Map<String, Set<GroupPrincipal>> usergroups = ((SimpleAuthenticationPlugin) plugin).getUserGroups();

有谁能帮忙吗

注意:相同的代码适用于 ActiveMQ 5.2.0

此代码几乎在 十年前 之前通过 this commit. It was related to AMQ-3322 进行了更改。 Jira 没有特别清楚地解释为什么要进行更改。它只是说:

Genrify [sic] code to improve compile time safety.

我建议您将插件和代理更新到 latest version。即使是 5.7.0 在这一点上也很老了。

您是否绑定到较旧的 JDK 版本?那将是留在 5.7.0 上的唯一原因。否则,正如@justin 所指出的,您应该升级。

如果您必须保留 v5.7.0 版本,则必须修补 5.7.0 代码库以更改 return 类型以匹配。 'middle' 版本号更改(即 5.2.x -> 5.7.x)允许这些类型的内部-API、非面向客户端的方法签名更改。