3

JDBC 永続性を使用して次のブローカーをセットアップしようとしています。

<amq:broker id="activeMQBroker" brokerName="activeMQBroker" useJmx="false" persistent="true">
    <amq:transportConnectors>
        <amq:transportConnector name="vm" uri="vm://activeMQBroker" />
    </amq:transportConnectors>
    <amq:persistenceAdapter>
        <amq:jdbcPersistenceAdapter dataSource="#dataSource" />
    </amq:persistenceAdapter>
</amq:broker>

起動時に、次のようになります。

java.lang.NoClassDefFoundError: org/apache/kahadb/page/Transaction$Closure

KahaDB JAR をクラスパスに追加すると、すべて問題なく、ActiveMQ データベース テーブルが (Postgres に) 作成されます。ただし、使用していないため、この追加の依存関係は避けたいと思います。

JDBCを使用しているにもかかわらず、ActiveMQがまだKahaDBを探している理由は何ですか? この質問schedulerSupport="false"で説明されているように、設定を試みましたが、うまくいきませんでした。

PS十分な担当者がいる場合は、「KahaDB」タグを作成してください。

4

1 に答える 1

2

ActiveMQ の現在のバージョンは 、KahaDB とかなり密接に結びついています。TempStore は、その下にも KahaDB を使用するページ付きリストを使用します。ライブラリを含めるのが最も簡単です。

于 2013-01-16T17:01:57.907 に答える