salesforce 零基础学习(五十五)java通过SOAP方式定时访问某个文件然后插入到sObject中

项目源码:https://github.com/zhangyueqidlmu/SOAP-Access-SFDC.git

项目背景:salesforce端相关数据需要其他系统提供,其他系统可以提供相关数据的CSV文件。使用SOAP方式java代码定时将文件读取解析并插入到salesforce相关数据表中。

项目实现功能:固定时间访问指定目录下的csv文件,解析csv文件到List中并将records插入到Goods(自定义的sObject)表中,并将此定时任务放到计算机的服务中,防止误操作关闭了命令窗口导致job结束。

代码结构:

代码结构简单介绍:

  • SFDCConf.properties:链接salesforce的配置信息,包括用户名密码以及是否使用代理链接salesforce
  • BaseConf.preperties:配置job的运行时间以及相关文件的访问目录以及文件的名称等;
  • Log4j.properties:配置相关log4j的配置信息;
  • utilities.BaseConfig:基类配置类,通过配置文件路径读取相关的配置信息;
  • utilities.ConstantUtility:常量类;
  • utilities.CVSHelper:对csv文件读或者写的方法封装;
  • utilities.QuartzConfig:读取BaseConf.properties的绝对路径;
  • utilities.SFDCConfig:读取SFDCConf.preperties的绝对路径;
  • service.EmailMessageService:封装发送邮件的服务层;
  • service.GoodsService:封装读取CSV文件并将内容插入到Goods__c中的服务层;
  • service.SFDCService:封装链接断开sfdc接口的服务层;
  • handler.SFDCHandler:实现Job接口,定期创建和sfdc的连接;
  • handler.GoodsHandler:实现Job接口,定期调用GoodsService方法实现定期访问某个文件实现记录插入;
  • schedule.QuartzTask:程序主入口,配置哪些job运行。

 其中jar目录中需要包括salesforce相关的wsdl生成的jar,通过wsdl生成jar可以参看https://cloud.tencent.com/developer/article/1014203

通过上述代码即可实现定期访问某个目录下某个csv文件并将文件解析同步到salesforce中。

此项目生成jar以后可以在命令窗口启动后实现每天定时job,通过以下方式可以将此定时任务放到计算机的服务中,免得其他人员误操作将命令窗口关闭从而导致job结束。

生成服务的git地址:https://github.com/zhangyueqidlmu/put-job-to-service.git

 目录结构介绍:

  • conf:此目录为相关配置文件,包括SFDCConf.properties、BaseConf.preperties、Log4j.properties,配置和上述程序中相同;
  • jar:程序使用相关jar包,将上述项目中的jarcopy过来即可;
  • jre:程序运行需要的jre;
  • log:存储job运行生成的log日志;
  • InstallService-NT.bat:双击此批处理文件可以在服务中生成相关的服务;
  • SOAPOperateGoods.jar:此jar包为上面java项目export产生,名字自己起,本项目名称为SOAPOperateGoods;
  • StartService-NT.bat:双击此批处理文件可以直接启动此服务;
  • UninstallService-NT.bat:双击此批处理文件可以卸载此服务;
  • wrapper.conf:此配置文件中需要配置相关jar的路径,项目的QuartTask类的相对位置,生成服务的名称等配置信息;
  • wrapper.log:此log文件显示job所有的log日志信息。

(注:批处理文件应右键使用管理员方式运行)

效果展示:

1.生成Goods Service服务

 2.Goods目录生成备份文件以及数据原来内容

3.插入到数据库的数据展示

 总结:此项目用于SOAP方式访问salesforce并进行定时任务,有错误的地方欢迎指正,不懂得地方欢迎留言。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏SDNLAB

ONOS编程系列(一)之简单应用开发

一个ONOS application是使用maven做管理的OSGi bundle。 因此,ONOS application 可以归结为Java类和POM文件的...

2965
来自专栏向治洪

解决Setting property 'source' to 'org.eclipse.jst.jee.server的问题

对于这个问题,我相信我的方法已经能帮90%的人解决了! 当你用Eclipse运行web项目的时候,你就会看到控制台出现: WARNING: [SetPrope...

1917
来自专栏云计算教程系列

如何在CentOS 7上安装和加固Memcached

像Memcached这样的内存对象缓存系统可以通过在内存中临时存储信息,保留频繁或最近请求的记录来优化后端数据库性能。通过这种方式,它们可以减少对数据库的直接请...

783
来自专栏子勰随笔

Android开发调试常用工具

2358
来自专栏24K纯开源

Premiere Pro & After Effects插件开发调试方法

      在给Adobe Premiere Pro(PR)和Adobe After Effects(AE)插件开发时,对于实时调试插件有着很强的需求。除了业务...

1947
来自专栏分享达人秀

熟悉Android Studio界面,开始装逼卖萌

通过前两期的学习,我们可以正确搭建好Android Studio的开发环境,也创建了HelloWorld工程并成功运行,那么本期就带你一起来了解这款强大...

2126
来自专栏Timhbw博客

Aria2-不限速全平台下载利器

2016-06-2815:54:31 2 5,355℃热度 1.工具下载(包含本文中出现的所有工具的最新版本) 2. Aria2简介 3.安装与配置 ...

5096
来自专栏腾讯云数据库团队的专栏

在云端快速构建一个 ODOO 站点

ODOO 的前身是 OpenERP,是一款开源的 ERP 系统,使用 Python 开发,数据库采用PostgreSQL,系统以 LGPLv3 协议发布。ODO...

2.1K0
来自专栏草根专栏

使用VS Code开发asp.net core

下载地址: https://code.visualstudio.com/

1.1K12
来自专栏MasiMaro 的技术博文

如何将VS 2015中的项目上传到github

最近开始慢慢接触github,现在希望将自己平时写的小程序,上传到github上,以便以后有个参考,在遇到同样问题的时候不至于想不起来怎么做而到处找别人的例子。

831

扫码关注云+社区