`
goon
  • 浏览: 186015 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

BlazeDS连接JMS Adapter

    博客分类:
  • Flex
阅读更多

1、demo.mxml:通过Consumer订阅,Producer发送消息

<mx:ChannelSet id="cs">  
        <mx:AMFChannel url="http://localhost:8080/JmsMessageDemo/messagebroker/amfpolling"/> 
    </mx:ChannelSet> 
    
	<mx:Consumer id="consumer" destination="chat-topic-jms" channelSet="{cs}"
		message="messageHandler(event)" fault="messageFault(event)"/>
	
	<mx:Producer id="producer"  channelSet="{cs}"
		destination="chat-topic-jms"
		acknowledge="acknowledgeHandler(event)"
		fault="faultHandler(event)"/>

 

注:这里指定channelset是因为我建的工程中services-config.xml中的配置为

<channel-definition id="my-polling-amf" class="mx.messaging.channels.AMFChannel">
            <endpoint url="http://{server.name}:{server.port}/{context.root}/messagebroker/amfpolling" class="flex.messaging.endpoints.AMFEndpoint"/>
            <properties>
                <polling-enabled>true</polling-enabled>
                <polling-interval-seconds>4</polling-interval-seconds>
            </properties>
        </channel-definition>

 

运行程序时endpoint尽然变成http://{server.name}:{server.port}/webRoot/messagebroker/amfpolling(context.root应该是工程名字才对,这可能是我创建工程时设置的问题),所有要在consumer和producer中指定channelset

 

2、message-config.xml的配置(jms在本机):

<adapters>
		<adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
		<adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter" />
	</adapters>

	<default-channels>
		<channel ref="my-polling-amf" />
	</default-channels>

 

<destination id="chat-topic-jms">
	<properties>
		<jms>
			<destination-type>Topic</destination-type>
			<message-type>javax.jms.TextMessage</message-type>
			<connection-factory>jms/flex/TopicConnectionFactory</connection-factory>
			<destination-jndi-name>jms/topic/flex/simpletopic</destination-jndi-name>
			<delivery-mode>NON_PERSISTENT</delivery-mode>
			<message-priority>DEFAULT_PRIORITY</message-priority>
			<preserve-jms-headers>"true"</preserve-jms-headers>
			<acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
<!--			<connection-credentials username="guest" password="guest"/>-->
			<max-producers>1</max-producers>
		</jms>
	</properties>
	<adapter ref="jms"/>
</destination>

 jms/flex/TopicConnectionFactory:jms的factory的JNDI名字

jms/topic/flex/simpletopic:jms的resource的JNDI名字

 

3、如果jms在远程,那么message-config.xml的配置:

<adapters>
		<adapter-definition id="actionscript" class="flex.messaging.services.messaging.adapters.ActionScriptAdapter" default="true" />
		<adapter-definition id="jms" class="flex.messaging.services.messaging.adapters.JMSAdapter" />
	</adapters>

	<default-channels>
		<channel ref="my-polling-amf" />
	</default-channels>

 

<destination id="chat-topic-jms">
 <properties>
  <jms>
   <destination-type>Topic</destination-type>
   <message-type>javax.jms.TextMessage</message-type>
   <connection-factory>jms/flex/TopicConnectionFactory</connection-factory>
   <destination-jndi-name>jms/topic/flex/simpletopic</destination-jndi-name>
   <delivery-mode>NON_PERSISTENT</delivery-mode>
   <message-priority>DEFAULT_PRIORITY</message-priority>
   <preserve-jms-headers>"true"</preserve-jms-headers>
   <acknowledge-mode>AUTO_ACKNOWLEDGE</acknowledge-mode>
<!--   <connection-credentials username="guest" password="guest"/>-->
   <max-producers>1</max-producers>
   <!-- (Optional) JNDI environment. Use when using JMS on a remote JNDI server. -->
   
   <initial-context-environment>
    <property>
     <name>java.naming.factory.initial</name>
     <value>com.sun.enterprise.naming.SerialInitContextFactory</value>
    </property>
    <property>
     <name>java.naming.factory.url.pkgs</name>
     <value>com.sun.enterprise.naming</value>
    </property>
    <property>
     <name>java.naming.factory.state</name>
     <value>com.sun.corba.ee.impl.presentation.rmi.JNDIStateFactoryImpl</value>
    </property>
    <property>
     <name>org.omg.CORBA.ORBInitialHost</name>
     <value>{远程ip}</value>
    </property>
    <property>
     <name>org.omg.CORBA.ORBInitialPort</name>
     <value>3700</value>
    </property>
   </initial-context-environment>
  </jms>
 </properties>
 <adapter ref="jms"/>
</destination>

节点initial-context-environment中的属性为JNDI  lookup时需要设置的一些context属性(我用的是glassfish)

分享到:
评论

相关推荐

    用BlazeDS实现Java和Flex通信

    - **兼容多种消息系统**:BlazeDS还可以与其他消息系统如JMS、ActiveMQ集成使用,进一步增强了其功能性和灵活性。 - **广泛的应用场景**:无论是在Web环境中运行的Flex应用,还是在Adobe AIR下的桌面应用,都可以...

    spring-flex-reference

    public class CustomServiceAdapter implements ServiceAdapter { // 实现自定义适配逻辑 } ``` #### 三、导出Spring Beans以供Flex Remoting使用 ##### 3.1 引言 Flex Remoting是一种远程调用技术,允许Flex...

    Flex基于Producer和Consumer方式的简易消息推送机制

    `&lt;adapter-definition&gt;`元素定义了消息服务使用的适配器类型,这里使用了`ActionScriptAdapter`作为默认适配器,它允许在Flex客户端和服务器之间进行消息传递。此外,还有其他适配器如`JMSAdapter`,用于集成Java...

    支持pyramid2.x的kotti web代码

    Kotti 是一个基于 Pyramid 框架的 Python 内容管理系统(CMS),适合用来搭建中小型网站、文档库、企业展示平台、知识库等需要灵活内容结构和权限模型的项目。它本身更像一个可以二次开发的 CMS 框架,比 WordPress、Drupal 这类“一装就用”的系统更倾向于开发者定制和扩展。 这是支持pyramid2.x版本的kotti! tar -xzvf kotti1.0.tar.gz 解压缩 进入目录执行 pip install -e . 来安装, 然后执行pserve app.ini 启动。 用浏览器浏览127.0.0.1:5000 即可浏览。 用户名admin ,口令qwerty

    cmd-bat-批处理-脚本-hello world.zip

    cmd-bat-批处理-脚本-hello world.zip

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程

    知识付费系统自动采集V3.0 跳转不卡顿+搭建教程,不和外面的一样跳转卡顿,这个跳转不卡顿,支持三级分销。

    基于Matlab实现图像形状纹理颜色特征提取

    在Matlab环境下,对图像进行特征提取时,主要涵盖形状、纹理以及颜色这三大关键特征。其中,对于纹理特征的提取,采用灰度梯度共生矩阵这一方法来实现。通过灰度梯度共生矩阵,可以有效地捕捉图像中像素灰度值之间在不同方向和距离上的相互关系,进而量化地反映出图像的纹理特性,为后续的图像分析、分类等任务提供重要的纹理信息依据。

    实证数据-2010-2023年上市公司-管理层情感语调数据-社科经管.rar

    该数据集为2010-2023年中国A股上市公司管理层情感语调的年度面板数据,覆盖45,320条样本,数据源自年报及半年报的"管理层讨论与分析"部分。通过构建中文金融情感词典(融合《知网情感分析用词典》与L&M金融词汇表),采用文本分析方法计算情感语调指标,包括:正面/负面词汇数量、文本相似度、情感语调1((积极词-消极词)/总词数)和情感语调2((积极词-消极词)/(积极词+消极词))。同时包含盈利预测偏差、审计意见类型等衍生指标,可用于研究信息披露质量、市场反应及代理问题。该数据复刻了《管理世界》《财经研究》等期刊的变量构建方法,被应用于分析语调操纵对债券市场的影响,学术常用度与稀缺度较高。

    cmd-bat-批处理-脚本-FTIME.zip

    cmd-bat-批处理-脚本-FTIME.zip

    1747829038637.png

    1747829038637.png

    2025年自动化X光检查机项目大数据研究报告.docx

    2025年自动化X光检查机项目大数据研究报告.docx

    基于Logisim的原码与补码一位乘法器设计

    在计算机组成原理课程设计中,我全程跟随老师的指导,独立完成了以下两项任务:一是利用Logisim软件进行原码一位乘法器的仿真设计,通过逐步搭建电路、配置逻辑单元,实现了原码乘法运算的完整流程,深入理解了原码乘法的原理和实现机制;二是完成了补码一位乘法器的Logisim仿真,同样按照老师讲解的步骤,精心设计电路,确保补码乘法运算的正确性,进一步掌握了补码乘法的运算规则和电路实现方法。通过这两个项目,我不仅巩固了理论知识,还提升了动手实践能力和逻辑思维能力。

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-msvc2017.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    cmd-bat-批处理-脚本-virtualcam-install.zip

    二十四节气之立秋介绍.pptx

    二十四节气之立秋介绍.pptx

    cmd-bat-批处理-脚本-shift.zip

    cmd-bat-批处理-脚本-shift.zip

    二十四节气之小雪介绍.pptx

    二十四节气之小雪介绍.pptx

    java、SpringBoot面试专题,6页面试题

    java、SpringBoot面试专题,6页面试题

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    cmd-bat-批处理-脚本-GenerateUnionWinMD.zip

    二十四节气之大暑节气.pptx

    二十四节气之大暑节气.pptx

Global site tag (gtag.js) - Google Analytics