メッセージをサーバーに送信し、サーバーがqpidメッセージングを介してメッセージを受信する実際の例があります。サーバーに送信する単純な hello world は次のとおりです。
そして、ここにリクエストを受信してレスポンスを送信するサーバーがあります(現在のクライアントはレスポンスを受信しません):
ここに私のプロパティファイルがあります:
それらはすべて完全に機能し、Qpid JMX 管理コンソールを介して qpid キュー内のメッセージを確認できます。これらの例は、https://svn.apache.org/repos/asf/qpid/trunk/qpid/java/client/exampleからダウンロードされます(誰かがそれを必要とするかもしれません)。
以前にSpringを使用してJbossメッセージングを行ったことがありますが、qpidで同じことを行うことができません。applicationsContext 内の jboss では、次のような Bean jndiTemplate、conactionFactory、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" />
ここで、Spring コンテキスト ロジックを使用して、この qpid の例を書き直したいと思います。誰でも私を助けることができますか?