Grails 3:ServletContext 在 grails 服务中变为空

Grails 3 : ServletContext is coming null in grails service

我在从另一个调用 1 个服务方法时无法获取 servletcontext。

如果我将调用的代码移动到调用服务 class 那么它工作正常。

CreditFilesService CreditFilesService

LakshyaUtilsService LakshyaUtilsService Code

java.lang.NullPointerException: Cannot get property 'configuration' on null object at org.codehaus.groovy.runtime.NullObject.getProperty(NullObject.java:60) at org.codehaus.groovy.runtime.InvokerHelper.getProperty(InvokerHelper.java:174) at org.codehaus.groovy.runtime.callsite.NullCallSite.getProperty(NullCallSite.java:47) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callGetProperty(AbstractCallSite.java:296) at com.lakshya.LakshyaUtilsService.uploadFilesToAWS(LakshyaUtilsService.groovy:3074) 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:1427) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite$PogoCachedMethodSiteNoUnwrapNoCoerce.invoke(PogoMetaMethodSite.java:210) at org.codehaus.groovy.runtime.callsite.PogoMetaMethodSite.call(PogoMetaMethodSite.java:71) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125) at com.lakshya.credit.CreditFilesService.generateZipFile(CreditFilesService.groovy:110) at com.lakshya.credit.CreditFilesService$generateZipFile.call(Unknown Source) at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:48) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:113) at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:141)

这是由于代码问题引起的

Grails 2 能够在所有内部注入正确完成的情况下从一个服务调用私有方法到另一个服务。

虽然在 Grails 3.3.3/3.3.4 中它正在调用私有方法,但没有发生注入。所以这个问题来了。