2014-01-09 1 views
0

Я загрузил образец рабочего света проекта из начатых учебников, которые реализуют JMS-адаптер с помощью activeMQ Messsage broker. Я получил следующую ошибку.Как решить ошибку jms activemq?

[ERROR ] FWLSE0005W: JMS connection exception received: 
org.apache.activemq.ActiveMQConnectionFactory cannot be cast to 
javax.jms.ConnectionFactory. Closing the connection. [project Adapters]. 

Я не знаю, что банки нужно добавить в этот project.I добавили только ActiveMQ-все-5.3.0
.

JMSAdapter.xml:

<displayName>JMSAdapter</displayName> 
<description>JMSAdapter</description> 
<connectivity> 
    <connectionPolicy xsi:type="jms:JMSConnectionPolicyType"> 
     <!-- uncomment this if you want to use an external JNDI repository 

     <namingConnection url="MY_JNDI_URL" 

    initialContextFactory="providers_intial_context_factory_class_name" 
          user="JNDIUserName" 
          password="JNDIPassword"/> 

     -->    
     <namingConnection url="tcp:/9.148.225.170:61616" 

    initialContextFactory="org.apache.activemq.jndi.ActiveMQInitialContextFactory" 
       user="admin" 
       password="admin"/> 


     <jmsConnection 
       connectionFactory="ConnectionFactory" 
       user="admin" 
       password="admin" 
       /> 



    </connectionPolicy> 
    <loadConstraints maxConcurrentConnectionsPerNode="10"/> 
    </connectivity> 

<procedure name="writeMessage"/> 
<procedure name="readMessage"/> 
<procedure name="readAllMessages"/> 
    </wl:adapter> 

JMSAdapter-impl.xml:

 // The name of the JMS Administered object that you have already placed in the   
     repository of your choice 
    var DESTINATION = "dynamicQueues/IBMWorklight"; 

    /** 
    * Write a message to the destination with a user defined property. 
     * @param messagebody 
     *    
     * @returns the result which includes the MessageID 
     */ 
     function writeMessage(messagebody) { 

var inputData = { 
     destination: "dynamicQueues/IBMWorklight", 
     message:{  
      body: messagebody, 
      properties:{ 
       MY_USER_PROPERTY:123456 
      } 
     } 
    }; 

return WL.Server.writeJMSMessage(inputData); 
    } 

     /** 
     * Read a message from the destination. 
     * 
     * @returns the message 
     */ 
    function readMessage() { 
var result = WL.Server.readSingleJMSMessage({ 
    destination: "dynamicQueues/IBMWorklight", 
    timeout: 60 
    }); 

/*var inputData = { 
     destination: "dynamicQueues/IBMWorklight", 
     timeout: 60 
    }; 

return WL.Server.readSingleJMSMessage(inputData);*/ 
return result; 

    } 


     /** 

     * 
     * Write some messages to a queue then read all available messages from the      
     destination. 

     * @return - the read messages. 

     */ 



     function readAllMessages() { 
    // As this is a test module write some test messages by calling the above 
    function. 
writeMessage(); 
writeMessage(); 
writeMessage(); 

var inputData = { 
     destination: DESTINATION, 
     timeout: 60 
    }; 
// Now call the JMSAdapter function to read all the messages that we just wrote 
return WL.Server.readAllJMSMessages(inputData); 


    } 

ответ

2

флягу файлы, которые должны быть добавлены к вашему проекту в случае, если вы с использованием ActiveMQ:

  1. ActiveMQ-клиент ... (остальная часть имени зависит от версии ActiveMQ)
  2. Джеронимо-j2ee ... (остальная часть имени зависит от версии ActiveMQ)
+0

@Shumlik I добавили..Но это показывает следующую ошибку: [ERROR] FWLSE0005W: получено исключение соединения JMS: неверный URL-адрес брокера. Закрытие соединения. [Адаптеры проекта] – Bernice

+0

@Shumulik Bardosh Я добавил эти два баночки. Но все же показывает, что исключение – Bernice

+0

@Bernice вы можете попробовать добавить '/' к своему URL-адресу? Прямо сейчас у вас есть tcp:/9 .... Можете ли вы попробовать tcp: // 9 ...? – jnortey