我在一个注释的模块中有一个提供者方法@Provides
:
@Provides
public ChatServicePerformanceMonitor getChatServicePerfMon() {
...
}
Run Code Online (Sandbox Code Playgroud)
我已经注释了我ChatServicePerformanceMonitor
的意思@Singleton
.在我的代码中,我使用这个实例,我无法"被动地"注入它,因为我正在使用的框架构建封闭类(它不使用Guice,所以这是我知道的唯一方法得到参考):
chatServicePerfMon = injector.getInstance(ChatServicePerformanceMonitor.class);
Run Code Online (Sandbox Code Playgroud)
Guice似乎不尊重@Singleton
我ChatServicePerformanceMonitor
班级的注释.每次调用inject.getInstance(ChatServicePerformanceMonitor.class)时都会得到一个实例.
添加@Singleton
到提供程序方法似乎解决了这个问题:
@Provides @Singleton
public ChatServicePerformanceMonitor getChatServicePerfMon() {
...
}
Run Code Online (Sandbox Code Playgroud)
这是预期的行为吗?似乎@Singleton
实例应该是我需要的全部内容.
我正在使用jetty 9.1.0,嵌入式,并且想要设置端口和ThreadPool.我看到了每个的构造函数,但是没有看到如何使用其中的一个,然后以任何方式设置另一个.
这样做
Server server = new Server(9090);
Run Code Online (Sandbox Code Playgroud)
要么
Server server = new Server(new QueuedThreadPool(100, 10));
Run Code Online (Sandbox Code Playgroud)
但是在服务器上没有setPort或setThreadPool.
是否有流行的 Java 日志框架支持滚动文件附加程序,我可以将其配置为每天滚动,并删除超过几天的日志文件?我知道我可以使用滚动文件附加程序和 cron,但想知道是否有人知道可以同时执行这两种操作的附加程序。
我遇到过由于数据库问题而推送到 heroku 失败的情况。我修复了它,但我知道部署的唯一方法是通过“git push heroku master”。由于我没有提交任何内容,因此它不会推送新的部署。我可以让它部署以进行一些小的更改然后执行的唯一方法。有没有办法强制部署?我用的是play 2.1.2。