快速业务通道

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

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-17
必要的部分。因 此,SPOT 程序不能访问文件流;没有反射,没有串行化,没有本地方法,没有正 则表达式,没有 Swing,只有有限的数据类型。唯一可用的集合数据结构是向量 栈、枚举和 hash 表。有些特定于 CLDC 的连接类被添加到这个子集中,但是编 程过程中仍然要受很多限制。

为 SPOT 编写、构建和部署代码

为 SPOT 编写、构建和部署代码非常简单,可以使用自己选择的 IDE。例如, 若要在 Eclipse 中进行开发:

创建一个标准的 Java 项目,删除默认的 JRE。

将 SPOT SDK 的 lib 文件夹中的以下 JAR 添加到 classpath:

transducer_device.jar

multihop_common.jar

spotlib_device.jar

spotlib_common.jar

squawk_device.jar

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

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

在 resources/META-INF 目录中创建一个 MANIFEST.MF 文件。该文件包含 Squawk VM 用于运行应用程序的信息。例如,清单 1 是我的构建监视器的 manifest 文件:

清单 1. resources/META-INF/MANIFEST.MF 文件的内容

MIDlet-Name: BuildCanary MIDlet-Version: 1.0.0 MIDlet-Vendor: Craig Caulfield MIDlet-1: Build Canary, , speck.buildmonitor.BuildCanary MicroEdition-Profile: IMP-1.0 MicroEdition-Configuration: CLDC-1.1 BaseStationAddress: 0014.4F01.0000.3A3C PortNumber: 100

清单 1 中最重要的一行是:

MIDlet-1: Build Canary, , speck.buildmonitor.BuildCanary

第一个参数是应用程序的名称,第三个参数是应用程序主类的完全限定类名。

可以在该文件中添加自己的属性,并在运行时读取这些属性,例如:

String baseStationAddress = getAppProperty ("BaseStationAddress");

创建一个扩展 javax.microedition.midlet.MIDlet 的类,然后开始开发应用 程序。

当准备好部署代码时,将代码打包到一个 JAR 中,通过无线的方式将它发送 到 SPOT:

使用 USB 线将一个基站 SPOT 连接到工作站。

执行 SPOT SDK 安装目录中的 ant startbasestation,启动基站。

执行以下命令部署 JAR:

ant -DremoteId=0014.4F01.0000.3A19  deploy

下载 中提供了 build-canary 应用程序的 Eclipse 项目,可以以此为基础。

应用程序概述

图 2 中的部署图展示我如何设置构建监视器,以监视 CruiseControl 构建。

图 2. 构建监视器的部署图

CruiseControl 循环构建在一个构建服务器上运行,该构建服务器有一个通过 USB 线连接的 SPOT 基站。每当构建的当前状态(SUCCESS、FAILED 或 RUNNING )改变时,构建服务器上都会调用一个简单的 Java SE 应用程序 — CanaryHandler 。然后,通过基站 SPOT 将一条无线消息发送到 BuildCanary — 远程 SPOT 上运行的一个 MIDlet — 以更新该 SPOT 的 LED,从而反映构建的新 状态。

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

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

CanaryHandler 代码

为了让 CanaryHandler 程序有一个良好的开端,我使用 Apache Commons CLI 解析命令行参数。CLI 负责收集和验证参数,并提供方便的帮助功能。例如,如 果输入 java CanaryHandler --help,可以看到清单 2 中的输出:

清单 2. CanaryHandler 的帮助文本

usage: java CanaryHandler  (--running | --failed | --success) --spot        "0014.4F01.xxxx.yyyy" --port 100 --serial COM4 This program connects with a remote Sun SPOT to set a  colour to denote the current state of the Continuous Integration build process.   -a,--spot <spot>  The IEEE wireless address (l

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站: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号