經過「add-user.bat」建立應用用戶,詳細操做請google。java
使用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端的「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>
在「MANIFEST.MF」文件中添加"Dependencies: org.jboss.remote-naming,org.hornetq"spa
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);