ajp - 如何在嵌入式tomcat中配置AJP连接器?

标签 ajp embedded-tomcat-8

我需要在嵌入式 tomcat 中配置 AJP 连接器 https://tomcat.apache.org/tomcat-8.0-doc/config/ajp.html
相当于下面的配置:

<Connector port="8009" protocol="AJP/1.3" redirectPort="8080" />

怎么做?

最佳答案

// initialize tomcat with default nio connector
Tomcat tomcat = new Tomcat();
tomcat.setPort(8080);
tomcat.getHost().setAppBase(".");
tomcat.addWebapp("/", ".");

// create an AJP connector
Connector ajpConnector = new Connector("AJP/1.3");
ajpConnector.setPort(8009);
ajpConnector.setRedirectPort(8080);
ajpConnector.setSecure(false);

// add connector to tomcat
tomcat.getService().addConnector(ajpConnector);
tomcat.start();
tomcat.getServer().await();

从启动日志:
Dec 26, 2016 10:45:26 AM org.apache.catalina.core.StandardContext setPath
WARNING: A context path must either be an empty string or start with a '/' and do not end with a '/'. The path [/] does not meet these criteria and has been changed to []
Dec 26, 2016 10:45:27 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-nio-8009"]
Dec 26, 2016 10:45:27 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Dec 26, 2016 10:45:27 AM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-nio-8080"]
Dec 26, 2016 10:45:27 AM org.apache.tomcat.util.net.NioSelectorPool getSharedSelector
INFO: Using a shared selector for servlet write/read
Dec 26, 2016 10:45:27 AM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Tomcat
Dec 26, 2016 10:45:27 AM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/8.0.28
Dec 26, 2016 10:45:27 AM org.apache.catalina.startup.ContextConfig getDefaultWebXmlFragment
INFO: No global web.xml found
Dec 26, 2016 10:45:28 AM org.apache.jasper.servlet.TldScanner scanJars
INFO: At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.
Dec 26, 2016 10:45:28 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-nio-8009"]
Dec 26, 2016 10:45:28 AM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-nio-8080"]
http-nio正在监听端口 8080 和 ajp-nio在端口 8009 上。

关于ajp - 如何在嵌入式tomcat中配置AJP连接器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41297587/

相关文章:

java - 带 Spring Boot 的 ZK CKEditor 自定义插件

prod 中的 python Web 应用程序

java - 在同一个应用程序中运行两个 Tomcat 服务器在 MBean 注册时失败

java - 使用 Spring Boot Web 应用程序中嵌入的 Tomcat 配置 lo4j2 日志记录

java - Spring Boot 应用程序未启动嵌入式 tomcat

jsp - 如何使用 Thymeleaf 或 JSP 在 Spring Boot 中启用目录列表

apache mod_jk.so 启动权限被拒绝

java - 使用 Tomcat 配置 Apache Web 服务器

java - 使用 AJP 执行从 Python 到 Java Web 服务器的请求

grails - 作为War文件运行时找不到Json Views模板