javamelody / grails-melody-plugin

JavaMelody monitoring plugin for Grails, to monitor application performance
https://plugins.grails.org/plugin/grails-melody-plugin
Apache License 2.0
32 stars 31 forks source link

grails-melody-plugin is not compatible with Grails 3.3 #42

Closed tvirtualw closed 7 years ago

tvirtualw commented 7 years ago

Grails 3.3 has updated dependencies to Spring Boot 1.5.3 as per http://docs.grails.org/3.3.0.M2/guide/introduction.html#dependencyUpgrades.

The packages for FilterRegistrationBean and ServletContextInitializer have changed in the new Spring Boot version which causes compilation errors in MelodyConfig.groovy.

evernat commented 7 years ago

After some digging, spring boot 1.4 is used in grails since grails 3.2: http://docs.grails.org/3.2.0/guide/upgrading.html#upgrading31x And the concerned classes were moved from org.springframework.boot.context.embedded to org.springframework.boot.web.servlet in spring boot 1.4: https://github.com/spring-projects/spring-boot/wiki/Spring-Boot-1.4-Release-Notes

If we suppose against our will that "all" the users of the plugin are using at least grails 3.2 now, I think that we can replace the imports to org.springframework.boot.context.embedded by imports to org.springframework.boot.web.servlet in MelodyConfig.groovy without breaking users of grails 3.2. And we should certainly increment the minimum grails version in GrailsMelodyPluginGrailsPlugin.groovy

Do you agree we should do that ?

tvirtualw commented 7 years ago

I agree that there is the issue of compatibility with older Grails versions. To make users of old and new Grails versions happy the grails-melody-plugin would have to be maintained in different versions but each always referencing the latest JavaMelody version. Not sure if that is feasible.

When I look at the Grails 2 plugin of grails-melody, it stops at version 1.59.0. So it seems the approach of supporting the underlying Grails version only up to a certain JavaMelody version is acceptable in general.

Therefore I would vote for what you suggested and basically use the latest Grails GA version (and its underlying Spring Boot version) as basis for the grails-melody-plugin.

The javamelody-spring-boot-starter may run into a similar issue in the future, i.e. changes in Spring Boot may break it.

evernat commented 7 years ago

Thanks for the issue. It's fixed by 003efee and it will be released in 1.68.0

evernat commented 7 years ago

By the way, we probably don't want to maintain 2 branchs of the plugin.

chery-qualset-hcd-ca-gov commented 6 years ago

Can we get the 1.69.0 version up on https://repo.grails.org/grails/core/org/grails/plugins/grails-melody-plugin/? The lastest one there 1.67.0 as of Sep 26. 2017.