Tomcat

連線能力 > 容器 > Tomcat

Tomcat 7 及更高版本的組態問題

需要將 Tomcat 設定為忽略 Jetty SCI 註釋,以免 Tomcat 無意中選取 Jetty WebSocket ServerContainerInitializer 類別。如需此問題的更多資訊,請參閱 AMQ-6154https://wiki.apache.org/tomcat/HowTo/FasterStartUp,並查閱您所使用版本的 Tomcat 文件,以正確排除 Tomcat 掃描 Jetty jar 檔案。

預先整合的 Tomcat 與 ActiveMQ Classic

Apache TomEE 是 完全整合 ActiveMQ Classic 的 Tomcat 發行版本。此處詳細說明的所有整合步驟都已完成。該堆疊支援注入 Topic、Queue 和 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 整合雖然允許注入 Topic、Queue 和 ConnectionFactory,但**不**支援交易式傳送和傳遞。

您應前往 Tomcat 文件並閱讀 JNDI 資源 HOW-TO,特別是:設定 Tomcat 的資源工廠。

ActiveMQ Classic 為其所有管理的物件(ConnectionFactory 和目的地)提供了現成的 JNDI 資源工廠。

您必須將其作為資源的工廠參數提供

<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 或更高版本中建立目的地

這完全未經測試,但應該可以運作 (微笑)

... ....

使用 Tomcat 時的 JMX 提示

如果您想在 Tomcat 中使用 JMX,然後透過 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 License 2.0 授權。