springboot Actuator

springboot Actuator只需要加入依赖即可使用:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-actuator</artifactId>
</dependency>

application.properties 中可以加入以下配置:

# false,表示不敏感,可以随意访问,否则就是做了一些保护,不能随意访问。
endpoints.mappings.sensitive=false
# 敏感方法默认是需要用户拥有ACTUATOR角色,因此,也可以设置关闭安全限制
management.security.enabled=false

# /shutdown这个需要post方式,通过请求来关闭应用。
# 这个操作比较敏感,要想真正生效,需要以下配置:
endpoints.shutdown.enabled=true

# 自定义系统的info信息
info.name=spring boot Application
info.author.name=yawn
info.author.email=com.***n@qq.com
info.date=2017-10-11 16:12

现在在启动应用后,就可以对应用进行监控了,访问以下url

ID

描述

Sensitive

autoconfig

显示一个auto-configuration的报告,该报告展示所有auto-configuration候选者及它们被应用或未被应用的原因

true

beans

显示一个应用中所有Spring Beans的完整列表

true

configprops

显示一个所有@ConfigurationProperties的整理列表

true

dump

执行一个线程转储

true

env

暴露来自Spring ConfigurableEnvironment的属性

true

health

展示应用的健康信息(当使用一个未认证连接访问时显示一个简单的’status’,使用认证连接访问则显示全部信息详情)

false

info

显示任意的应用信息

false

metrics

展示当前应用的’指标’信息

true

mappings

显示一个所有@RequestMapping路径的整理列表

true

shutdown

允许应用以优雅的方式关闭(默认情况下不启用)

true

trace

显示trace信息(默认为最新的一些HTTP请求)

true

http://localhost:8082/info

{
	"name": "spring boot Application",
	"date": "2017-10-11 16:12",
	"author": {
		"name": "yawn",
		"email": "com.***n@qq.com"
	}
}

http://localhost:8082/mappings

{
	"/index": {
		"bean": "viewControllerHandlerMapping"
	},
	"/403": {
		"bean": "viewControllerHandlerMapping"
	},
	"/jsp": {
		"bean": "viewControllerHandlerMapping"
	},
	"/static/**": {
		"bean": "resourceHandlerMapping"
	},
	"/templates/jsp/**": {
		"bean": "resourceHandlerMapping"
	},
	"/**": {
		"bean": "defaultServletHandlerMapping"
	},
	"{[/test]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test(org.springframework.ui.Model)"
	},
	"{[/test2]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test2()"
	},
	"{[/test3]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test3(org.springframework.ui.Model)"
	},
	"{[/test4]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.Object com.example.demo.controller.TestController.test4(com.example.demo.entity.TestEntity,com.example.demo.entity.Person)"
	},
	"{[/test5]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.Object com.example.demo.controller.TestController.test5()"
	},
	"{[/login],methods=[POST]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.String com.example.demo.controller.TestController.test5(java.lang.String,java.lang.String,javax.servlet.http.HttpSession)"
	},
	"{[/test6]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public java.lang.Object com.example.demo.controller.TestController.test6()"
	},
	"{[/error]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public org.springframework.http.ResponseEntity<java.util.Map<java.lang.String, java.lang.Object>> org.springframework.boot.autoconfigure.web.BasicErrorController.error(javax.servlet.http.HttpServletRequest)"
	},
	"{[/error],produces=[text/html]}": {
		"bean": "requestMappingHandlerMapping",
		"method": "public org.springframework.web.servlet.ModelAndView org.springframework.boot.autoconfigure.web.BasicErrorController.errorHtml(javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse)"
	},
	"{[/loggers/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.get(java.lang.String)"
	},
	"{[/loggers/{name:.*}],methods=[POST],consumes=[application/vnd.spring-boot.actuator.v1+json || application/json],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.LoggersMvcEndpoint.set(java.lang.String,java.util.Map<java.lang.String, java.lang.String>)"
	},
	"{[/loggers || /loggers.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/beans || /beans.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/configprops || /configprops.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/shutdown || /shutdown.json],methods=[POST],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.ShutdownMvcEndpoint.invoke()"
	},
	"{[/metrics/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.MetricsMvcEndpoint.value(java.lang.String)"
	},
	"{[/metrics || /metrics.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/env/{name:.*}],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EnvironmentMvcEndpoint.value(java.lang.String)"
	},
	"{[/env || /env.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/heapdump || /heapdump.json],methods=[GET],produces=[application/octet-stream]}": {
		"bean": "endpointHandlerMapping",
		"method": "public void org.springframework.boot.actuate.endpoint.mvc.HeapdumpMvcEndpoint.invoke(boolean,javax.servlet.http.HttpServletRequest,javax.servlet.http.HttpServletResponse) throws java.io.IOException,javax.servlet.ServletException"
	},
	"{[/dump || /dump.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/trace || /trace.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/autoconfig || /autoconfig.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/health || /health.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.HealthMvcEndpoint.invoke(javax.servlet.http.HttpServletRequest,java.security.Principal)"
	},
	"{[/auditevents || /auditevents.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public org.springframework.http.ResponseEntity<?> org.springframework.boot.actuate.endpoint.mvc.AuditEventsMvcEndpoint.findByPrincipalAndAfterAndType(java.lang.String,java.util.Date,java.lang.String)"
	},
	"{[/info || /info.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	},
	"{[/mappings || /mappings.json],methods=[GET],produces=[application/vnd.spring-boot.actuator.v1+json || application/json]}": {
		"bean": "endpointHandlerMapping",
		"method": "public java.lang.Object org.springframework.boot.actuate.endpoint.mvc.EndpointMvcAdapter.invoke()"
	}
}

http://localhost:8082/configprops (查看我们配置了的以及默认配置的属性,也可以看出我们还可以配置哪些属性)

{
	"endpoints-org.springframework.boot.actuate.endpoint.EndpointProperties": {
		"prefix": "endpoints",
		"properties": {
			"enabled": true,
			"sensitive": null
		}
	},
	"management.info-org.springframework.boot.actuate.autoconfigure.InfoContributorProperties": {
		"prefix": "management.info",
		"properties": {
			"git": {
				"mode": "SIMPLE"
			}
		}
	},
	"metricsEndpoint": {
		"prefix": "endpoints.metrics",
		"properties": {
			"id": "metrics",
			"sensitive": true,
			"enabled": true
		}
	},
	"spring.jackson-org.springframework.boot.autoconfigure.jackson.JacksonProperties": {
		"prefix": "spring.jackson",
		"properties": {
			"serialization": {},
			"propertyNamingStrategy": null,
			"defaultPropertyInclusion": null,
			"parser": {},
			"dateFormat": null,
			"deserialization": {},
			"generator": {},
			"timeZone": null,
			"mapper": {},
			"locale": null,
			"jodaDateTimeFormat": null
		}
	},
	"heapdumpMvcEndpoint": {
		"prefix": "endpoints.heapdump",
		"properties": {
			"path": "/heapdump",
			"sensitive": true,
			"enabled": true
		}
	},
	"endpoints.cors-org.springframework.boot.actuate.autoconfigure.EndpointCorsProperties": {
		"prefix": "endpoints.cors",
		"properties": {
			"allowedOrigins": [],
			"maxAge": 1800,
			"exposedHeaders": [],
			"allowedHeaders": [],
			"allowedMethods": [],
			"allowCredentials": null
		}
	},
	"environmentMvcEndpoint": {
		"prefix": "endpoints.env",
		"properties": {
			"path": "/env"
		}
	},
	"environmentEndpoint": {
		"prefix": "endpoints.env",
		"properties": {
			"id": "env",
			"sensitive": true,
			"enabled": true
		}
	},
	"spring.http.multipart-org.springframework.boot.autoconfigure.web.MultipartProperties": {
		"prefix": "spring.http.multipart",
		"properties": {
			"maxRequestSize": "10MB",
			"fileSizeThreshold": "0",
			"location": null,
			"maxFileSize": "1MB",
			"enabled": true,
			"resolveLazily": false
		}
	},
	"spring.info-org.springframework.boot.autoconfigure.info.ProjectInfoProperties": {
		"prefix": "spring.info",
		"properties": {
			"build": {
				"location": {}
			},
			"git": {
				"location": {}
			}
		}
	},
	"auditEventsEndpoint": {
		"prefix": "endpoints.auditevents",
		"properties": {
			"enabled": true
		}
	},
	"traceEndpoint": {
		"prefix": "endpoints.trace",
		"properties": {
			"id": "trace",
			"sensitive": true,
			"enabled": true
		}
	},
	"metricsMvcEndpoint": {
		"prefix": "endpoints.metrics",
		"properties": {
			"path": "/metrics"
		}
	},
	"infoEndpoint": {
		"prefix": "endpoints.info",
		"properties": {
			"id": "info",
			"sensitive": false,
			"enabled": true
		}
	},
	"auditEventMvcEndpoint": {
		"prefix": "endpoints.auditevents",
		"properties": {
			"path": "/auditevents",
			"sensitive": true,
			"enabled": true
		}
	},
	"management.trace-org.springframework.boot.actuate.trace.TraceProperties": {
		"prefix": "management.trace",
		"properties": {
			"include": [
				"RESPONSE_HEADERS",
				"COOKIES",
				"REQUEST_HEADERS",
				"ERRORS",
				"TIME_TAKEN"
			]
		}
	},
	"spring.resources-org.springframework.boot.autoconfigure.web.ResourceProperties": {
		"prefix": "spring.resources",
		"properties": {
			"cachePeriod": null,
			"addMappings": true,
			"chain": {
				"cache": true,
				"htmlApplicationCache": false,
				"gzipped": false,
				"strategy": {
					"fixed": {
						"enabled": false,
						"paths": [
							"/**"
						],
						"version": null
					},
					"content": {
						"enabled": false,
						"paths": [
							"/**"
						]
					}
				}
			},
			"staticLocations": [
				"/",
				"classpath:/META-INF/resources/",
				"classpath:/resources/",
				"classpath:/static/",
				"classpath:/public/"
			]
		}
	},
	"management.health.status-org.springframework.boot.actuate.autoconfigure.HealthIndicatorProperties": {
		"prefix": "management.health.status",
		"properties": {
			"order": null
		}
	},
	"healthMvcEndpoint": {
		"prefix": "endpoints.health",
		"properties": {
			"path": "/health"
		}
	},
	"serverProperties": {
		"prefix": "server",
		"properties": {
			"contextParameters": {},
			"address": null,
			"maxHttpPostSize": 0,
			"undertow": {
				"maxHttpPostSize": 0,
				"bufferSize": null,
				"buffersPerRegion": null,
				"ioThreads": null,
				"workerThreads": null,
				"directBuffers": null,
				"accesslog": {
					"enabled": null,
					"pattern": "common",
					"prefix": "access_log.",
					"suffix": "log",
					"dir": "D:\\ideaProject\\demo3\\logs",
					"rotate": true
				}
			},
			"tomcat": {
				"accesslog": {
					"enabled": false,
					"pattern": "common",
					"directory": "logs",
					"prefix": "access_log",
					"suffix": ".log",
					"rotate": true,
					"renameOnRotate": false,
					"fileDateFormat": ".yyyy-MM-dd",
					"requestAttributesEnabled": false,
					"buffered": true
				},
				"internalProxies": "10\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|192\\.168\\.\\d{1,3}\\.\\d{1,3}|169\\.254\\.\\d{1,3}\\.\\d{1,3}|127\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}|172\\.1[6-9]{1}\\.\\d{1,3}\\.\\d{1,3}|172\\.2[0-9]{1}\\.\\d{1,3}\\.\\d{1,3}|172\\.3[0-1]{1}\\.\\d{1,3}\\.\\d{1,3}",
				"protocolHeader": null,
				"protocolHeaderHttpsValue": "https",
				"portHeader": "X-Forwarded-Port",
				"remoteIpHeader": null,
				"basedir": null,
				"backgroundProcessorDelay": 30,
				"maxThreads": 0,
				"minSpareThreads": 0,
				"maxHttpPostSize": 0,
				"redirectContextRoot": null,
				"uriEncoding": null,
				"maxConnections": 0,
				"acceptCount": 0,
				"additionalTldSkipPatterns": []
			},
			"displayName": "application",
			"session": {
				"timeout": null,
				"trackingModes": null,
				"persistent": false,
				"storeDir": null,
				"cookie": {
					"name": null,
					"domain": null,
					"path": null,
					"comment": null,
					"httpOnly": null,
					"secure": null,
					"maxAge": null
				}
			},
			"contextPath": null,
			"error": {
				"path": "/error",
				"includeStacktrace": "NEVER"
			},
			"ssl": null,
			"serverHeader": null,
			"useForwardHeaders": null,
			"port": 8082,
			"maxHttpHeaderSize": 0,
			"servletPath": "/",
			"jspServlet": null,
			"jetty": {
				"maxHttpPostSize": 0,
				"acceptors": null,
				"selectors": null
			},
			"connectionTimeout": null
		}
	},
	"spring.metrics.export-org.springframework.boot.actuate.metrics.export.MetricExportProperties": {
		"prefix": "spring.metrics.export",
		"properties": {
			"excludes": null,
			"statsd": {
				"host": null,
				"port": 8125,
				"prefix": null
			},
			"includes": null,
			"triggers": {},
			"enabled": true,
			"redis": {
				"prefix": "spring.metrics.application.134b1d0d4b1f3ea2a2fc4a26eb94e90b",
				"key": "******"
			},
			"aggregate": {
				"prefix": "application.134b1d0d4b1f3ea2a2fc4a26eb94e90b",
				"keyPattern": "k.d"
			}
		}
	},
	"configurationPropertiesReportEndpoint": {
		"prefix": "endpoints.configprops",
		"properties": {
			"id": "configprops",
			"sensitive": true,
			"enabled": true
		}
	},
	"healthEndpoint": {
		"prefix": "endpoints.health",
		"properties": {
			"timeToLive": 1000,
			"id": "health",
			"sensitive": false,
			"enabled": true
		}
	},
	"loggersMvcEndpoint": {
		"prefix": "endpoints.loggers",
		"properties": {
			"path": "/loggers"
		}
	},
	"loggersEndpoint": {
		"prefix": "endpoints.loggers",
		"properties": {
			"id": "loggers",
			"sensitive": true,
			"enabled": true
		}
	},
	"endpoints.metrics.filter-org.springframework.boot.actuate.autoconfigure.MetricFilterProperties": {
		"prefix": "endpoints.metrics.filter",
		"properties": {
			"counterSubmissions": [
				"MERGED"
			],
			"gaugeSubmissions": [
				"MERGED"
			]
		}
	},
	"spring.thymeleaf-org.springframework.boot.autoconfigure.thymeleaf.ThymeleafProperties": {
		"prefix": "spring.thymeleaf",
		"properties": {
			"excludedViewNames": null,
			"cache": false,
			"checkTemplate": true,
			"prefix": "classpath:/templates/",
			"viewNames": null,
			"suffix": ".html",
			"encoding": "UTF-8",
			"enabled": true,
			"mode": "HTML5",
			"checkTemplateLocation": true,
			"templateResolverOrder": null,
			"contentType": {
				"parameters": {}
			}
		}
	},
	"dumpEndpoint": {
		"prefix": "endpoints.dump",
		"properties": {
			"id": "dump",
			"sensitive": true,
			"enabled": true
		}
	},
	"autoConfigurationReportEndpoint": {
		"prefix": "endpoints.autoconfig",
		"properties": {
			"id": "autoconfig",
			"sensitive": true,
			"enabled": true
		}
	},
	"endpoints.jmx-org.springframework.boot.actuate.autoconfigure.EndpointMBeanExportProperties": {
		"prefix": "endpoints.jmx",
		"properties": {
			"uniqueNames": false,
			"staticNames": {},
			"enabled": true,
			"domain": ""
		}
	},
	"spring.http.encoding-org.springframework.boot.autoconfigure.web.HttpEncodingProperties": {
		"prefix": "spring.http.encoding",
		"properties": {
			"charset": "UTF-8",
			"force": false,
			"mapping": null,
			"forceRequest": false,
			"forceResponse": false
		}
	},
	"shutdownEndpoint": {
		"prefix": "endpoints.shutdown",
		"properties": {
			"id": "shutdown",
			"sensitive": true,
			"enabled": true
		}
	},
	"beansEndpoint": {
		"prefix": "endpoints.beans",
		"properties": {
			"id": "beans",
			"sensitive": true,
			"enabled": true
		}
	},
	"managementServerProperties": {
		"prefix": "management",
		"properties": {
			"security": {
				"enabled": false,
				"roles": [
					"ACTUATOR"
				],
				"sessions": "STATELESS"
			},
			"address": null,
			"port": null,
			"addApplicationContextHeader": true,
			"contextPath": "",
			"ssl": null
		}
	},
	"requestMappingEndpoint": {
		"prefix": "endpoints.mappings",
		"properties": {
			"id": "mappings",
			"sensitive": false,
			"enabled": true
		}
	},
	"endpoints.health-org.springframework.boot.actuate.autoconfigure.HealthMvcEndpointProperties": {
		"prefix": "endpoints.health",
		"properties": {
			"mapping": {}
		}
	},
	"shutdownMvcEndpoint": {
		"prefix": "endpoints.shutdown",
		"properties": {
			"path": "/shutdown"
		}
	},
	"spring.mvc-org.springframework.boot.autoconfigure.web.WebMvcProperties": {
		"prefix": "spring.mvc",
		"properties": {
			"dateFormat": null,
			"servlet": {
				"loadOnStartup": -1
			},
			"staticPathPattern": "/**",
			"dispatchOptionsRequest": true,
			"dispatchTraceRequest": false,
			"locale": null,
			"ignoreDefaultModelOnRedirect": true,
			"logResolvedException": false,
			"async": {
				"requestTimeout": null
			},
			"messageCodesResolverFormat": null,
			"mediaTypes": {},
			"view": {
				"prefix": null,
				"suffix": null
			},
			"localeResolver": "ACCEPT_HEADER",
			"throwExceptionIfNoHandlerFound": false
		}
	},
	"diskSpaceHealthIndicatorProperties": {
		"prefix": "management.health.diskspace",
		"properties": {
			"path": "D:\\ideaProject\\demo3\\.",
			"threshold": 10485760
		}
	}
}

http://localhost:8082/trace

[
	{
		"timestamp": 1507710930293,
		"info": {
			"method": "GET",
			"path": "/env",
			"headers": {
				"request": {
					"host": "localhost:8082",
					"connection": "keep-alive",
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
					"content-type": "application/json",
					"accept": "*/*",
					"accept-encoding": "gzip, deflate, br",
					"accept-language": "zh-CN,zh;q=0.8",
					"cookie": "optimizelyEndUserId=oeu1506501248024r0.08055419825898946; _ga=GA1.1.670033975.1498201816; _gid=GA1.1.333206455.1507599805; JSESSIONID=228C035661689BDEEAFA98C77794E3DC; defaultDoorMap=%7B%22buildingId%22%3A%22root%22%2C%22id%22%3A%2210006%22%7D; showTopTab=%5B%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22alarmSite%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22doorControl.monitor%22%2C%22tabName%22%3A%22%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%5D"
				},
				"response": {
					"X-Application-Context": "application:8082",
					"Content-Type": "application/vnd.spring-boot.actuator.v1+json;charset=UTF-8",
					"Transfer-Encoding": "chunked",
					"Date": "Wed, 11 Oct 2017 08:35:30 GMT",
					"status": "200"
				}
			},
			"timeTaken": "6"
		}
	},
	{
		"timestamp": 1507710923743,
		"info": {
			"method": "POST",
			"path": "/env",
			"headers": {
				"request": {
					"host": "localhost:8082",
					"connection": "keep-alive",
					"content-length": "2",
					"origin": "null",
					"user-agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/61.0.3163.100 Safari/537.36",
					"content-type": "application/json",
					"accept": "*/*",
					"accept-encoding": "gzip, deflate, br",
					"accept-language": "zh-CN,zh;q=0.8",
					"cookie": "optimizelyEndUserId=oeu1506501248024r0.08055419825898946; _ga=GA1.1.670033975.1498201816; _gid=GA1.1.333206455.1507599805; JSESSIONID=228C035661689BDEEAFA98C77794E3DC; defaultDoorMap=%7B%22buildingId%22%3A%22root%22%2C%22id%22%3A%2210006%22%7D; showTopTab=%5B%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22alarmSite%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Atrue%2C%22uiSerfName%22%3A%22doorControl.monitor%22%2C%22tabName%22%3A%22%E5%AE%9E%E6%97%B6%E7%9B%91%E6%8E%A7%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%2C%7B%22show%22%3Afalse%2C%22uiSerfName%22%3A%22%22%2C%22tabName%22%3A%22%22%7D%5D"
				},
				"response": {
					"X-Application-Context": "application:8082",
					"Allow": "GET",
					"status": "405"
				}
			},
			"timeTaken": "4"
		}
	}
]

http://localhost:8082/env

http://localhost:8082/beans

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏世界第一语言是java

springboot配置Cors跨域、java最简单配置跨域解决方案

1594
来自专栏IT 指南者专栏

SpringMVC 框架系列之初识与入门实例

微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! 1、SpringMVC 概述 (1)、 MVC:Mode...

2588
来自专栏Python

flask-session组件

简介 flask-session是flask框架的session组件,由于原来flask内置session使用签名cookie保存,该组件则将支持session...

3305
来自专栏JAVA技术站

Sharding-Jdbc分库分表的导读

Sharding-JDBC是一个开源的分布式数据库中间件,它无需额外部署和依赖,完全兼容JDBC和各种ORM框架。Sharding-JDBC作为面向开发的微服...

994
来自专栏企鹅号快讯

WebApi client 的面向切面编程

.Net的面向切面编程 .Net的服务端应用AOP很常见,在Asp.net MVC与Asp.net WebApi等新框架里到处都有AOP的影子,我们可以把一个服...

18011
来自专栏ImportSource

针对事件驱动架构的Spring Cloud Stream

今天我们要分享一个比较有意思的内容。就是如何通过spring cloud 的stream来改造一个微服务下事件驱动的框架。 为什么要改造?我们都知道事件驱动的微...

3558
来自专栏智能大石头

2,ORM组件XCode(速览)

    啥也不说,上图: image.png     这是最基本的增删改查代码!     符合X系列组件的一贯作风,不求万能,只求简单实用!    ...

1729
来自专栏一个会写诗的程序员的博客

第7章 Spring Boot集成模板引擎小结

因为Spring Boot其实是对Spring生态的封装整合打包,以简化开发中使用Spring框架。所以 Spring Boot在集成模板引擎过程中,其实就是对...

533
来自专栏Kirito的技术分享

Re:从零开始的Spring Session(三)

上一篇文章中,我们使用Redis集成了Spring Session。大多数的配置都是Spring Boot帮我们自动配置的,这一节我们介绍一点Spring Se...

33211
来自专栏皮皮之路

【Spring】Spring boot多数据源历险记

35416

扫描关注云+社区