`
lch_2010
  • 浏览: 35580 次
  • 性别: Icon_minigender_1
  • 来自: 济南
社区版块
存档分类
最新评论

Spring BlazeDS Integration Flex4 Java 后台数据推送

    博客分类:
  • java
阅读更多

web.xml 

 

<servlet>
	<servlet-name>flex</servlet-name>
	<servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
		<load-on-startup>1</load-on-startup>
</servlet>

<servlet-mapping>
    	<servlet-name>flex</servlet-name>
    	<url-pattern>/messagebroker/*</url-pattern>
</servlet-mapping>

 

 spring 

 

 

<flex:message-broker>
		<flex:message-service
			default-channels="my-streaming-amf,my-longpolling-amf,my-polling-amf" />
</flex:message-broker>
<flex:message-destination id="simple-feed" />

<!-- Pojo used to start and stop the data feed that pushes data in the 'simple-feed' destination -->
<bean id="simpleFeedStarter" class="SimpleFeed 类路径">
	<constructor-arg ref="defaultMessageTemplate" />
	<flex:remoting-destination />
</bean>

java:

 

import java.util.Random;

import org.springframework.flex.messaging.MessageTemplate;

public class SimpleFeed {

    private static FeedThread thread;

    private final MessageTemplate template;

    public SimpleFeed(MessageTemplate template) {
        this.template = template;
    }

    public void start() {
        if (thread == null) {
            thread = new FeedThread(this.template);
            thread.start();
        }
    }

    public void stop() {
        thread.running = false;
        thread = null;
    }

    public static class FeedThread extends Thread {

        public boolean running = false;

        private final MessageTemplate template;

        public FeedThread(MessageTemplate template) {
            this.template = template;
        }

        @Override
        public void run() {
            this.running = true;
            Random random = new Random();
            double initialValue = 35;
            double currentValue = 35;
            double maxChange = initialValue * 0.005;

            while (this.running) {
                double change = maxChange - random.nextDouble() * maxChange * 2;
                double newValue = currentValue + change;

                if (currentValue < initialValue + initialValue * 0.15 && currentValue > initialValue - initialValue * 0.15) {
                    currentValue = newValue;
                } else {
                    currentValue -= change;
                }

                this.template.send("simple-feed", new Double(currentValue));

                System.out.println("" + currentValue);

                try {
                    Thread.sleep(300);
                } catch (InterruptedException e) {
                }

            }
        }
    }

}

 flex:

 

<?xml version="1.0" encoding="utf-8"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" fontSize="20" backgroundColor="#FFFFFF">
	
	<mx:Script>
		<![CDATA[
		
			import mx.messaging.messages.IMessage;
			
			private function messageHandler(message:IMessage):void
			{
				pushedValue.text = ""+ message.body;	
			}
			
		]]>
	</mx:Script>
	
	<mx:ChannelSet id="cs">
		<!-- <mx:StreamingAMFChannel url="http://localhost:8080/testdrive/messagebroker/streamingamf"/> -->
		<mx:AMFChannel url="http://localhost:8080/testdrive/messagebroker/amflongpolling"/>
		<mx:AMFChannel url="http://localhost:8080/testdrive/messagebroker/amfpolling"/>
	</mx:ChannelSet>
	
	<mx:Consumer id="consumer" destination="simple-feed" channelSet="{cs}" 
		message="messageHandler(event.message)"/>

	<mx:TextInput id="pushedValue" width="250"/>

	<mx:Button label="Subscribe" click="consumer.subscribe()" enabled="{!consumer.subscribed}"/>
	<mx:Button label="Unsubscribe" click="consumer.unsubscribe()" enabled="{consumer.subscribed}"/>

		
</mx:Application>
 

 

 

 

 

 

 

 

 

 

 

 

 

分享到:
评论

相关推荐

    Spring BlazeDS Integration 1.0.0

    1. **BlazeDS简介**:BlazeDS是Adobe Flex服务器端的组件,它提供了数据推送、消息代理和Remoting服务,使得Flex应用能够与Java应用服务器进行实时通信。BlazeDS支持HTTP长轮询、WebSocket和HTTP Streaming等数据推...

    Flex、Spring整合:Spring BlazeDS Integration

    BlazeDS是Adobe提供的一个开源项目,它为富互联网应用(RIA)提供了数据推送服务,使得服务器可以主动将数据推送到客户端。Spring BlazeDS Integration则是Spring社区为方便Spring与BlazeDS集成而开发的一套工具,它...

    Flex与java通讯

    在Flex中,我们通常使用Service组件(如RemoteObject、WebService或HTTPService)来调用Java后台服务。这些服务组件可以配置到特定的URL,处理HTTP请求和响应,将AMF数据转换为Flex可以理解的对象。 5. **Java ...

    blazeDs解决flex客户端与Server的远程通讯

    5. **Integration with Spring Framework**:BlazeDS可以无缝集成Spring框架,使得Java开发者可以充分利用Spring的依赖注入、事务管理等特性,简化服务器端的开发。 6. **Flex SDK支持**:BlazeDS提供了与Flex SDK...

    Spring Flex 整合

    2. **优化通信**:减少不必要的网络请求,利用BlazeDS的缓存和数据推送功能。 3. **安全性考虑**:在设计和实现阶段就考虑到安全问题,如使用Spring Security保护接口。 4. **文档记录**:良好的文档可以帮助团队...

    Flex 与 java 整合

    3. LiveCycle Data Services (LCDS):LCDS是Adobe的高级服务,扩展了BlazeDS的功能,提供了更强大的数据服务,如实时推送、数据缓存、事件广播等。对于大型企业应用,LCDS可以提供更加稳定和高性能的服务。 4. Java...

    Flex4实例学习

    这里的Spring BlazeDS Integration是Spring框架对BlazeDS的集成,提供了更便捷的数据推送和事件驱动功能。 3. Flex、BlazeDS、Spring(版本)、iBATIS与pureMVC的架构。pureMVC是一个轻量级的MVC框架,提供了一种...

    整合flex 和java

    5. **Spring BlazeDS Integration**: Spring框架提供了与BlazeDS集成的模块,使得Java开发者能够轻松地将Flex前端与Spring应用后端连接起来,利用Spring的依赖注入和管理特性。 6. **数据模型和状态管理**: 在整合...

    blazeds 3-0-0-544

    5. **Integration with Spring Framework**:BlazeDS可以无缝集成Spring框架,使得Java后端的服务可以直接暴露为Flex客户端可调用的接口,简化了服务的开发和管理。 6. **Flex Builder支持**:Adobe Flex Builder...

    Java与Flex通信的Java端代码

    8. Spring集成:如果你的Java应用使用了Spring框架,那么可以利用Spring-BlazeDS Integration库来简化Java与Flex的集成,它可以自动将Spring Beans暴露为Flex服务。 在“JavaFlex项目”这个压缩包中,很可能包含了...

    flex 结合spring activemq 做的一个简易聊天室

    BlazeDS是Spring提供的一个开源项目,提供了一个轻量级的HTTP/HTTPS服务器,用于在Flex客户端和Spring应用之间进行数据推送和远程调用。 6. 测试和部署:项目中的"testspringflex"可能包含了测试用例和部署配置,这...

    Flex+BlazeDS

    BlazeDS则是Adobe提供的一个开源服务器端组件,它为Flex应用程序提供了实时的数据推送服务,使得Web应用可以实现双向通信,即服务器可以主动向客户端推送数据,而不仅仅是客户端请求数据。 Flex主要由以下组件构成...

    blazeds flash开源服务器

    4. **Integration with Java Frameworks**:Blazeds可以轻松集成Spring、Hibernate等Java企业级框架,使得开发者可以在Java后端使用熟悉的开发工具和技术栈。 5. **Flex SDK支持**:Blazeds与Adobe Flex SDK紧密...

    flex 与java通信所需的lcds包

    4. **Integration with Java Frameworks**: LCDS能够很好地与Java生态系统中的各种框架集成,如Spring、Hibernate、EJB等,使得Java开发者可以利用已有的技术栈来构建Flex应用的后端。 5. **Security**: LCDS提供了...

    BlazeDS整合Spring实现增删改查

    - **Live Data Services**: 支持数据推送,使得服务器能主动向客户端发送更新。 2. **Spring与BlazeDS的整合** - **Spring-BlazeDS Integration**: 这是Spring社区提供的一个模块,简化了BlazeDS与Spring的集成,...

    blazeds.war

    BlazeDS是一个开源服务器端技术,它允许Flex客户端与Java应用程序服务器之间进行实时的双向通信,实现数据的推送和拉取。这个.war(Web Archive)文件是Java Web应用程序的标准打包格式,可以被部署到任何支持...

    javaflex源码-springFlex-javamagazin:JavaMagazin中Spring3Flex4的源代码文章

    BlazeDS支持Remoting和 Messaging,使得Flex应用可以调用Spring服务端的远程方法,实现数据的实时推送。 4. **AMF**:AMF是一种二进制数据格式,用于在Flex客户端和BlazeDS服务之间高效地传输数据。相比于XML或HTTP...

    关于blazeds应用的一个例子

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

    livedocs_blazeDS

    BlazeDS是Adobe公司开发的一款开源的服务器端技术,它主要功能是为Flex和AJAX应用提供实时数据推送服务。BlazeDS使得基于Flash Player或Adobe AIR的客户端能够与Java服务器进行双向通信,实现了富互联网应用程序...

    彻底理解blazeds

    综上所述,Blazeds是一款功能强大且高度灵活的服务器组件,它为Flex和Air应用提供了一种高效、安全的数据传输和消息推送机制。通过其RPCService、MessageService和JMS集成等功能,Blazeds不仅简化了客户端与服务器...

Global site tag (gtag.js) - Google Analytics