Coder Social home page Coder Social logo

grails-actuator-ui's People

Contributors

dmahapatro avatar rpalcolea avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

grails-actuator-ui's Issues

More Info does nothing

Plugin: 1.1
Grails: 3.2.1.

In the dashboard, clicking More Info buttons doesn't do anything. Is it just that there is nothing implemented yet or it's my misconfiguration (or a bug)? Please, add this info in the documentation also.

Add Support information for Spring /Spring Boot Application

Impressed with the UI of this application and would like to know if this can be used for Spring boot application which is exposing Actuator end points.

Can someone please add if this project can be used for the same and any info regarding it if possible?

Apologize if creating new issue for this isn't appropriate.

Issue securing /actuator/dashboard

Great plugin!

With securityConfigType = "Annotation", I cannot seem to secure http://localhost:8080/actuator/dashboard/

if I use:
grails.plugin.springsecurity.controllerAnnotations.staticRules = [
[pattern: '/', access: ['permitAll']],
[pattern: '/error', access: ['permitAll']],
[pattern: '/index', access: ['permitAll']],
[pattern: '/index.gsp', access: ['permitAll']],
[pattern: '/shutdown', access: ['permitAll']],
[pattern: '/assets/', access: ['permitAll']],
[pattern: '/
/js/', access: ['permitAll']],
[pattern: '/
/css/', access: ['permitAll']],
[pattern: '/
/images/', access: ['permitAll']],
[pattern: '/
/favicon.ico', access: ['permitAll']],
[pattern: '/login/impersonate', access: ['ROLE_ADMIN', 'IS_AUTHENTICATED_FULLY']],
[pattern: '/logout/impersonate', access: ['permitAll']],
[pattern: '/console/', access: ['ROLE_ADMIN']],
[pattern: '/metrics/
', access: ['ROLE_ADMIN']],
[pattern: '/trace/', access: ['ROLE_ADMIN']],
[pattern: '/monitoring', access: ['ROLE_ADMIN']],
[pattern: '/
/installer/', access: ['denyAll']],
[pattern: '/persistentLogin/
', access: ['ROLE_ADMIN']],
[pattern: '/role/', access: ['ROLE_ADMIN']],
[pattern: '/registrationCode/
', access: ['ROLE_ADMIN']],
[pattern: '/securityInfo/', access: ['ROLE_ADMIN']],
[pattern: '/dump/
', access: ['ROLE_ADMIN']],
[pattern: '/actuator/', access: ['ROLE_ADMIN']],
[pattern: '/actuatordashboard/
', access: ['ROLE_ADMIN']]
]

Stack:

  • Grails 3.2.1
  • Java 1.8.0_73

Plugins:

  • Spring Security Core 3.1.1
  • Spring Security UI 3.0.0.M2

Am I missing something obvious?

Spring security requires different url to be enabled

For some reason Spring Security requires this pattern /actuator:actuatordashboard/** to be enabled for an admin role. I found out by enabling logging for spring security:

2018-04-18 09:03:22,272 TRACE grails.plugin.springsecurity.web.access.intercept.AnnotationFilterInvocationDefinition - Requested url: /actuator/dashboard
2018-04-18 09:03:22,273 TRACE grails.plugin.springsecurity.web.access.intercept.AnnotationFilterInvocationDefinition - Resolved full controller name for controller "actuatorDashboard" and namespace "actuator" as "actuator:actuatorDashboard"
2018-04-18 09:03:22,273 TRACE grails.plugin.springsecurity.web.access.intercept.AnnotationFilterInvocationDefinition - Final url is /actuator:actuatordashboard/index

upgrade for grails 3.3.2

Great plugin, but does not work with Grails 3.3.2. Accessing the dashboard URL produces this:

Error 500: Internal Server Error

URI: /actuatorDashboard/index
Class: org.grails.web.json.JSONException
Message: null
Caused by: Missing value. at character 0 of

Trace

    Line | Method
->>  211 | invoke           in org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    188 | invoke           in org.grails.core.DefaultGrailsControllerClass
|     90 | handle . . . . . in org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter
|    967 | doDispatch       in org.springframework.web.servlet.DispatcherServlet
|    901 | doService . . .  in     ''
|    970 | processRequest   in org.springframework.web.servlet.FrameworkServlet
|    861 | doGet . . . . .  in     ''
|    846 | service          in     ''
|     55 | doFilterInternal in org.springframework.boot.web.filter.ApplicationContextHeaderFilter
|    317 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    127 | invoke . . . . . in org.springframework.security.web.access.intercept.FilterSecurityInterceptor
|     91 | doFilter         in     ''
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    114 | doFilter         in org.springframework.security.web.access.ExceptionTranslationFilter
|     64 | doFilter . . . . in grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     54 | doFilter . . . . in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    158 | doFilter . . . . in org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    170 | doFilter . . . . in org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    200 | doFilter . . . . in org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     64 | doFilter . . . . in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    105 | doFilter . . . . in org.springframework.security.web.context.SecurityContextPersistenceFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     58 | doFilter . . . . in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    214 | doFilterInternal in org.springframework.security.web.FilterChainProxy
|    177 | doFilter         in     ''
|     77 | doFilterInternal in org.grails.web.servlet.mvc.GrailsWebRequestFilter
|     67 | doFilterInternal in org.grails.web.filters.HiddenHttpMethodFilter
|   1149 | runWorker . . .  in java.util.concurrent.ThreadPoolExecutor
|    624 | run              in java.util.concurrent.ThreadPoolExecutor$Worker
^    748 | run . . . . . .  in java.lang.Thread

Caused by ConverterException: Error parsing JSON
->>  260 | parse            in grails.converters.JSON
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|     45 | parsedEndpointResponse in org.grails.plugins.actuator.ui.ActuatorDashboardController
|     15 | index . . . . .  in     ''
|    211 | invoke           in org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker
|    188 | invoke . . . . . in org.grails.core.DefaultGrailsControllerClass
|     90 | handle           in org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter
|    967 | doDispatch . . . in org.springframework.web.servlet.DispatcherServlet
|    901 | doService        in     ''
|    970 | processRequest . in org.springframework.web.servlet.FrameworkServlet
|    861 | doGet            in     ''
|    846 | service . . . .  in     ''
|     55 | doFilterInternal in org.springframework.boot.web.filter.ApplicationContextHeaderFilter
|    317 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    127 | invoke           in org.springframework.security.web.access.intercept.FilterSecurityInterceptor
|     91 | doFilter . . . . in     ''
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    114 | doFilter . . . . in org.springframework.security.web.access.ExceptionTranslationFilter
|     64 | doFilter         in grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     54 | doFilter         in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    158 | doFilter         in org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    170 | doFilter         in org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    200 | doFilter         in org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     64 | doFilter         in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    105 | doFilter         in org.springframework.security.web.context.SecurityContextPersistenceFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     58 | doFilter         in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    214 | doFilterInternal in org.springframework.security.web.FilterChainProxy
|    177 | doFilter . . . . in     ''
|     77 | doFilterInternal in org.grails.web.servlet.mvc.GrailsWebRequestFilter
|     67 | doFilterInternal in org.grails.web.filters.HiddenHttpMethodFilter
|   1149 | runWorker        in java.util.concurrent.ThreadPoolExecutor
|    624 | run . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
^    748 | run              in java.lang.Thread

Caused by JSONException: Missing value. at character 0 of 
->>  470 | syntaxError      in org.grails.web.json.JSONTokener
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 
|    357 | nextValue        in     ''
|    251 | parse . . . . .  in grails.converters.JSON
|     45 | parsedEndpointResponse in org.grails.plugins.actuator.ui.ActuatorDashboardController
|     15 | index . . . . .  in     ''
|    211 | invoke           in org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker
|    188 | invoke . . . . . in org.grails.core.DefaultGrailsControllerClass
|     90 | handle           in org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter
|    967 | doDispatch . . . in org.springframework.web.servlet.DispatcherServlet
|    901 | doService        in     ''
|    970 | processRequest . in org.springframework.web.servlet.FrameworkServlet
|    861 | doGet            in     ''
|    846 | service . . . .  in     ''
|     55 | doFilterInternal in org.springframework.boot.web.filter.ApplicationContextHeaderFilter
|    317 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    127 | invoke           in org.springframework.security.web.access.intercept.FilterSecurityInterceptor
|     91 | doFilter . . . . in     ''
|    331 | doFilter         in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    114 | doFilter . . . . in org.springframework.security.web.access.ExceptionTranslationFilter
|     64 | doFilter         in grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     54 | doFilter         in grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    158 | doFilter         in org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    170 | doFilter         in org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    200 | doFilter         in org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     64 | doFilter         in grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    105 | doFilter         in org.springframework.security.web.context.SecurityContextPersistenceFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|     58 | doFilter         in grails.plugin.springsecurity.web.SecurityRequestHolderFilter
|    331 | doFilter . . . . in org.springframework.security.web.FilterChainProxy$VirtualFilterChain
|    214 | doFilterInternal in org.springframework.security.web.FilterChainProxy
|    177 | doFilter . . . . in     ''
|     77 | doFilterInternal in org.grails.web.servlet.mvc.GrailsWebRequestFilter
|     67 | doFilterInternal in org.grails.web.filters.HiddenHttpMethodFilter
|   1149 | runWorker        in java.util.concurrent.ThreadPoolExecutor
|    624 | run . . . . . .  in java.util.concurrent.ThreadPoolExecutor$Worker
^    748 | run              in java.lang.Thread

merge with grails console

in some sense both plugins are used to inspect a running app, so it might be worth combining their powers.

OutOfMemoryError

Hi! I cannot seem to implement your plugin, which looks very helpful!

Here is my stacktrace:
017-06-14 14:11:39,281 - ERROR org.grails.web.errors.GrailsExceptionResolver - OutOfMemoryError occurred when processing request: [GET] /myApp/actuator/dashboard Java heap space. Stacktrace follows: java.lang.reflect.InvocationTargetException: null at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.springsource.loaded.ri.ReflectiveInterceptor.jlrMethodInvoke(ReflectiveInterceptor.java:1426) at org.grails.core.DefaultGrailsControllerClass$ReflectionInvoker.invoke(DefaultGrailsControllerClass.java:210) at org.grails.core.DefaultGrailsControllerClass.invoke(DefaultGrailsControllerClass.java:187) at org.grails.web.mapping.mvc.UrlMappingsInfoHandlerAdapter.handle(UrlMappingsInfoHandlerAdapter.groovy:90) at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:961) at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:895) at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:967) at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:858) at javax.servlet.http.HttpServlet.service(HttpServlet.java:622) at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:843) at javax.servlet.http.HttpServlet.service(HttpServlet.java:729) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:292) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.boot.actuate.autoconfigure.EndpointWebMvcAutoConfiguration$ApplicationContextHeaderFilter.doFilterInternal(EndpointWebMvcAutoConfiguration.java:281) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.boot.actuate.trace.WebRequestTraceFilter.doFilterInternal(WebRequestTraceFilter.java:115) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:316) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:126) at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:90) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:114) at grails.plugin.springsecurity.web.UpdateRequestContextHolderExceptionTranslationFilter.doFilter(UpdateRequestContextHolderExceptionTranslationFilter.groovy:64) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at grails.plugin.springsecurity.web.filter.GrailsAnonymousAuthenticationFilter.doFilter(GrailsAnonymousAuthenticationFilter.groovy:53) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.rememberme.RememberMeAuthenticationFilter.doFilter(RememberMeAuthenticationFilter.java:157) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:169) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:205) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.authentication.preauth.AbstractPreAuthenticatedProcessingFilter.doFilter(AbstractPreAuthenticatedProcessingFilter.java:116) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at grails.plugin.springsecurity.web.authentication.logout.MutableLogoutFilter.doFilter(MutableLogoutFilter.groovy:62) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:91) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at grails.plugin.springsecurity.web.SecurityRequestHolderFilter.doFilter(SecurityRequestHolderFilter.groovy:58) at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330) at org.springframework.security.web.FilterChainProxy.doFilterInternal(FilterChainProxy.java:213) at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:176) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.grails.web.servlet.mvc.GrailsWebRequestFilter.doFilterInternal(GrailsWebRequestFilter.java:77) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.grails.web.filters.HiddenHttpMethodFilter.doFilterInternal(HiddenHttpMethodFilter.java:67) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.web.filter.CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:121) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.springframework.boot.actuate.autoconfigure.MetricsFilter.doFilterInternal(MetricsFilter.java:103) at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:240) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:207) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:212) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:106) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:141) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:528) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1100) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:687) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1520) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1476) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.OutOfMemoryError: Java heap space at java.util.Arrays.copyOf(Arrays.java:3210) at java.util.Arrays.copyOf(Arrays.java:3181) at java.util.ArrayList.grow(ArrayList.java:261) at java.util.ArrayList.ensureExplicitCapacity(ArrayList.java:235) at java.util.ArrayList.ensureCapacityInternal(ArrayList.java:227) at java.util.ArrayList.add(ArrayList.java:458) at org.grails.web.json.JSONArray.<init>(JSONArray.java:117) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:331) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at org.grails.web.json.JSONObject.<init>(JSONObject.java:175) at org.grails.web.json.JSONTokener.nextValue(JSONTokener.java:328) at grails.converters.JSON.parse(JSON.java:251) at grails.converters.JSON$parse$0.call(Unknown Source) at org.grails.plugins.actuator.ui.ActuatorDashboardController.parsedEndpointResponse(ActuatorDashboardController.groovy:45) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

Here is my configuration of your plugin:

In build.gradle:

`repositories {
mavenLocal()
maven { url "https://repo.grails.org/grails/core" }
maven {
credentials {
username "our username"
password "our password"
}
url "https://repodev.our.company/artifactory/repo/"
}
maven {
url "http://dl.bintray.com/dmahapatro/plugins"
}
}

dependencies {
...
compile "org.springframework.boot:spring-boot-starter-actuator"
compile "org.grails.plugins:actuator-ui:1.1"
...
}`
application.yml:

grails: profile: web spring: transactionManagement: proxies: false actuator: gravatar: disabled: true

application.groovy:
`grails {
plugin {
databasemigration {
changelogLocation = "database"
}

    springsecurity {
        logout {
            postOnly = false
        }

        securityConfigType = "Annotation"

        controllerAnnotations {
            staticRules = [
                [pattern:'/actuator/**',                    access:['permitAll']],
                [pattern:'/actuatordashboard/**',           access:['permitAll']],
                [pattern:'/actuator:actuatordashboard/**',  access:['permitAll']]
            ]
        }
    }
}

}`

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.