Tomcat

连接性 > 容器 > Tomcat

Tomcat 7 及更高版本的配置问题

Tomcat 需要配置为忽略 Jetty SCI 注解,以防止 Tomcat 不小心拾取 Jetty WebSocket ServerContainerInitializer 类。有关此问题的更多信息,请参见 AMQ-6154https://wiki.apache.org/tomcat/HowTo/FasterStartUp,并查阅您正在使用的 Tomcat 版本的文档以正确排除 Jetty jar 文件被 Tomcat 扫描。

预集成 Tomcat 与 ActiveMQ Classic

Apache TomEE 是 Tomcat 与完全集成的 ActiveMQ Classic 的发行版。此处详细介绍的所有集成步骤都已完成。该堆栈支持注入主题、队列和 ConnectionFactory 引用,以及事务性发送和传递。

以下内容在没有任何配置的情况下开箱即用

import javax.annotation.Resource; import javax.servlet.http.HttpServlet; import javax.jms.Topic; import javax.jms.Queue; import javax.jms.ConnectionFactory;

public class MyServet extends HttpServlet {

@Resource(name = "foo")
private Topic fooTopic;

@Resource(name = "bar")
private Queue barQueue;

@Resource
private ConnectionFactory connectionFactory;

手动集成 Tomcat 和 ActiveMQ Classic

注意,手动将 ActiveMQ Classic 与 Tomcat 集成确实允许注入主题、队列和 ConnectionFactory,但不支持事务性发送和传递。

您应该去 Tomcat 文档阅读 JNDI 资源 HOW-TO,特别是部分:配置 Tomcat 的资源工厂。

ActiveMQ Classic 具有所有管理对象的 JNDI 资源工厂:ConnectionFactory 和目标。

您必须将其作为资源的工厂参数提供

<Context …> …

factory org.activemq.jndi.JNDIReferenceFactory brokerURL vm://127.0.0.1 brokerName LocalActiveMQBroker useEmbeddedBroker true

… </Context>

如果您使用的是 Tomcat 5.5 或更高版本,请尝试以下方法...

... ....

此外,不要忘记将 ActiveMQ Classic 和依赖 jar 文件放到 tomcat 共享 lib 目录中。

在 Tomcat 5.5 或更高版本中创建目标

这完全没有测试,但应该有效 (smile)

... ....

使用 Tomcat 时 JMX 提示

如果您想将 JMX 与 Tomcat 一起使用,然后通过 JConsole 连接以查看服务器的 JMX MBean,请设置以下内容

CATALINA_OPTS=”$CATALINA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.port=1099
-Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false”

Apache、ActiveMQ、Apache ActiveMQ、Apache 羽毛徽标和 Apache ActiveMQ 项目徽标是 Apache 软件基金会的商标。版权所有 © 2024,Apache 软件基金会。根据 Apache 许可证 2.0 许可。