gpt4 book ai didi

java - Java 1.6.0_27 更新后 Heroku 应用程序在 60 秒内未启动

转载 作者:行者123 更新时间:2023-11-30 11:33:58 31 4
gpt4 key购买 nike

当我使用 1.6.0_20 回滚到以前的版本时,我的应用程序会在 60 秒内启动。鉴于以下事实,我该如何调试和解决问题?

  • 我的应用程序正在使用 Play 1.2.5
  • 在日志中,我看到应用程序连接到 PostgreSQL 数据库。这通常是 R10 错误之前的最后一个日志。

--更新我创建了一个插件并发布了一个假端口绑定(bind),它将在 10 秒后关闭。这解决了绑定(bind)问题,但现在我遇到了内存问题。在高负载下,应用程序可能会使用 600M 内存。但现在我看到了 ~1500M,而且还在不断增加。

@Override
public void onConfigurationRead() {
final int port = Integer.parseInt(Play.configuration.getProperty("http.port"));

try {
// Create a new server socket and set to non blocking mode
final ServerSocketChannel ssc = ServerSocketChannel.open();
ssc.configureBlocking(false);
InetSocketAddress isa = new InetSocketAddress(port);
ssc.socket().bind(isa);
Logger.info("Fake bind to port %d", port);

Timer timer = new Timer();
timer.schedule(new TimerTask() {
@Override
public void run() {
try {
ssc.socket().close();
Logger.info("Fake port closed");
} catch (IOException ioe) {
Logger.error(ioe, "Cannot close fake port");
}
}
}, 10000);
} catch (IOException ioe) {
Logger.error(ioe, "Cannot open fake port");
}

Cache.forcedCacheImpl = RedisCacheImpl.getInstance();
}

最佳答案

我已经切换到 jdk 7。我的应用程序现在可以在 40 秒内启动并使用 500-600MB 内存。我已将此问题告知 Heroku,但他们并不关心。

关于java - Java 1.6.0_27 更新后 Heroku 应用程序在 60 秒内未启动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15897104/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com