本文主要给大家介绍的是关于obix协议在java中的配置和使用,分享出来供大家参考学习、下面话不多说了,来一起看看详细的介绍吧。
简单来讲,obix是一种XML通讯协议,使用Http请求/Post方式进行数据通讯。所有数据通过可读字符进行传送,一个obix对象可以有唯一的一个URL识别。
首先数据储存在尼亚加拉的服务平台上,我们需要做的是从尼亚加拉获取数据,并且储存在InfluxDB中。下面是实现的流程方法。
-
<李>加粗Ctrl + B 李>
<李>斜体Ctrl +我李>
<李>引用Ctrl + Q 李>
<李>插入链接Ctrl + L 李>
<李>插入代码Ctrl + K 李>
<李>插入图片Ctrl + G李>
<李>提升标题Ctrl + H 李>
<李>有序列表Ctrl + O 李>
<李>无序列表Ctrl + U 李>
<李>横线按Ctrl + R 李>
<李>撤销Ctrl + Z 李>
<李>重做Ctrl + Y 李>
我们都需要定义哪些类以及变量?
类/接口名 用途 计算器 DiscoverEngine 搜索工具 FactorInfo 定义所采集元素的信息 FactorNameDecoderInterface 元素名称解码接口 FactorNameDecoderObixUrlImpl NewValueInterface NewValueInterfaceImpl ObixClientMgr ObixClient ObixFetcher 循环抓取obix传输的数据
1,遍历各个点
2,先遍历各个设备,将相同的类型id的设备存入同一个hashmap中
3,开始执行主程序,先从数据库中查询出项目名称
4,开始搜索!
公共类ObixFetcher实现JobInterface {//这个是接口的抽象方法 公共空间cycleOnce () {//从数据库中取出项目信息 Listps=刀。selectByExample(新ProjectExample ());//遍历项目信息,如果项目信息的关键信息不为null (项目p: ps) { 如果(p.getObixBaseAddress() !=零,,p.getObixUsername () !=null ,,p.getObixPassword () !=null) {//开启探索工具(应该还是一个内部类),将关键项目信息传入探索工具, DiscoverEngine de=new DiscoverEngine (p.getObixBaseAddress (), p.getObixUsername (), p.getObixPassword ());//从构建数据库中将数据取出,存入bulidNameToId(同样还是构造方法)//从设备数据库中将数据取出,存入deviceNumberToId(同样还是构造方法) de.setNewValueInterface(新NewValueInterfaceImpl (p.getId (), deviceService, deviceDao, deviceTypeDao, buildDao));//返回回来一个FactorInfo de.setFactorNameDecoderInterface(新FactorNameDecoderObixUrlImpl ()); de.run (); } } } }
以下是上文DiscoverEngine de的构造方法
公开课DiscoverEngine { baseUrl公共DiscoverEngine(字符串,字符串的用户名,字符串密码){ 这一点。baseUrl=baseUrl; obixClient=new obixClient (baseUrl,用户名、密码); } }
以下是上文<代码> obixClient=new obixClient (baseUrl,用户名、密码)代码>的构造方法
公开课ObixClient { baseUrl公共ObixClient(字符串,字符串的用户名,字符串密码){ 这一点。baseUrl=baseUrl; 这一点。用户名=用户名; 这一点。密码=密码; init (); }//uri中存放着路由地址,然后传给会话,会话会在后面用的到 私人空间init () { Uri Uri=new Uri (baseUrl); 会话=new ObixSession (uri,用户名、密码); } }
这就是说这个类的当前这个对象,也就是构造方法产生的对象。
以下信息好像并没有用到
公共类NewValueInterfaceImpl实现NewValueInterface { Integer> HashMap<字符串;buildNameToId=new HashMap<字符串,Integer> (); Integer> HashMapobix协议在java中的配置和使用详解