问题标签 [governator]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
46 浏览

java - Governator 的生命周期特性,无需调用 Governator.createInjector

我想在不调用的情况下使用 Governator 的生命周期功能,Governator.createInjector因为我的 Guice 注入器周围已经有一些包装器,并且切换两者将相当棘手。

文档,说如下:

Governator 为 Guice 的 Guice.createInjector 提供了一个简单的包装器,通过它添加生命周期管理。

稍后,将给出示例作为 的替代方案awaitTermination(),包括注入器的可能性。

这似乎表明我有可能根本不使用Governator.createInjector

如果这是真的,我如何仅使用模块来使用Governator 的生命周期功能?我必须加载哪些模块?LifecycleModule似乎很简单,但还有其他人吗?

0 投票
0 回答
370 浏览

guice - Netflix Governator 使用 Archaius 配置提供程序进行配置

我想使用 Archaius 配置提供程序配置一个由管理者驱动的项目。我正在使用Governator 1.10.5 版。

我查看了如何配置 ArchaiusConfigurationProvider,在此处进行了描述。

我的用例是我通过将 DefaultGovernatorConfiguration 构建器传递给 Governator.createInjector() 来创建 LifeCycleInjector。我已经看到这个调用被弃用了,但是有没有办法可以将 ArchaiusConfigurationProvider 设置到传入的治理器配置上?在以前的 DefaultGovernatorConfiguration 版本中,有一些方法可以将 BootStrap 模块添加到配置中(在上面的链接中描述为第二个选项),但在最新版本中没有。

还查看上面链接中描述的第一个选项,他们说可以通过执行以下操作来配置提供程序:

“使用 @AutoBindSingleton 注释 ConfigurationProvider(确保它位于传递给类路径扫描器的包集中)。” 在 ArchaiusConfigurationProvider 的情况下,我该怎么做呢?我是否需要围绕它编写一个包装器,并使用@AutoBindSingleton 进行注释?

另外,我注意到一些项目 karyon,它在这里描述它“将 ArchaiusConfigurationProvider 绑定为管理者的 ConfigurationProvider”。我真的需要 karyon 依赖项和服务器来绑定 ConfigurationProvider 吗?哪种方法是正确的?

谢谢,克里斯蒂安

0 投票
1 回答
3484 浏览

jboss - java.lang.NoClassDefFoundError:JBoss 和 JAAS 上的 javax/annotation/PostConstruct

我们有一个基于 Guice 的 Web 应用程序,我们部署到 JBoss EAP 6.4.0。此应用程序使用 Netflix Governator 库,该库为 PostConstruct 注释提供支持。

这个应用程序在 JBoss 上启动没有任何问题,直到我们添加了一些客户端提供的 JAAS 配置文件。使用这些文件,应用程序不会启动并引发此异常:

我通过添加此依赖项解决了这个问题:

但我想知道这是否是正确的解决方案。我不熟悉 JBoss 或 JAAS,我想知道是否不应该以更好的方式修复它,例如在模块配置中。我不明白为什么我一直没有这个错误,但只有 JAAS XML 文件。

0 投票
0 回答
62 浏览

java - 使用 Netflix Governator 管理没有注释的 java 对象的生命周期

是否有一种机制可以让我使用没有和注释的Netflix 治理器来管理 java 对象的生命周期。@PostConstruct@Predestory

我想管理我无权修改的库中对象的生命周期 - 我使用提供者创建对象(因此,我不需要@Inject它们的注释)。

0 投票
2 回答
869 浏览

java - 如何在 TestNG 测试用例中使用 Governator 注入依赖项?

我正在开发一个使用TestNG的测试自动化框架。我决定使用依赖注入模式来实现更具可读性、可重用的页面对象和测试。

我之所以选择Google Guice,是因为TestNG提供了内置支持来使用Guice Modules注入测试对象。我只需要指定我的Guice 模块,您可以在下一个代码片段中看到:

到目前为止一切顺利,尽管我需要更多高级 DI 功能,例如:

  • 生命周期管理
  • 配置到字段映射
  • 通用绑定注释

因此,我想使用Netflix/Governator,因为它通过这些功能增强了Google Guice 。为了触发Governator功能,我必须Injector通过它而不是TestNG创建。例如:

而且我想尽可能透明地做到这一点,就像TestNG所做的那样。

我想知道是否:

  • 是否可以向TestNG提供我自己的Injector实例以重用注释方法?@Guice
  • 您知道任何将GovernatorTestNG集成的库吗?

你可以在这里找到我到目前为止所做的事情。

0 投票
2 回答
44 浏览

java - 系统属性中的 Guice 加载属性

我正在使用没有任何弹簧依赖项的 Guice。

有没有办法将系统属性传递给 Module.java (java -Dfoo="asda") 目标是从 jar 文件外部加载属性。

到目前为止,大多数示例都使用预先存在的属性文件

类似于这个问题: Guice properties injection