经过“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);