当前位置: 首页 > 面试题库 >

如何使Javamelody使用不同的端口(Spring Boot +公开了两个HTTP端口)

孟安民
2023-03-14
问题内容

我有Spring Boot Web应用程序。它公开了端口8080上的REST API。它还公开了带有Spring Boot
Management端点的管理端口8081(http://docs.spring.io/spring-
boot/docs/current/reference/html/production-ready-
monitoring.html

。我没有任何定制的Tomcat配置来实现这一目标。management.port=8081我的application.properties文件中只有属性。

我已经按照https://github.com/javamelody/javamelody/wiki/UserGuideAdvanced#spring-
boot-
app中所述配置了JavaMelody
(我有我的自定义JavaMelodyConfiguration类,带有org.springframework.boot.web.servlet.FilterRegistrationBean该寄存器net.bull.javamelody.MonitoringFilter)。

@Bean
    public FilterRegistrationBean javaMelody() {
        final FilterRegistrationBean javaMelody = new FilterRegistrationBean();
        javaMelody.setFilter(new MonitoringFilter());
        javaMelody.setAsyncSupported(true);
        javaMelody.setDispatcherTypes(DispatcherType.REQUEST, DispatcherType.ASYNC);
        javaMelody.addUrlPatterns("/*");
        return javaMelody;
    }

使用此配置,Javamelody在端口8080(业务端口)上公开。我想将其移至8081(管理端口)。如何改变呢?

我使用Spring Boot 1.4.2.RELEASE,javamelody 1.62.0


问题答案:

如果目标是从Java melody版本1.76开始公开对管理端口的监视,则现在要简单得多。

您需要Spring Boot 2.x,执行器以及yml或属性文件:

  • management.server.port:{您的自定义端口}
  • management.endpoints.web.exposure.include:{您通常想要的东西},监视
  • javamelody.management-endpoint-monitoring-enabled:true

在此处查看更多详细信息:https :
//github.com/javamelody/javamelody/wiki/SpringBootStarter#configuration-in-
case-of-management-
port



 类似资料:
  • 问题内容: 所以我有3个端口应该暴露在机器的接口中。使用Docker容器可以做到这一点吗? 问题答案: 要只暴露一个端口,这是您需要做的: 要公开多个端口,只需提供多个参数:

  • 所以我有3个端口应该暴露在机器的接口上。有可能用Docker容器做到这一点吗?

  • 我刚刚在我的kubernetes集群上部署了graylog。 我需要能够公开udp端口作为入口规则,在graylog下。本地主机/gelf。目前,我的服务包括: 我的服务如下: 我的入口控制器是traefik。

  • 一个进程不是只能被一个进程使用吗?

  • 我在一个基于OpenStack的私有云上有一个Kubernetes集群。需要在特定端口上公开我的服务。我可以使用Nodeport来完成此操作。但是,如果我尝试创建与第一个类似的另一个服务,我将无法公开它,因为我必须使用相同的端口,并且它已经被第一个服务占用了。 我注意到我可以在公共云中使用LoadBalancer,但我假设这在OpenStack中是不可能的?我也尝试使用Kubernetes的Ing

  • 我有两个docker容器希望作为连接工作。一个docker实例(instance1)与客户端连接,另一个docker实例(instance2)希望与instance1连接。它主要做的是当客户端向实例1发送请求时,instatnce1希望调用instance2服务并获得响应。然后将其传递给客户端。 目前,我正在使用以下docker命令来运行docker图像 第一期 此实例具有服务http://loc

  • web app for container是否支持公开多个端口。例如,我的docker映像使用两个端口,但在容器的web应用程序中,我只能使用一个端口,即端口80或由网站指定的端口。\u应用程序中的端口设置。链接到类似的问题,但已经过了很长一段时间了,所以目前有没有办法在Web应用程序上为容器公开多个端口。 无法使用azure容器实例(它公开多个端口),因为它不提供SSL。