【发布时间】:2013-11-08 22:58:40
【问题描述】:
我将 grails 应用程序从 2.2.4 升级到了 grails 2.3.2。我以前使用 _Events.groovy eventConfigureTomcat() 闭包从 apache httpd mod_jk 建立 ajp 连接。升级的时候发现这个已经不支持了,但是推荐的方法是实现 org.grails.plugins.tomcat.ForkedTomcatCustomizer customize() 方法,这样我就可以建立 ajp 连接器了。 See grails docs and search on ForkedTomcatConnector。
我的问题是代码从未被调用过。
我在 /src/groovy 目录中实现了 ForkedTomcatCustomizer。代码如下:
package org.grails.plugins.tomcat
import grails.util.Environment
import org.apache.catalina.connector.Connector
import org.apache.catalina.startup.Tomcat
/**
* Forked tomcat customizer adds ajp connect to support apache ajp in dev env
* from within IDE
*/
class ForkedTomcatCustomizer
{
void customize(Tomcat tomcat)
{
println("In the ForkedTomcatCustomizer.customize() method")
if (Environment.getCurrent() == Environment.DEVELOPMENT)
{
def ajpConnector = new Connector("org.apache.coyote.ajp.AjpProtocol")
ajpConnector.port = 8009
ajpConnector.protocol = "AJP/1.3"
ajpConnector.redirectPort = 8443
ajpConnector.enableLookups = false
ajpConnector.setProperty("redirectPort", "8443")
ajpConnector.setProperty("protocol", "AJP/1.3")
ajpConnector.setProperty("enableLookups", "false")
tomcat.service.addConnector ajpConnector
println "Added ajp connector"
}
}
}
有人看到/解决了这个问题吗?
【问题讨论】:
-
您是否启用了
grails.project.fork.run=true的分叉执行? -
我在第一次迁移完整应用程序时尝试了“grails.project.fork.run=true”,但忘记将此属性添加到我的测试应用程序。我刚刚将该属性添加到我的测试应用程序并重新运行,它没有任何影响。