...
- 按照开发扩展包的说明,新建扩展包项目MyJavaQueryProj,如果是使用cmd脚本创建,配置如下图:
- 解压smartbi.war到临时目录
- 将临时目录中的/WEB-INF/lib/smartbi-FreeQuery.jar、smartbi-Common.jar等smartbi依赖包复制到扩展包项目MyJavaQueryProj的lib-compile目录,并添加该目录下所有jar为项目的依赖包(如果要添加的jar不是smartbi.war中的jar,但是自定义javabean需要使用,则需要将jar包复制到MyJavaQueryProj的src/web/META-INF/lib目录,该目录下的jar在打包扩展包时将一同打包)
- 在MyJavaQueryProj项目中新建一个类com.proj.MyJavaQuery,并实现接口
IJavaQueryData
.ISimpleData
(该接口声明返回该类返回的数据量比较少,Smartbi会自动读取所有数据并支持计算字段、排序、聚合、条件的功能),
如果java查询不需要配置项,其init方法和loadConfigs 注:如果java查询不需要配置项,其init方法和loadConfigs 需要定义空方法实现:
- 编译项目,运行/MyJavaQueryProj/build.xml将项目打包为扩展包MyJavaQueryProj.ext,如下图
注:Eclipse等IDE编译用的JDK必须与Smartbi服务器运行的JDK使用同一个版本 - 执行后刷新MyJavaQueryProj项目,可以看到新增一个dist目录,目录下MyJavaQueryProj.ext文件就是生成的扩展包
- 按照扩展包部署的方法,部署MyJavaQueryProj.ext到smartbi
- 重启smartbi应用服务器
- 在【定制管理】→【数据管理】的“数据源”节点右键新建Java数据源
- “Java数据源”上右键“新建Java查询对象”在类名中输入正确的Java查询实现类全名(如com.proj.MyJavaQuery)并点击获取默认配置,其中默认配置是调用java查询代码中的getConfigs()方法获取的,获取后可自定义修改配置
修改文件名配置为E:\test.csv - 点击获取参数与结果集并保存
- 保存后就可以在【定制管理】→【数据集定义】的“Java查询”中使用对应的Java查询对象新建Java查询,拖动Java查询字段到表达式编辑器,然后保存Java查询
- 保存Java查询到指定目录后,可以基于java查询新建分析
...