您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Grails 3中将JNDI添加到嵌入式Tomcat服务器

在Grails 3中将JNDI添加到嵌入式Tomcat服务器

分两个步骤解决此问题的解决方案。首先,我不得不使用子方法来设置正确的上下文,这是在这个问题中发现的。在嵌入式Tomcat中设置正确的上下文

如想象的那样,我唯一要做的更改就是对getTomcatEmbeddedServletContainer方法的更改。我已经编辑了原始文件,使其看起来像这样:

@Override
protected TomcatEmbeddedServletContainer getTomcatEmbeddedServletContainer(Tomcat tomcat) {
    tomcat.enableNaming();
    TomcatEmbeddedServletContainer container =
    super.getTomcatEmbeddedServletContainer(tomcat);
    for (Container child: container.getTomcat().getHost().findChildren()) {
        if (child instanceof Context) {
            ClassLoader contextClassLoader =((Context)child).getLoader().getClassLoader();
            Thread.currentThread().setContextClassLoader(contextClassLoader);
            break;
        }
    }
    return container;
}

接下来,我必须编辑gradle构建文件,以包括dbcp BasicDataSource依赖关系。我的gradle构建文件现在包含:

dependencies {
    // Embedded tomcat dependencies
    compile "org.apache.tomcat:tomcat-dbcp:9.0.0.M1"
}
其他 2022/1/1 18:15:18 有527人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶