Details
-
Type:
Bug
-
Status:
Resolved
-
Priority:
Major
-
Resolution: Fixed
-
Affects Version/s: 2.0.3
-
Fix Version/s: 2.0.4
-
Component/s: None
-
Labels:None
Description
Mailing list thread:
http://grails.1312388.n4.nabble.com/Thread-Blocking-at-Groovy-ExpandoMetaclass-method-in-a-Grails-App-td4572990.html
The methodMissing "caching" solution in FilterConfig doesn't work in all cases:
https://github.com/grails/grails-core/blob/master/grails-plugin-filters/src/main/groovy/org/codehaus/groovy/grails/plugins/web/filters/FilterConfig.groovy#L87
this Filter reproduces the problem:
class MyFilters {
void setEditionsInRequest(request, grailsApplication) {
println "request ${request} grailApplication ${grailsApplication}"
}
def filters = {
all(controller:'*', action:'*') {
before = {
setEditionsInRequest(request, grailsApplication)
}
after = { Map model ->
}
afterView = { Exception e ->
}
}
}
}
WORKAROUND: prefix the helper method call in before/after/afterView closures with "thisObject."
before = {
thisObject.setEditionsInRequest(request, grailsApplication)
}
-
Hide
- grails2filtapp-bug-report-20042012.zip
- 20/Apr/12 6:00 AM
- 22 kB
- Lari Hotari
-
- grails-app/.../ApplicationResources.groovy 0.1 kB
- grails-app/conf/BootStrap.groovy 0.1 kB
- grails-app/conf/BuildConfig.groovy 2 kB
- grails-app/conf/Config.groovy 4 kB
- grails-app/conf/DataSource.groovy 1 kB
- grails-app/conf/UrlMappings.groovy 0.2 kB
- grails-app/conf/.../MyFilters.groovy 0.5 kB
- grails-app/conf/spring/resources.groovy 0.0 kB
- grails-app/i18n/messages.properties 3 kB
- grails-app/.../messages_cs_CZ.properties 3 kB
- grails-app/i18n/messages_da.properties 3 kB
- grails-app/i18n/messages_de.properties 4 kB
- grails-app/i18n/messages_es.properties 3 kB
- grails-app/i18n/messages_fr.properties 2 kB
- grails-app/i18n/messages_it.properties 2 kB
- grails-app/i18n/messages_ja.properties 4 kB
- grails-app/i18n/messages_nl.properties 3 kB
- grails-app/.../messages_pt_BR.properties 3 kB
- grails-app/.../messages_pt_PT.properties 3 kB
- grails-app/i18n/messages_ru.properties 4 kB
- grails-app/i18n/messages_sv.properties 3 kB
- grails-app/i18n/messages_th.properties 6 kB
- grails-app/.../messages_zh_CN.properties 2 kB
- grails-app/views/error.gsp 0.3 kB
- grails-app/views/index.gsp 3 kB
- grails-app/views/layouts/main.gsp 2 kB
- test/unit/.../MyFiltersTests.groovy 0.2 kB
- application.properties 0.2 kB
Issue Links
- is related to
-
GRAILS-9050
Grails Filters's helper methods are shared between all Filters classes
-
- relates to
-
GRAILS-8050
GormStaticApi.methodMissing gets called for every invocation
-
Activity
- All
- Comments
- Work Log
- History
- Activity
- Git Commits
The problem can be reproduced and debugged by setting a breakpoint in grails-plugin-filters/src/main/groovy/org/codehaus/groovy/grails/plugins/web/filters/FilterConfig.groovy on line 81 and then reloading the http://localhost:8080/grails2filtapp/ url several times. It should hit the break point only once. It gets called for every invocation.