-
-
Notifications
You must be signed in to change notification settings - Fork 970
Closed
Milestone
Description
Expected Behavior
after setting grails.serverURL = 'http://localhost:8080'
class MakeLinkController {
LinkGenerator grailsLinkGenerator
def index() {
String link
Thread.start {
try {
link = grailsLinkGenerator.link(
absolute: true,
controller: 'MakeLink',
action: 'index',
id: 1
)
} catch (Exception e) {
e.printStackTrace()
}
}
String link2 = grailsLinkGenerator.link(
absolute: true,
controller: 'MakeLink',
action: 'index',
id: 1
)
render link + link2
}
}
action result:
http://localhost:8080/makeLink/index/1http://localhost:8080/makeLink/index/1
Actual Behaviour
action result:
nullhttp://localhost:8080/makeLink/index/1
java.lang.IllegalStateException: Attribute absolute='true' specified but no grails.serverURL set in Config
at org.grails.web.mapping.DefaultLinkGenerator.handleAbsolute(DefaultLinkGenerator.groovy:407)
at org.grails.web.mapping.DefaultLinkGenerator.link(DefaultLinkGenerator.groovy:281)
at org.grails.web.mapping.DefaultLinkGenerator.link(DefaultLinkGenerator.groovy)
at org.codehaus.groovy.vmplugin.v8.IndyInterface.fromCache(IndyInterface.java:321)
at grails7.absolute.link.issue.MakeLinkController$_index_closure1.doCall(MakeLinkController.groovy:14)
at grails7.absolute.link.issue.MakeLinkController$_index_closure1.doCall(MakeLinkController.groovy)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:569)
at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:343)
at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:328)
at org.codehaus.groovy.runtime.metaclass.ClosureMetaClass.invokeMethod(ClosureMetaClass.java:280)
at groovy.lang.MetaClassImpl.invokeMethod(MetaClassImpl.java:1007)
at groovy.lang.Closure.call(Closure.java:433)
at groovy.lang.Closure.call(Closure.java:412)
at groovy.lang.Closure.run(Closure.java:505)
at java.base/java.lang.Thread.run(Thread.java:840)
Steps To Reproduce
- set
grails.serverURL - generate a link outside web context (e.g. quartz job or a new thread)
Environment Information
No response
Example Application
https://github.com/jglapa/grails7-absolute-link-issue
Version
7.0.5
Reactions are currently unavailable
Metadata
Metadata
Assignees
Type
Projects
Status
Done