У меня есть рабочий пример отправки сообщения на сервер и получения сервером сообщения через qpid. Вот простой привет мир для отправки на сервер:
http://pastebin.com/M7mSECJn
А вот сервер, который получает запросы и отправляет ответ (текущий клиент не получает ответа):
http://pastebin.com/2mEeuzrV
Вот мой файл свойств:
http://pastebin.com/TLEFdpXG
Они все работают отлично, я вижу сообщения в очереди qpid через консоль управления Qpid JMX. Эти примеры загружены с https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/example (кому-то это может понадобиться).
Раньше я делал сообщения в Jboss, используя spring, но я не могу сделать то же самое с qpid. С jboss внутри applicationContext у меня были бины jndiTemplate, conectionFactory, destinationQueue и jmscontainer, например:
<!-- Queue configuration -->
<bean id="jndiTemplate" class="org.springframework.jndi.JndiTemplate">
<property name="environment">
<props>
<prop key="java.naming.factory.initial">org.jnp.interfaces.NamingContextFactory</prop>
<prop key="java.naming.provider.url">jnp://localhost:1099</prop>
<prop key="java.naming.factory.url.pkgs">org.jboss.naming:org.jnp.interfaces</prop>
<prop key="java.naming.security.principal">admin</prop>
<prop key="java.naming.security.credentials">admin</prop>
</props>
</property>
</bean>
<bean id="connectionFactory" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName" value="ConnectionFactory" />
</bean>
<bean id="queueDestination" class="org.springframework.jndi.JndiObjectFactoryBean">
<property name="jndiTemplate" ref="jndiTemplate" />
<property name="jndiName">
<value>queue/testQueue</value>
</property>
</bean>
<bean id="jmsContainer"
class="org.springframework.jms.listener.DefaultMessageListenerContainer">
<property name="connectionFactory" ref="connectionFactory" />
<property name="destination" ref="queueDestination" />
<property name="messageListener" ref="listener" />
</bean>
и, конечно, отправитель и слушатель:
<bean id="sender" class="com.practice.Sender">
<property name="connectionFactory" ref="connectionFactory" />
<property name="queueDestination" ref="queueDestination" />
</bean>
<bean id="listener" class="com.practice.MsgListener" />
Теперь я бы хотел переписать этот пример qpid с использованием логики контекста Spring. Кто-нибудь может мне помочь?