配置jboss7与flex创建jms应用

建立jboss7应用用户

        经过“add-user.bat”建立应用用户,详细操做请google。java

设置topic与权限

        使用jboss的jms功能,须要用standalone-full.xml启动jboss。session

        把新建立用户的角色加入配置文件,以下;“guest”角色dom

        <subsystem xmlns="urn:jboss:domain:messaging:1.1">
            <hornetq-server>
                ……
                <security-settings>
                    <security-setting match="#">
                        <permission type="send" roles="guest"/>
                        <permission type="consume" roles="guest"/>
                        <permission type="createNonDurableQueue" roles="guest"/>
                        <permission type="deleteNonDurableQueue" roles="guest"/>
                    </security-setting>
                </security-settings>

    建立topicflex

<subsystem xmlns="urn:jboss:domain:messaging:1.1">
            <hornetq-server>
                …… 
                <jms-destinations>
                    <jms-topic name="flexTopic">
                        <entry name="topic/flex"/>
                        <entry name="java:jboss/exported/jms/topic/flex"/>
                    </jms-topic>
                </jms-destinations>

配置flex的jms参数

配置flex端的“messaging-config.xml”文件,用户名密码对应新建的jboss用户,“jms/topic/flex”对应jboss端的JNDIgoogle

    <destination id="chat-topic-jms">
            ……
            <jms> 
                <connection-credentials username="用户名" password="密码"/>
                <destination-type>Topic</destination-type>
                <message-type>javax.jms.ObjectMessage</message-type>
                <connection-factory>jms/RemoteConnectionFactory</connection-factory>
                <destination-jndi-name>jms/topic/flex</destination-jndi-name>
                <delivery-mode>NON_PERSISTENT</delivery-mode>
                <message-priority>DEFAULT_PRIORITY</message-priority>
                <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
                <transacted-sessions>false</transacted-sessions>

ejb项目jar包添加module依赖

在“MANIFEST.MF”文件中添加"Dependencies: org.jboss.remote-naming,org.hornetq"spa

bean推送jms消息

        MessageBroker messageBroker = MessageBroker.getMessageBroker(null);
        AsyncMessage msg = new AsyncMessage();
        msg.setDestination("chat-topic-jms");
        msg.setHeader("header", "header");
        msg.setClientId(UUIDUtils.createUUID());
        msg.setMessageId(UUIDUtils.createUUID());
        msg.setTimestamp(System.currentTimeMillis());
        msg.setBody(obj);
        messageBroker.routeMessageToService(msg, null);
相关文章
相关标签/搜索