Java ActiveMQ 5.7.0编译失败

Java ActiveMQ 5.7.0编译失败,java,activemq,Java,Activemq,此语句无法编译,因为getUserGroups返回一个Map Map usergroups=((SimpleAuthenticationPlugin)插件).getUserGroups(); 这里谁能帮忙吗 注意:同样的代码适用于ActiveMQ 5.2.0这段代码几乎在十年前通过修改过。这是与我有关的。Jira没有一个特别明确的解释来解释为什么会做出改变。它只是说: Genrify[sic]代码,以提高编译时安全性 我建议您将插件和代理更新到。即使是5.7.0在这一点上也很旧。您是否绑定到较

此语句无法编译,因为
getUserGroups
返回一个
Map

Map usergroups=((SimpleAuthenticationPlugin)插件).getUserGroups();
这里谁能帮忙吗


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

这段代码几乎在十年前通过修改过。这是与我有关的。Jira没有一个特别明确的解释来解释为什么会做出改变。它只是说:

Genrify[sic]代码,以提高编译时安全性


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

您是否绑定到较旧的JDK版本?这将是继续使用5.7.0的唯一原因。否则,正如@justin所指出的,您应该升级


如果必须保持在v5.7.0版本上,则必须修补5.7.0代码库,以更改要匹配的返回类型。“中间”版本号更改(即5.2.x->5.7.x)允许对方法签名进行这些类型的内部API、非面向客户端的更改。

非常感谢您提供的信息。因此我使用了旧的JDK和5.2 AMQ。但现在升级到Azul JDK 1.8。“您必须修补5.7.0代码库”,您的意思是5.7.0的本地版本,返回类型更改(这不是我的选项,因为需要使用组织的maven repo库)?部署此插件需要哪个版本的ActiveMQ代理?升级到最新的5.15.x或5.16.x是一个选项吗?
Map<String, Set<GroupPrincipal>> usergroups = ((SimpleAuthenticationPlugin) plugin).getUserGroups();