- 积分
- 5363
- 贡献
-
- 精华
- 在线时间
- 小时
- 注册时间
- 2012-2-16
- 最后登录
- 1970-1-1
|
登录后查看更多精彩内容~
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
本帖最后由 scmeiqy 于 2020-4-4 23:24 编辑
CIMISS接口之Java8+:支持Java8+版本。低于Java8,请使用官方1.6版。
疫情期间,为了完成上级交待的工作:关于CIMISS数据获取方法,给同事们作个培训。
在研究python接口期间,通过读ZeroC ICE官方文档,发现:
利用java8的新特性,其接口使用起来,更加符合人们的思维习惯,比如:以前的
xxxPrx类,必须用xxxHelp类来checkcast,而现在不需要了,interface的Help类,都直接消失了!!!
当然,对异步调用的支持更友好了!
直接上干货:
接口库其实很简单,很简单,很简单……重要的事说三遍:
1、库需要两个文件(全在cimiss_java8_lib.7z中):
ice373.jar 来自官方,可以使用sha1/md5/sha256校验。使用了JAVA8新特性,所以,运行环境需要JAVA8;
cimiss373j8.jar Cimiss接口库,基于JAVA8新特性,所以,运行环境需要JAVA8。
2、程序运行,需要配置文件:client.config
库中不包含(不是我故意不包含,而是基于其jar包的结构特点,不应该包含),在cimiss_java8_demo.7z压缩包中。
如果你下载了python的库包文件,这两个文件是一样的!!原接口库1.6包中的配置文件少了许多项,已不适用于ICE高版本!
3、说明一点:现在的库,我改变了接口包装文件的位置(改变的理由:我把cimiss的python接口,也使用ICE3.6+、python3.6/3.7/3.8环境,全部重新实现了,也改变了接口包装文件的位置,两者统一了):
原位置:cma.cimiss.client.DataQueryClient
新位置:sc.mqy.client.DataQueryClient
下面是demo代码:
import cma.cimiss.RequestInfo;
import sc.mqy.client.DataQueryClient;
import java.util.HashMap;
public class SaveFilesAPI_CLIB_callAPI_to_storeFile {
public SaveFilesAPI_CLIB_callAPI_to_storeFile() {
}
public static void main(String[] args) {
DataQueryClient client = new DataQueryClient();
String userId = "user_nordb";
String pwd = "user_nordb_pwd1";
String interfaceId = "";
interfaceId = "saveFiles";
HashMap<String, String> params = new HashMap();
params.put("DataCode", "SEVP_CIPAS_TEM_ANOM");
params.put("Elements", "Datetime,PUBLISH_TIME,FILE_NAME,DATA_CONTENT,DATA_ID,FORMAT,AREA,PRODUCER,DATA_SOURCE,V_FILE_SIZE");
String[][] inArray2D = new String[][]{{"20151110000000", "20151114060000", "MOP_CHCC_NCEPRA_WMFS_TMP_NH_0_PM_20151110_0000.png", "-", "TEM", "PNG", "NHE", "NCC", "CIPAS", "1222"}, {"20151111000000", "20151114060000", "MOP_CHCC_NCEPRA_WMFS_TMP_NH_0_PM_20151111_0000.png", "-", "TEM", "PNG", "NHE", "NCC", "CIPAS", "1222"}};
int num = inArray2D.length;
String[] write_filenames = new String[num];
String path = "./CIPAS产品";
for(int i = 0; i < num; ++i) {
write_filenames = path + "/" + inArray2D[2];
}
try {
client.initResources();
RequestInfo r = client.callAPI_to_storeFile(userId, pwd, interfaceId, params, inArray2D, write_filenames);
if (r != null) {
System.out.println("return code=" + r.errorCode);
System.out.println("return message=" + r.errorMessage);
}
} catch (Exception var14) {
var14.printStackTrace();
System.out.println(var14.getMessage());
} finally {
client.destroyResources();
}
}
}
这个示例代码,能编译通过,但不能运行成功的,因为你没有那个测试环境!!
如果你还在用java6、java7,请停止下载!!!
这个包对于那些气象类开发公司,应该是有用处的————异步、稳定、效率、高可配!!!
cimiss_java8_lib.7z
(820.55 KB, 下载次数: 6)
|
|