2016-11-01 3 views
0

아래 코드를 JMS에 연결하는 데 사용하고 있습니다. PROD env에서 연결 팩토리를 만들 수 없습니다. 나는 단지 소비자이며 설치되어있는 서버를 인식하지 못합니다. 브로커 URL, 사용자 이름 및 비밀번호가 있습니다. ActiveMQ JMS : 알 수없는 데이터 유형 -1

public class HelloWorldProducer implements Runnable { 
    public void run() { 
     try { 
      // Create a ConnectionFactory 
      ActiveMQConnectionFactory connectionFactory = new ActiveMQConnectionFactory("id972483","octitt123","tcp://ozoi6000:2506"); 

      // Create a Connection 
     Connection connection = connectionFactory.createConnection(); 

      connection.start(); 

      // Create a Session 
      Session session = connection.createSession(false, Session.AUTO_ACKNOWLEDGE); 

      // Create the destination (Topic or Queue) 
      Destination destination = session.createQueue("gw.oct.request.letterbusinesscommunication.v1.in.q"); 

      // Create a MessageProducer from the Session to the Topic or Queue 
      MessageProducer producer = session.createProducer(destination); 
      producer.setDeliveryMode(DeliveryMode.NON_PERSISTENT); 

      // Create a messages 
      //String text = "Hello world! From: " + Thread.currentThread().getName() + " : " + this.hashCode(); 
      TextMessage message = session.createTextMessage(getXMLdata()); 
      message.setJMSCorrelationID("Sample_JMS_Test"); 

      // Tell the producer to send the message 
      System.out.println("Sent message: "+ message.hashCode() + " : " + Thread.currentThread().getName()); 
      producer.send(message); 

      // Clean up 
      session.close(); 
      connection.close(); 
     } 
     catch (Exception e) { 
      System.out.println("Caught: " + e); 
      e.printStackTrace(); 
     } 
    } 

나는 오류 아래와 같이 점점 오전 : 당신이 연결을 시도하는 포트에 구성되어 무엇

Caught: javax.jms.JMSException: Disposed due to prior exception 
javax.jms.JMSException: Disposed due to prior exception 
    at org.apache.activemq.util.JMSExceptionSupport.create(JMSExceptionSupport.java:72) 
    at org.apache.activemq.ActiveMQConnection.syncSendPacket(ActiveMQConnection.java:1413) 
    at org.apache.activemq.ActiveMQConnection.ensureConnectionInfoSent(ActiveMQConnection.java:1478) 
    at org.apache.activemq.ActiveMQConnection.start(ActiveMQConnection.java:527) 
    at HelloWorldProducer.run(HelloWorldProducer.java:25) 
    at java.lang.Thread.run(Thread.java:745) 
Caused by: org.apache.activemq.transport.TransportDisposedIOException: Disposed due to prior exception 
    at org.apache.activemq.transport.ResponseCorrelator.onException(ResponseCorrelator.java:125) 
    at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114) 
    at org.apache.activemq.transport.TransportFilter.onException(TransportFilter.java:114) 
    at org.apache.activemq.transport.WireFormatNegotiator.onException(WireFormatNegotiator.java:173) 
    at org.apache.activemq.transport.AbstractInactivityMonitor.onException(AbstractInactivityMonitor.java:344) 
    at org.apache.activemq.transport.TransportSupport.onException(TransportSupport.java:96) 
    at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:219) 
    ... 1 more 
Caused by: java.io.IOException: Unknown data type: -1 
    at org.apache.activemq.openwire.OpenWireFormat.doUnmarshal(OpenWireFormat.java:359) 
    at org.apache.activemq.openwire.OpenWireFormat.unmarshal(OpenWireFormat.java:278) 
    at org.apache.activemq.transport.tcp.TcpTransport.readCommand(TcpTransport.java:240) 
    at org.apache.activemq.transport.tcp.TcpTransport.doRun(TcpTransport.java:232) 
    at org.apache.activemq.transport.tcp.TcpTransport.run(TcpTransport.java:215) 
    ... 1 more 

답변

0

? ActiveMQ JMS 클라이언트가 말하는 OpenWire 프로토콜이 아닌 다른 프로토콜을 서비스하는 포트에 JMS 클라이언트를 연결하려고하면 이러한 종류의 오류가 발생합니다.

이렇게 오류가 발생하면 브로커가 실제로 구성한 내용을 묻는 것이 좋습니다.