gpt4 book ai didi

java - 在 ContextLoaderListener 中获取服务器名称

转载 作者:塔克拉玛干 更新时间:2023-11-01 22:58:27 26 4
gpt4 key购买 nike

我的监听器正在填充缓存 (Terracota),如果应用程序启动时出现问题,则会抛出 ExceptionInInitializerError。我想获取服务器名称(如 HttpServletRequest - getServerName())以了解发生的位置。

我怎样才能得到这些信息??

import javax.servlet.ServletContextEvent;

import net.f.core.service.util.CacheUtil;

import org.apache.log4j.Logger;
import org.springframework.web.context.ContextLoaderListener;

/**
* Application Lifecycle Listener implementation class OnContextLoadListener
*
*/
public class OnContextLoadListener extends ContextLoaderListener {

private static final Logger log = Logger
.getLogger(OnContextLoadListener.class);

@Override
public void contextDestroyed(
@SuppressWarnings("unused") ServletContextEvent sce) {
// nothing here
}

@Override
public void contextInitialized(
@SuppressWarnings("unused") ServletContextEvent sce) {

try {
CacheUtil.getInstance();
} catch (ExceptionInInitializerError e) {
log.error("Problem with application start!", e);
// notify me
}
}

最佳答案

服务器主机名是请求的一部分,因为它取决于客户端用来访问您的主机的 URL。

如果你对本地主机名感兴趣,可以试试:

String hostname = InetAddress.getLocalHost().getHostName();

关于java - 在 ContextLoaderListener 中获取服务器名称,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1769532/

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