2012-04-17 28 views
0

Ubuntu Linux 10.04にKaraf(2.2.5)をインストールしました。 Karafの上に機能としてActiveMQをインストールしました。 ストンプコネクタ付きのカスタムブローカーを作成しました。 JavaクライアントからこのStompブローカに接続しようとすると、「java.net.SocketTimeoutException:Read timed out」というメッセージが表示されます。OSGI(KARAF)でActiveMQのSTOMPを使用している問題

ActiveMQをスタンドアロンアプリケーションとして起動すると、同じクライアントが正常に動作します。アドバンス

おかげでここに私の設定です:私は遭遇したままので、私はあなたの設定との明らかな問題を見ることができない

<beans 
    xmlns="http://www.springframework.org/schema/beans" 
    xmlns:amq="http://activemq.apache.org/schema/core" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
    xmlns:osgi="http://www.springframework.org/schema/osgi" 
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd 
    http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd 
    http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd 
    http://www.springframework.org/schema/osgi http://www.springframework.org/schema/osgi/spring-osgi.xsd"> 
    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"/> 
    <broker xmlns="http://activemq.apache.org/schema/core" brokerName="dios" dataDirectory="${karaf.data}/activemq/dios" useShutdownHook="false"> 
     <destinationPolicy> 
      <policyMap> 
       <policyEntries> 
       <policyEntry topic=">" producerFlowControl="true" memoryLimit="1mb"> 
        <pendingSubscriberPolicy> 
        <vmCursor /> 
        </pendingSubscriberPolicy> 
       </policyEntry> 
       <policyEntry queue=">" producerFlowControl="true" memoryLimit="1mb"> 
       </policyEntry> 
       </policyEntries> 
      </policyMap> 
     </destinationPolicy> 
     <managementContext> 
      <managementContext createConnector="false"/> 
     </managementContext> 
     <persistenceAdapter> 
      <kahaDB directory="${karaf.data}/activemq/dios/kahadb"/> 
     </persistenceAdapter> 
     <shutdownHooks> 
      <bean xmlns="http://www.springframework.org/schema/beans" id="hook" class="org.apache.activemq.hooks.SpringContextHook" /> 
     </shutdownHooks> 
     <transportConnectors> 
      <transportConnector name="openwire" uri="tcp://0.0.0.0:61616"/> 
      <transportConnector name="stomp" uri="stomp://0.0.0.0:61613?trace=true"/> 
     </transportConnectors> 
    </broker> 
    <bean id="activemqConnectionFactory" class="org.apache.activemq.ActiveMQConnectionFactory"> 
     <property name="brokerURL" value="tcp://0.0.0.0:61616" /> 
    </bean> 
    <bean id="pooledConnectionFactory" class="org.apache.activemq.pool.PooledConnectionFactory"> 
     <property name="maxConnections" value="8" /> 
     <property name="connectionFactory" ref="activemqConnectionFactory" /> 
    </bean> 
    <bean id="resourceManager" class="org.apache.activemq.pool.ActiveMQResourceManager" init-method="recoverResource"> 
      <property name="transactionManager" ref="transactionManager" /> 
      <property name="connectionFactory" ref="activemqConnectionFactory" /> 
      <property name="resourceName" value="activemq.dios" /> 
    </bean> 
    <osgi:reference id="transactionManager" interface="javax.transaction.TransactionManager" /> 
    <osgi:service ref="pooledConnectionFactory"> 
     <osgi:interfaces> 
      <value>javax.jms.ConnectionFactory</value> 
     </osgi:interfaces> 
     <osgi:service-properties> 
      <entry key="name" value="dios"/> 
     </osgi:service-properties> 
    </osgi:service> 
</beans> 
+0

誰でもお手伝いできますか?私はここにこだわっている!! –

+0

ここにブローカーの設定を入れることができますか?彼らがこの問題を理解していなければ、人々は手助けできません。 – Buchi

答えて

0

...個人的に、私は、OSGiで春を使用して停止しましたブート時競合状態。 Springの<osgi:service>はタイムアウトを使用しているため、起動が遅れるとすべてが狂ってしまいます。など/ activemq-追加mvn:org.apache.activemq/activemq-karaf/${activemq.version}/xml/features

    • は私など/ org.apache.karaf.features.cfgファイルにこのレポを追加します。以下の別のアプローチは、Karaf 2.2.4の下で私のために非常によく働いています青写真を介して書かれたbroker.xmlファイル。私はan example XML from Talendで始まり、私のニーズに合わせてカスタマイズしました。
    • はそうのように自分のfeatures.xmlファイルにActiveMQの-青写真への依存を宣言します。<feature version="${activemq.version}">activemq-blueprint</feature>
    • が私features.xmlでそのXMLファイルを宣言します。<bundle>blueprint:file:etc/activemq-broker.xml</bundle>

    私は青写真の大ファンではありません私はこの設定を本当に簡単にしました。

  • 関連する問題