小编Alp*_*ure的帖子

Guice:在这种情况下,如何在模块中配置@Provides和@Singleton?

我在一个注释的模块中有一个提供者方法@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似乎不尊重@SingletonChatServicePerformanceMonitor班级的注释.每次调用inject.getInstance(ChatServicePerformanceMonitor.class)时都会得到一个实例.

添加@Singleton到提供程序方法似乎解决了这个问题:

@Provides @Singleton
public ChatServicePerformanceMonitor getChatServicePerfMon() {
  ...
}
Run Code Online (Sandbox Code Playgroud)

这是预期的行为吗?似乎@Singleton实例应该是我需要的全部内容.

guice

22
推荐指数
2
解决办法
3万
查看次数

如何使用嵌入式jetty v 9.1.0设置端口和线程池

我正在使用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 embedded-jetty

12
推荐指数
2
解决办法
4198
查看次数

RollingFileAppender 还删除早于某个日期的文件

是否有流行的 Java 日志框架支持滚动文件附加程序,我可以将其配置为每天滚动,并删除超过几天的日志文件?我知道我可以使用滚动文件附加程序和 cron,但想知道是否有人知道可以同时执行这两种操作的附加程序。

java log4j logback

5
推荐指数
1
解决办法
5437
查看次数

如何在不进行 git 提交的情况下强制部署到 Heroku

我遇到过由于数据库问题而推送到 heroku 失败的情况。我修复了它,但我知道部署的唯一方法是通过“git push heroku master”。由于我没有提交任何内容,因此它不会推送新的部署。我可以让它部署以进行一些小的更改然后执行的唯一方法。有没有办法强制部署?我用的是play 2.1.2。

heroku playframework-2.0

5
推荐指数
1
解决办法
3402
查看次数