快速业务通道

使用Sun SPOT作为构建监视器 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
ed")) {        log.info("Setting build state to FAIL.");        dos.writeUTF("FAIL");        dos.flush();        log.info("SPOT responded with " + dis.readUTF ());      } else if (commandLine.hasOption("success")) {        log.info("Setting build state to SUCCESS.");        dos.writeUTF("SUCCESS");        dos.flush();        log.info("SPOT responded with " + dis.readUTF ());      } else {        printUsage(options);        System.exit(1);      }    } catch (ParseException e) {      // This will be thrown if the command line  arguments are malformed.      printUsage(options);      System.exit(1);    } catch (NoRouteException nre) {      log.severe("Couldn''t get a connection to the remote  SPOT.");      nre.printStackTrace();      System.exit(1);    } finally {      if (connection != null) {        connection.close();      }      System.exit(0);    } }

radiostream 协议类似于点对点套接字连接,它为基站与远程 SPOT 之间提供 可靠、有缓冲的基于流的 I/O。另外,还打开数据输入和输出流。然后,一条关 于构建的简单的消息被写到输出流,远程 SPOT 读取该消息,然后返回一条简短 的确认消息。接着 CanaryHandler 结束,等待下一次构建状态改变时再次被调用 。

使用Sun SPOT作为构建监视器(6)

时间:2011-05-25 IBM Craig W. Caulfield

BuildCanary 代码

当 CanaryHandler 打开一个 radiostream 连接并发送一条关于构建的简单消 息时,连接的另一端是 BuildCanary,它是部署在远程 SPOT 上的一个 Java ME MIDlet。MIDlet 与 servlet 和 EJB 类似,也是实现一个专门的接口,运行时环 境负责在它的生命周期中的某些时候调用某些方法。

例如,MIDlet 的典型的入口点是 startApp() 方法。在 BuildCanary 中, startApp() 委托给另一个方法,后者又产生一个线程,以侦听来自 CanaryHandler 的消息。清单 4 显示 BuildCanary 的入口点的代码:

清单 4. BuildCanary 的入口点

/**   * MIDlet call to start our application.   */ protected void startApp() throws MIDletStateChangeException  {    run(); } /**   * Main application run loop which spawns a thread to  listen for updates    * about the build status from the host.   */ private void run() {    // Spawn a thread to listen for messages from the  host.    new Thread() {      public void run() {        try {          updateBuildStatus();        } catch (IOException ex) {          try {            if (connection != null) {              connection.close();            }            if (dos != null) {              dos.close();            }            if (dis != null) {              dis.close();            }            ex.printStackTrace();          } catch (IOException ex1) 

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号