将jms消息发送到grails中的远程队列

时间:2012-12-12 05:27:26

标签: grails jms activemq message-queue

我是带有grails的Jms的新手。我已经搜索了很多这个问题,但没有从互联网上找到相关的帮助。我想创建一个功能,我需要将消息发送到位于远程服务器上的队列。我在使用ejb的weblogic服务器上工作的功能相同。我需要使用grails模仿相同的功能。那么请你帮我说明如何使用grails jms插件将消息发送到远程队列。

我的ejb配置文件是这样的。

<ServerStart Arguments="-Djava.awt.headless=true -Dj2.appserver=weblogic" Name="myserver"
PasswordEncrypted="{3DES}2FADEdsewdasg23dfs1rw==" sername="user123"/>
<JMSJDBCStore ConnectionPool="JMS-JDBCPOOL" Name="JMS JDBC" PrefixName="XYZ"/>
<JMSServer Name="MyJMS Server" Store="JMS JDBC" Targets="myserver">
    <JMSQueue CreationTime="1096677212825" ExpirationPolicy="Log"
        JNDIName="jms/import_users" Name="Import_user"/>
    <JMSQueue CreationTime="1174946938851"
        JNDIName="jms/update_users" Name="update_user"/>
</JMSServer>
<JMSConnectionFactory JNDIName="jms/qcf" Name="qcf"
    Targets="myserver" XAConnectionFactoryEnabled="true"/>
<ForeignJMSServer ConnectionURL="t3://IP_ADDRESS:PORT"
    JNDIProperties="" Name="MyForeign JMSServer" Targets="myserver">
    <ForeignJMSDestination LocalJNDIName="jms/update_users"
        Name="MyForeign JMSDestination" RemoteJNDIName="jms/update_users"/>
</ForeignJMSServer>

<ServerStart Arguments="-Djava.awt.headless=true -Dj2.appserver=weblogic" Name="myserver" PasswordEncrypted="{3DES}2FADEdsewdasg23dfs1rw==" sername="user123"/> <JMSJDBCStore ConnectionPool="JMS-JDBCPOOL" Name="JMS JDBC" PrefixName="XYZ"/> <JMSServer Name="MyJMS Server" Store="JMS JDBC" Targets="myserver"> <JMSQueue CreationTime="1096677212825" ExpirationPolicy="Log" JNDIName="jms/import_users" Name="Import_user"/> <JMSQueue CreationTime="1174946938851" JNDIName="jms/update_users" Name="update_user"/> </JMSServer> <JMSConnectionFactory JNDIName="jms/qcf" Name="qcf" Targets="myserver" XAConnectionFactoryEnabled="true"/> <ForeignJMSServer ConnectionURL="t3://IP_ADDRESS:PORT" JNDIProperties="" Name="MyForeign JMSServer" Targets="myserver"> <ForeignJMSDestination LocalJNDIName="jms/update_users" Name="MyForeign JMSDestination" RemoteJNDIName="jms/update_users"/> </ForeignJMSServer>

和web.xml是

<resource-env-ref>
    <description>import user reference</description>
    <resource-env-ref-name>jms/import_users</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
</resource-env-ref>

<resource-env-ref>
    <description>update user reference</description>
    <resource-env-ref-name>jms/update_users</resource-env-ref-name>
    <resource-env-ref-type>javax.jms.Queue</resource-env-ref-type>
</resource-env-ref>

<resource-ref>
    <description>jms reference</description>
    <res-ref-name>jms/qcf</res-ref-name>
    <res-type>javax.jms.QueueConnectionFactory</res-type>
    <res-auth>Container</res-auth>
    <res-sharing-scope>Shareable</res-sharing-scope>
</resource-ref>

所以我想向名为“update_users”的队列发送一条消息。如何使用jms和ActiveMQ插件以grails格式发送它。如何使用REMOTE_IP配置config.groovy:PORT以及应该使用哪个协议而不是weblogic t3协议。请回答一步一步的程序。提前谢谢。

0 个答案:

没有答案