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);
}
@Shumlik I добавили..Но это показывает следующую ошибку: [ERROR] FWLSE0005W: получено исключение соединения JMS: неверный URL-адрес брокера. Закрытие соединения. [Адаптеры проекта] – Bernice
@Shumulik Bardosh Я добавил эти два баночки. Но все же показывает, что исключение – Bernice
@Bernice вы можете попробовать добавить '/' к своему URL-адресу? Прямо сейчас у вас есть tcp:/9 .... Можете ли вы попробовать tcp: // 9 ...? – jnortey