当前位置: 首页 > news >正文

网站开发的软件支持公司让我做网站负责人

网站开发的软件支持,公司让我做网站负责人,中小企业网站建设问题,垡头网站建设现在有个问题需要大家思考一下#xff0c;有个已经上线了的项目#xff0c;有好好几千甚至上万的客户在使用了。现在项目开发商想发布一个通知。在今天下午6点需要重新启动服务器#xff0c;想让在线的人在在预定的时间内都收到消息#xff0c;让大家做好相应的准备#x…现在有个问题需要大家思考一下有个已经上线了的项目有好好几千甚至上万的客户在使用了。现在项目开发商想发布一个通知。在今天下午6点需要重新启动服务器想让在线的人在在预定的时间内都收到消息让大家做好相应的准备大家会怎么做1、逐个打电话2、在前台弄一个定时器每隔一定的时间刷新一次3、后台消息主动往前台推送相信你已经做出选择了。。。呵呵 下面讲一个简单的例子首先新建一个web项目添加开发flex需要的jar包和blazeds相关文件然后把web项目转成flex项目(不明白怎么弄没事过几天会写一篇这样的文章)然后修改一下services-config.xml和messaging-config.xml文件添加如下代码services-config.xml1.   2.   idmy-streaming-amf3.   classmx.messaging.channels.StreamingAMFChannel4.   5.   urlhttp://{server.name}:{server.port}/{context.root}/messagebroker/streamingamf6.   classflex.messaging.endpoints.StreamingAMFEndpoint7.   /8.   9.   010.  1011.  500012.  13.  14.  15.  match-onMSIE16.  kickstart-bytes204817.  max-streaming-connections-per-session118.  /19.  20.  kickstart-bytes204821.  max-streaming-connections-per-session122.  /23.  24.  25.  复制代码messaging-config.xml1.   2.   idtick-data-feed3.   4.   5.   true6.   .7.   8.   9.   10.  11.  refmy-polling-amf /12.  13.  /14.  15.  复制代码OK完了之后我们新建一个servlet作为服务端1.   package com.serverpush;2.3.   import java.io.IOException;4.   import5.   javax.servlet.ServletException;6.   import7.   javax.servlet.http.HttpServlet;8.   import9.   javax.servlet.http.HttpServletRequest;10.  import11.  javax.servlet.http.HttpServletResponse;12.13.  import14.  com.model.Tick;15.16.  import flex.messaging.MessageBroker;17.  import18.  flex.messaging.messages.AsyncMessage;19.  import20.  flex.messaging.util.UUIDUtils;21.22.  /**23.  * Servlet implementation class24.  TickCacheServlet25.  */26.  public class TickCacheServlet extendsHttpServlet27.  {28.  private static final long serialVersionUID 1L;29.  private static30.  FeedThread thread;31.32.  /**33.  * see34.  HttpServlet#HttpServlet()35.  */36.  public TickCacheServlet() {37.  super();38.  //39.  TODO Auto-generated constructor stub40.  }41.42.  /**43.  * see44.  HttpServlet#doGet(HttpServletRequestrequest, HttpServletResponse45.  *46.  response)47.  */48.  protected void doGet(HttpServletRequest49.  request,50.  HttpServletResponse response) throwsServletException, IOException51.  {52.  //接收前台参数53.  String cmd request.getParameter(cmd);54.  if55.  (cmd.equals(start)) {56.  start();57.  }58.  if (cmd.equals(stop))59.  {60.  stop();61.  }62.  }63.64.  public void start() {65.  if (thread null)66.  {67.  thread new68.  FeedThread();69.  thread.start();70.  }71.  System.out.println(start!!);72.  }73.74.  public75.  void stop() {76.  thread.running false;77.  thread null;78.  }79.80.  /**81.  *82.  see HttpServlet#doPost(HttpServletRequestrequest, HttpServletResponse83.  *84.  response)85.  */86.  protected void doPost(HttpServletRequest87.  request,88.  HttpServletResponse response) throwsServletException, IOException89.  {90.  doGet(request, response);91.  }92.  //线程类每隔多长时间发送一次93.  public static class94.  FeedThread extends Thread {95.  public boolean running true;96.  public void97.  run() {98.  MessageBroker msgBroker 99.  MessageBroker.getMessageBroker(null);100. String clientID 101. UUIDUtils.createUUID();102. int i 0;103. while (running) {104. Tick tick new105. Tick();106. tick.setMessageCN(今天下午6点更新程序需重启服务器);107. tick.setSeqNo(String.valueOf(i));108. System.out.println(i);109.110. AsyncMessage111. msg new112. AsyncMessage();113. msg.setDestination(tick-data-feed);114. msg.setHeader(DSSubtopic,115. tick);116. msg.setClientId(clientID);117. msg.setMessageId(UUIDUtils.createUUID());118. msg.setTimestamp(System.currentTimeMillis());119. msg.setBody(tick);120. msgBroker.routeMessageToService(msg,121. null);122. i;123. try {124. Thread.sleep(2000);125. } catch (InterruptedException126. e) {127. }128. }129. }130. }131. }复制代码在新建一个model用来保存消息1.   package com.model;2.3.   public class Tick {4.   private String5.   seqNo;6.   private String messageCN;7.8.   public String getMessageCN()9.   {10.  return messageCN;11.  }12.13.  public void setMessageCN(String messageCN)14.  {15.  this.messageCN messageCN;16.  }17.18.  public String getSeqNo()19.  {20.  return seqNo;21.  }22.23.  public void setSeqNo(String seqNo)24.  {25.  this.seqNo seqNo;26.  }27.  }复制代码后台就搞定了。下面看前台新建一个mxml文件和一个VO文件mxml:1.   ?xml version1.02.   encodingutf-8?3.   4.   xmlns:fxhttp://ns.adobe.com/mxml/20095.   xmlns:slibrary://ns.adobe.com/flex/spark6.   xmlns:mxlibrary://ns.adobe.com/flex/mx7.   minWidth9558.   minHeight6009.   10.  11.  12.13.  14.  15.  import16.  mx.controls.Alert;17.  import mx.messaging.ChannelSet;18.  import19.  mx.messaging.Consumer;20.  import21.  mx.messaging.events.MessageEvent;22.23.  protected function24.  submsg():void25.  {26.  Alert.show(click start);27.  var consumer:Consumer new28.  Consumer();29.  consumer.destination tick-data-feed;30.  consumer.subtopic 31.  tick;32.  consumer.channelSet new33.  ChannelSet([my-streaming-amf]);34.  //添加message的监听当后台有消息发送时调用messageHandler35.36.  consumer.addEventListener(MessageEvent.MESSAGE,messageHandler);37.38.  consumer.subscribe();39.  }40.  private function41.  messageHandler(event:MessageEvent):void42.  {43.  var tick:TickVO 44.  event.message.body as TickVO;45.  txtTick.text tick.messageCNtick.seqNo;46.47.  }48.49.50.  ]]51.  52.53.  54.  56.  57.  58.  x3259.  y4360.  width36261.  height30262.  layoutabsolute63.  titleWatch64.  Tick65.  66.  x7267.  y4368.  textLabel69.  idtxtTick/70.  71.  x13272.  y7173.  labelButton74.  clicksubmsg()/75.  76.  复制代码VO就是对应后台的model1.   package2.   {3.   //远程到后台的Tick也就是说他们俩现在是对应的关系了你在后台给model赋值了在前台flex中就可以通过VO4.   //取得model中的值5.   [RemoteClass(aliascom.model.Tick)]6.7.   [Bindable]8.   public class TickVO9.   {10.  private var11.  _seqNo:String;12.  private var _messageCN:String;13.14.  public function15.  TickVO()16.  {17.18.  }19.  public function get seqNo():String20.  {21.  return22.  _seqNo;23.  }24.25.  public function setseqNo(value:String):void26.  {27.  _seqNo28.  value;29.  }30.31.  public function get messageCN():String32.  {33.  return34.  _messageCN;35.  }36.37.  public function set38.  messageCN(value:String):void39.  {40.  _messageCN 41.  value;42.  }43.44.45.  }46.  }复制代码ok下面开始测试运行mxml界面如下点击button启动监听。然后在浏览器中输入http://localhost:8080/serverPush/TickCacheServlet?cmdstart表示现在我要发消息了当你运行了这个之后看看你刚才的那个mxml是不是有变化啦稍后奉上flexblazedsspringjava后台消息推送(这个稍微麻烦点)有些配置不同了flexblazedsjavaspring后台消息推送有界面维护
http://www.zqtcl.cn/news/609096/

相关文章:

  • 网站建设发展wordpress比较慢
  • 收费网站推广动漫制作就业方向
  • 湖北优化网站建设设计公司需要什么资质
  • 个人网站怎么制作wordpress创意小工具
  • 网站管理维护怎么做在线oa
  • vue做企业网站wordpress 不发送邮件
  • 深圳做网站哪家便宜邮政编码html编写
  • 黑龙江营商环境建设局网站门户网站整改报告
  • 是不是做推广都得有网站深圳网站建设新闻
  • 旅游做视频网站关于建设网站的书本
  • 营销网站是什么意思快站优惠券app
  • wordpress加dz公司网站搜索优化
  • 北京网站seo技术厂家联合外发加工网
  • 自己做的网站 jen江门模板建站定制
  • 教做糕点的网站工作计划范文
  • dw自己做网站需要什么黄骅贴吧足疗
  • 稻香村网站建设网站建设制作 优帮云
  • 简单的网站作业seo关键词搜索和优化
  • 个人域名备案网站名称例子龙岩网站制作公司
  • 深圳专门做网站的公司电子商务网站推广目的分为
  • 政协网站法治建设版块设计头像 制作 免费
  • wordpress 去除下划线成都seo公司排名
  • 网站移动页面怎么做万网域名管理入口
  • 吴桥网站建设公司wordpress 不收录设置
  • 长安网站建设工作总结信息安全网站建设方案书
  • seo公司网站wordpress 功能块
  • 手机网站分辨率做多大做羞羞的网站
  • 网站挂到国外服务器地址重庆网络公司排行榜
  • 网站seo诊断优化方案好网站的建设标准
  • 惠东县网站建设WordPress版本识别