在一个非常简单的Java应用程序中,使用默认值(logback.xml
中没有src/main/resources
)进行回写,应用程序在大约400ms内启动。只要我们向类路径(logback.xml
)添加基本src/main/resources
,启动时间就会增加到5500毫秒左右。我们在多个项目中看到了这一点。配置如下:
<configuration>
<appender name="STDOUT" class="ch.qos.logback.core.ConsoleAppender">
<encoder>
<pattern>%date{HH:mm:ss.SSS} %-7level - %-50logger{36} - %message%n</pattern>
</encoder>
</appender>
<logger name="com.zaxxer.hikari" level="ERROR">
<appender-ref ref="STDOUT"/>
</logger>
<logger name="org.sql2o" level="ERROR">
<appender-ref ref="STDOUT"/>
</logger>
<root level="INFO">
<appender-ref ref="STDOUT"/>
</root>
</configuration>
答案 0 :(得分:10)
5秒看起来像是dns查询超时。对我来说就是这样。请确保您的计算机的主机名解析为IP。您可以测试执行ping操作:
ping `hostname`
如果它解析了名称并开始ping,那么你的问题就是其他问题。但是如果你看到一条消息说'#34;地址错误&#34;,这可以解释你的问题。
要简单地修复它,您只需将主机名添加到/etc/hosts
文件即可。只需在127.0.0.1开头的行尾添加主机名即可。
更改应立即生效。它可能不是解决这个问题最干净的方法,尤其是在使用dhcp等的现代linux上。但如果它有效,你就会有一个很好的指针,指出如何永久解决这个名称解析问题。
答案 1 :(得分:6)
对我来说,问题是ipv6解决方案。 Damien在上面的回答是现场,只需要在etc / hosts上添加一个ipv6条目。 类似的东西:
::1 ${your.host.name}