gpt4 book ai didi

java - 将 GWT RequestFactory 与 Grails 一起使用时的类加载器问题

转载 作者:行者123 更新时间:2023-11-30 05:04:06 25 4
gpt4 key购买 nike

为了让 GWT RequestFactory 与 Grails 一起运行,我使用以下方法:

class GwtController extends RequestFactoryServlet {

public GwtController() {
super()
}

def index = {
doPost request, response
}

@Override
public ServletContext getServletContext() {
return ServletContextHolder.servletContext
}

@Override
public ServletConfig getServletConfig() {
return new DummyServletConfig(getServletContext(),"grails");
}
}

其中 DummyServletConfig 是 ServletConfig 的简单实现

这在将应用程序部署到 tomcat 时有效。然而,使用测试或开发模式,则不然。我需要调整 GWT Servlet 以防止它使用错误的类加载器:

在第 46 行我改变了

private static final RequestFactoryInterfaceValidator validator =
new RequestFactoryInterfaceValidator(log,
new RequestFactoryInterfaceValidator.ClassLoaderLoader(
ServiceLayer.class.getClassLoader()));

private static final RequestFactoryInterfaceValidator validator = new RequestFactoryInterfaceValidator(
log, new RequestFactoryInterfaceValidator.ClassLoaderLoader(
Thread.currentThread()
.getContextClassLoader()));

否则,它不会找到我的 Domain 类(这些类显然不驻留在 GrailsRootLoader 中,而是驻留在 Thread 的类加载器中)。

现在我想将我的 GWT servlet 恢复为 Google 发布的官方二进制文件,我想知道如何修复 Grails 中不正确的 ClassLoader 或使 RequestFactoryServlet 正常工作而不更改 GWT 源。

最佳答案

我希望 GWT 2.3 能够解决您的问题:

http://code.google.com/p/google-web-toolkit/issues/detail?id=6092

关于java - 将 GWT RequestFactory 与 Grails 一起使用时的类加载器问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5699754/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com