2017-07-20 8 views
0

残念ながら、HornetQで動作するJMSサービスを取得しようとしているときに、エラーメッセージにフォームエラーメッセージが表示されています。以前のエラーは、core.jarファイルが見つからなかったことに関連していました。 Prior ErrorHornetQ JMS:java.lang.NoSuchMethodError

私は単純なプロデューサ/コンシューマの例をjmsサービスとして実装しようとしています。

Exception in thread "main" java.lang.NoSuchMethodError: org.hornetq.api.core.client.ClientSessionFactory.copy()Lorg/hornetq/api/core/client/ClientSessionFactory; 
    at org.hornetq.jms.client.HornetQConnectionFactory.createConnectionInternal(HornetQConnectionFactory.java:612) 
    at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:116) 
    at org.hornetq.jms.client.HornetQConnectionFactory.createConnection(HornetQConnectionFactory.java:111) 
    at chapter01.ECGMessageConsumerProducerExample.main(ECGMessageConsumerProducerExample.java:33) 

Jars

しかし、私は次のエラーメッセージが表示されます:私はおそらく不要なjarを追加errosに直面しながら

package chapter01; 

import javax.jms.JMSException; 
import javax.naming.NamingException; 

public class ECGMessageConsumerProducerExample { 

    public static void main(String[] args) throws NamingException, JMSException { 
     // TODO Auto-generated method stub 


     javax.naming.Context ic = null; 
     javax.jms.ConnectionFactory cf = null; 
     javax.jms.Connection connection = null; 
     javax.jms.Queue queue = null; 
     javax.jms.Session session = null; 
     com.mongodb.Mongo m; 
     com.mongodb.DB db; 
     String destinationName = "queue/DLQ"; 


     java.util.Properties p = new java.util.Properties(); 
     p.put(javax.naming.Context.INITIAL_CONTEXT_FACTORY, 
     "org.jnp.interfaces.NamingContextFactory"); 
     p.put(javax.naming.Context.URL_PKG_PREFIXES, 
     "org.jboss.naming:org.jnp.interfaces"); 
     p.put(javax.naming.Context.PROVIDER_URL, "jnp://localhost:1099"); 
     ic = new javax.naming.InitialContext(p); 


     cf = (javax.jms.ConnectionFactory)ic.lookup("/ConnectionFactory"); 
     queue = (javax.jms.Queue)ic.lookup(destinationName); 
     connection = cf.createConnection(); 
     session = connection.createSession(false, javax.jms.Session.AUTO_ACKNOWLEDGE); 
     connection.start(); 


     String theECG = "1;02/20/2012 14:01:59.010;1020,1021,1022"; 
     javax.jms.MessageProducer publisher = session.createProducer(queue); 
     javax.jms.TextMessage message = 
     session.createTextMessage(theECG); 
     publisher.send(message); 
     System.out.println("Message sent!"); 
     publisher.close(); 





    } 

} 

を( "HornetQはメッセージング開発者ガイド" に基づいて)

私は、サーバーで使用されているクライアントとクライアントが使用するjarファイルの間に不一致があるためにエラーが発生すると考えています。しかし、私はプログラマーのノブなので、適切なバージョンのジャーが必要なのは本当に分かりません。

答えて

0

jboss referenceのようにNettyConnectorFactoryをコネクタとして定義してみてください。

HornetQは-configuration.xmlファイルでの例:

コネクタがすでに非clustured、スタンドアロンの設定ファイルで定義された
<connectors> 
    <connector name="netty"> 
     <factory-class> 
      org.hornetq.core.remoting.impl.netty.NettyConnectorFactory 
     </factory-class> 
     <param key="port" value="5446"/> 
    </connector> 
</connectors>  
+0

<コネクタ名= "網状"> <工場クラス> org.hornetq.core.remoting.impl.netty.NettyConnectorFactory

関連する問題