【问题标题】:ActiveMQ 5.7.0 compilation failureActiveMQ 5.7.0 编译失败
【发布时间】:2021-03-23 00:14:25
【问题描述】:

此语句编译失败,因为getUserGroups 返回一个Map<String, Set<Principal>>。

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

谁能帮帮我。

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

【问题讨论】:

    标签: java activemq


    【解决方案1】:

    这段代码几乎在 十年 前通过 this commit 更改。它与AMQ-3322 有关。 Jira 没有特别清楚地解释为什么要进行更改。它只是说:

    Genrify [原文如此] 代码以提高编译时安全性。

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

    【讨论】:

    • 非常感谢您提供的信息。
    【解决方案2】:

    您是否绑定到较旧的 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 存储库中的库)?
    • 部署此插件需要什么版本的 ActiveMQ 代理?是升级到最新的 5.15.x 还是 5.16.x 选项?
    猜你喜欢
    • 1970-01-01
    • 2021-10-07
    • 1970-01-01
    • 2021-06-14
    • 2021-01-29
    • 2018-11-06
    • 1970-01-01
    • 2013-02-01
    • 2016-08-16
    相关资源
    最近更新 更多