`
goon
  • 浏览: 183782 次
  • 性别: 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)

分享到:
评论

相关推荐

    Spring整合Blazeds实现ActiveMQ JMS消息服务

    2. **设置Blazeds**:Blazeds需要配置与Spring的连接,这样它就可以通过Spring管理的ConnectionFactory获取到JMS资源。这通常通过在Blazeds的`flex-config.xml`中添加相应的配置来完成。 3. **创建消息服务**:在...

    Flex + BlazeDS + Java + JMS 通信实例(附源码)

    6. **Flex与BlazeDS的集成**:在Flex应用中,我们需要配置BlazeDS的Remoting Destination,通过AMF通道连接到Java服务。通过`Service`标签定义服务,并设置相应的目的地(Destination),指定与Java后端的通信接口。...

    blazeds4.7官方下载

    总之,BlazeDS作为连接Java后端和Flex前端的桥梁,通过其强大的远程调用和消息传递功能,为构建高效、实时的RIA提供了强大的支持。开发者可以通过学习和掌握BlazeDS,提升应用的用户体验和交互性。

    flex用到JMS代码下载

    在生产环境中,考虑安全因素,你可能需要对JMS连接进行认证和授权,同时对消息传输进行加密。此外,根据系统负载和需求,可能需要对JMS服务和BlazeDS的性能进行调优,例如调整消息缓存大小、并发连接数等。 8. **...

    关于blazeds应用的一个例子

    4. **Integration with Server Technologies**: Blazeds可以轻松地与各种服务器技术集成,包括Java EE、Spring、Hibernate、JMS等。 5. **Data Management**: 提供了对数据源的强大管理,包括数据推送、数据缓存和...

    Spring BlazeDS Integration Spring集成BlazeDS

    3. **创建Flex客户端**:在Flex项目中,使用RemoteObject组件创建与服务器端的连接,并声明要调用的远程方法。 4. **交互操作**:在Flex客户端中,通过RemoteObject实例调用服务器端的方法,传递参数并处理返回结果...

    BlazeDS,PureMVC

    BlazeDS通信到Java的PureMVC——Flex框架,BlazeDS的服务器配置比较麻烦,这里使用的是直接下载blazeds_turnkey_3-0-0-544.zip中的tomcat BlazeDS模板路径为: blazeds_turnkey_3-0-0-544.zip解压后路径\tomcat\...

    blazeds-turnkey-4.0

    同时,BlazeDS还支持发布Java消息服务(JMS)主题和队列,使得Flex应用能够实现发布/订阅和点对点的消息传递。 在Flex应用中,可以使用ActionScript接口来与BlazeDS服务进行交互,这些接口由BlazeDS自动生成,简化...

    blazeds 服务器war包

    总结,Blazeds作为一个连接Flex和Java的强大工具,极大地提高了富互联网应用程序的交互性和实时性。通过其Remoting和Message Brokering服务,Blazeds在Flex开发中扮演着不可或缺的角色,为开发者提供了高效、灵活的...

    Blazeds入门教程.doc

    ### Blazeds入门教程知识点详解 #### 一、引言 Blazeds是一个由Adobe官方推出的开源数据服务中间件,其前身是LiveCycle Data Services(LCDS),也称为Flex Data Services(FDS)。Blazeds简化了Flex应用程序与...

    blazeds flash开源服务器

    6. **Flex Builder集成**:在Flex Builder(现为Adobe Flash Builder)中,Blazeds作为服务器连接选项,提供了直观的配置界面和代码自动生成,极大地简化了开发流程。 在提供的文件“blazeds-bin-readme.htm”中,...

    blazeds和flex整合

    2. **创建Flex项目**:在Flex Builder中创建新项目,设置服务器连接和数据源。 3. **定义服务**:在BlazeDS配置文件中定义通道和服务,暴露Java服务供Flex客户端调用。 4. **数据访问组件**:在Flex中使用`...

    blazeds-bin-3.3.0.22497.zip

    总之,Blazeds是连接Flex前端和Java后端的强大工具,其3.3.0.22497版本提供了稳定且功能丰富的服务,为开发富互联网应用程序提供了坚实的基础。通过深入理解和熟练运用,开发者可以构建出高效、实时的跨平台应用程序...

    BlazeDS开发者指南中文版

    `flex-config.xml`主要用于配置Flex客户端和服务器的连接参数,而`services-config.xml`则定义了服务的属性,如安全性、数据格式、缓存策略等。 1. **flex-config.xml**:配置AMF通道、安全策略、编译设置等。例如...

    blazeds4.0.1

    这个版本包含了两个主要的战争(war)文件:blazeds.war 和 blazeds-spring.war,以及它们对应的解压后的文件夹。这些资源都是为了帮助开发者在Java EE环境中集成Flex和ActionScript客户端应用。 1. **BlazeDS**: ...

    建立连接BlazeDS远程端的Flex应用程序

    ### 建立连接BlazeDS远程端的Flex应用程序 #### 深入解析:BlazeDS在Flex与后台代码交互中的角色 BlazeDS是一款由Adobe开发的强大服务器端技术,用于实现Flex、AIR和Java应用程序之间的实时通信。它允许开发者在...

    FLex与Java交互必备blazeds

    Blazeds是Adobe官方推出的一款开源项目,全称为Flex Business Application Platform,它是Flex与Java应用程序之间进行数据交互的重要桥梁。Flex是一种基于ActionScript的富互联网应用程序(RIA)开发框架,而Java则...

    Blazeds与java通信

    Blazeds是一个强大的Java服务器端技术,主要用于实现Flex(一种基于Adobe Flash的用户界面开发工具)与后端Java应用程序之间的数据交互。它提供了一个全面的解决方案,使开发人员能够构建富互联网应用程序(RIA),...

    BlazeDs+Tomcat+Java实例

    总的来说,BlazeDS是连接Flex前端和Java后端的强大工具,尤其适合需要实时数据同步和低延迟通信的Web应用。通过学习这个实例,你可以进一步提升在RIA开发中的技能,掌握基于BlazeDS的分布式系统构建。

Global site tag (gtag.js) - Google Analytics