1

我是 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>

和 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:PORT 配置 config.groovy 以及应该使用哪个协议而不是 weblogic t3 协议。请按步骤回答。提前致谢。

4

0 回答 0