从Play 2.6升级到2.7:如何重构此Play.current语句以使用DI

问题描述 投票:0回答:1

在我的Java 8 Play 2.6应用程序中,我在MessageConsumer类中具有此特定行,该类读取数据库中的“ Rule”记录,并根据规则上配置的类型将JSON消息(node)发送到特定处理器柱。 ProcessType是一个子类的枚举,所有这些子类都从基(超类)过程扩展而来。

Play.current().injector().instanceOf(ProcessType.getClass(matchingRule.getProcessType())).processMessage(node, matchingRule);

我无法弄清楚如何重构它,并且如果可以避免的话,不想添加allowGlobalApplication = true配置参数。

dependency-injection java-8 playframework global-variables
1个回答
0
投票

最直接的方法是将Injector注入到包含此调用的组件(MessageConsumer)中。可以通过与其他任何Play组件相同的方式来完成此操作。

© www.soinside.com 2019 - 2024. All rights reserved.