У меня есть рабочий пример передающего сообщения к серверу и серверу, получающему его через обмен сообщениями qpid. Здесь просто привет мир для отправки к серверу:
И вот сервер, который получает запросы и отправляет ответ (текущий клиент не получает ответ):
Вот мой файл свойств:
Они все работают отлично, я вижу сообщения в qpid очереди через консоль управления Qpid JMX. Эти примеры загружаются с https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/example (кому-то, возможно, понадобится он также).
Я сделал обмен сообщениями Jboss, использующий пружину прежде, но мне не может удаться сделать то же с qpid. С jboss внутри applicationsContext у меня были бобы jndiTemplate, conectionFactory, destinationQueue, и jmscontainer как это:
org.jnp.interfaces.NamingContextFactory
jnp://localhost:1099
org.jboss.naming:org.jnp.interfaces
admin
admin
queue/testQueue
и конечно отправитель и слушатель:
Теперь я хотел бы переписать этот qpid пример, использующий пружинную логику контекста. Кто-либо может помочь мне?
Spring предлагает класс JmsTemplate. Посетите этот веб-сайт, где есть пример того, как настроить шаблон (с activemq)
В вашем конкретном примере попробуйте заменить jmsContainer
следующим образом:
<bean id="jmsTemplate" class="org.springframework.jms.core.JmsTemplate">
<property name="connectionFactory" ref="connectionFactory" />
</bean>
Вы также необходимо изменить свой код, чтобы использовать Spring JmsTemplate:
public class MessageSender {
private Destination destination;
private JmsTemplate jmsTemplate;
public void setJmsTemplate(JmsTemplate jmsTemplate) {
this.jmsTemplate = jmsTemplate;
}
public void setDestination(Destination destination) {
this.destination = destination;
}
public void sendMessage() {
MessageCreator creator = new MessageCreator() {
public Message createMessage(Session session) {
TextMessage message = null;
try {
message = session.createTextMessage();
message.setStringProperty("text", "Hello, World!");
}
catch (JMSException e) {
e.printStackTrace();
}
return message;
}
};
jmsTemplate.send(destination, creator);
}
}
На сайте springsource также есть хорошая документация для this