1

我不得不将一个旧的 JHipster 应用程序迁移到 JHipster 5.0 beta 0 以解决几个错误,当我这样做时,我尝试将 JHipster Registry 添加到它(该应用程序是负载平衡的,带有 Hazelcast 缓存)。

新的 5.0 应用程序从未完全启动,并且似乎在 Hazelcast 配置后立即被锁定。最后的日志行是:

2018-04-12 16:04:03.317  INFO 4160 --- [  restartedMain] com.hazelcast.core.LifecycleService      : [172.17.0.1]:5701 [dev] [3.9.3] [172.17.0.1]:5701 is STARTING
2018-04-12 16:04:03.378  WARN 4160 --- [  restartedMain] com.hazelcast.instance.Node              : [172.17.0.1]:5701 [dev] [3.9.3] No join method is enabled! Starting standalone.
2018-04-12 16:04:03.379  INFO 4160 --- [  restartedMain] com.hazelcast.system                     : [172.17.0.1]:5701 [dev] [3.9.3] Cluster version set to 3.9
2018-04-12 16:04:03.425  INFO 4160 --- [  restartedMain] com.hazelcast.core.LifecycleService      : [172.17.0.1]:5701 [dev] [3.9.3] [172.17.0.1]:5701 is STARTED

经过进一步调查,我使用 JHipster 创建了两个准系统单体应用程序,一个带有注册表,一个没有。然后我在两个项目中添加了以下配置类:

@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)
public class SecurityConfigurationAdditional extends GlobalMethodSecurityConfiguration {

    @Autowired
    private UserRepository userRepository;

    @Override
    protected MethodSecurityExpressionHandler createExpressionHandler() {
        return null;
    }
}

没有注册表的项目按预期工作,但另一个项目(有注册表)以相同的方式锁定。

对此负责的似乎是自动装配的 UserRepository,因为当我注释掉这个时,带有注册表的项目也可以正常工作。罪魁祸首必须是 Netflix Eureka 和/或 Spring Cloud,它们是我的两个项目之间的唯一区别。

有没有人看到这种行为?

4

0 回答 0