当前位置: 首页 > news >正文

高端设计网站平台焦作网站设计多少钱

高端设计网站平台,焦作网站设计多少钱,车务网站开发,网页制作中的常见问题SpringBoot多环境docker集成企业微信会话存档sdk 文章来自于 https://developer.work.weixin.qq.com/community/article/detail?content_id16529801754907176021 SpringBoot多环境docker集成企业微信会话存档sdk 对于现在基本流行的springboot环境#xff0c;官方文档真是比…SpringBoot多环境docker集成企业微信会话存档sdk 文章来自于 https://developer.work.weixin.qq.com/community/article/detail?content_id16529801754907176021 SpringBoot多环境docker集成企业微信会话存档sdk 对于现在基本流行的springboot环境官方文档真是比较坑的基本都要自己摸索。 以下代码大家根据自己项目调整无需生搬硬套代码不重要主要了解到其中的思路和坑点。 一. 主要目录结构 hell ├─src │ ├─main │ │ ├─java │ │ │ └─com │ │ │ ├─ft │ │ │ │ └─qb │ │ │ │ └─job │ │ │ │ └─biz │ │ │ │ └─employee │ │ │ │ └─qywx │ │ │ │ └─QywxMessageWinJob.java # 业务主入口定时任务执行入口 │ │ │ └─tencent │ │ │ └─wework │ │ │ └─Finance.java # 企业微信sdk中的Finance.java文件copy过来切记包名不能错 │ │ └─resources │ │ ├─config │ │ └─lib │ │ └─qywx │ │ └─linux │ │ └─libWeWorkFinanceSdk_Java.so # 企业微信linux sdk中的同名文件 │ │ └─libWeWorkFinanceSdk.so # copy自libWeWorkFinanceSdk_Java.so改名 │ │ └─win │ │ └─libcrypto-1_1-x64.dll # 企业微信linux sdk中的同名文件 │ │ └─libcurl-x64.dll # 企业微信linux sdk中的同名文件 │ │ └─libssl-1_1-x64.dll # 企业微信linux sdk中的同名文件 │ │ └─WeWorkFinanceSdk.dll # 企业微信linux sdk中的同名文件注意 Finance.java文件的包名千万不能错一定要是com.tencent.wework。 - linux下的sdk中libWeWorkFinanceSdk_Java.so要改名为libWeWorkFinanceSdk.so后面都是使用这个libWeWorkFinanceSdk.so。别TM问为什么我也想知道为什么腾讯的程序员不出来解释一下么文档中没有提及完全的大坑我也是看了某个老兄的帖子才改的。 实际项目截图 二. 改造Finance.java文件 因为sdk是分win和linux环境的所以我们需要对Finance.java进行一些改造使之可以判断win和linux环境自动切换加载的dll或so文件。 修改static部分的代码 avastatic {if (isWindows()) {// win。获取4个dll的实际位置下边使用System.load来加载dll。String path System.getProperty(user.dir) \\src\\main\\resources\\lib\\qywx\\win\\;path path.replaceAll(%20, ).replaceFirst(/, ).replace(/, \\\\);//加载顺序不能变System.load(path.concat(libcrypto-1_1-x64.dll));System.load(path.concat(libssl-1_1-x64.dll));System.load(path.concat(libcurl-x64.dll));System.load(path.concat(WeWorkFinanceSdk.dll));} else {// linux。加载指定so文件在linux系统下的位置。// docker的话这行也可以不要。这里有点小坑后文会讲。System.load(/usr/lib/libWeWorkFinanceSdk.so);}//这行是本身Finance.java就有的别丢掉。System.loadLibrary(WeWorkFinanceSdk);}public static boolean isWindows() {String osName System.getProperties().getProperty(os.name);return osName.toUpperCase().indexOf(WINDOWS) ! -1;}自建一个isWindows()方法来判断当前的运行环境。然后在static中根据环境加载不同的dll和so就可以了。 三、win linux 在win或linux运行看一下主程序调用入口文件QywxMessageWinJob.java。 package com.ft.qb.job.biz.employee.job;import com.tencent.wework.Finance;import com.xxl.job.core.handler.annotation.XxlJob; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Value; import org.springframework.stereotype.Component;import java.io.File; import java.lang.reflect.Field;/*** 用于调用企业微信接口获取会话存到内容持久化到数据库*/ Component Slf4j public class QywxMessageWinJob {Value(${project.qywx.session-message.corpid})private String corpid;Value(${project.qywx.session-message.secret})private String secret;XxlJob(QywxMessageJob_syncMessage)public void syncMessage() {try {long ret 0;//使用sdk前需要初始化初始化成功后的sdk可以一直使用。//如需并发调用sdk建议每个线程持有一个sdk实例。//初始化时请填入自己企业的corpid与secrectkey。long sdk Finance.NewSdk();ret Finance.Init(sdk, this.corpid, this.secret);}catch(Exception e){log.error(企业微信会话sdk初始化失败, e);throw e;}log.info(sdk加载成功了继续!!!);}}只要上一步Finance.java别改错基本上就run通了。 四、docker docker环境比较特殊。 一定要注意不要使用alpine版本的java镜像做基础镜像会丢失一些基础的so文件导致sdk加载失败。 基础镜像FROM openjdk:17-jdk-alpine比如我一开始是openjdk:17-jdk-alpine镜像当Finance.java执行到System.loadLibrary(“WeWorkFinanceSdk”)的时候会报错找不到ld-linux-x86-64.so.2 java.lang.UnsatisfiedLinkError: /usr/lib/libWeWorkFinanceSdk.so: Error loading shared library ld-linux-x86-64.so.2: No such file or directory (needed by /usr/lib/libWeWorkFinanceSdk.so)将libWeWorkFinanceSdk.so放入docker镜像中。在DockerFile中加一行copy libWeWorkFinanceSdk_Java.so # 基础镜像FROM openjdk:17-jdk# copy libWeWorkFinanceSdk_Java.soCOPY src/main/resources/lib/qywx/linux/libWeWorkFinanceSdk.so /usr/lib/libWeWorkFinanceSdk.soADD target/app.jar app.jar# 更改为中国时区RUN ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtimeRUN echo Asia/Shanghai /etc/timezone# 启动容器时执行ENTRYPOINT [java,-Djava.security.egdfile:/dev/./urandom,-Ddruid.mysql.usePingMethodfalse,-jar,app.jar]# 使用端口80EXPOSE 29202 29203这里如果加了这行copy因为jdk容器中/usr/lib属于java的运行时目录所以Finance.java文件中的 System.load(“/usr/lib/libWeWorkFinanceSdk.so”); 这行加不加是无所谓的。 下边执行的System.loadLibrary(“WeWorkFinanceSdk”);会自动在/usr/lib目录中加载到WeWorkFinanceSdk的。 如上根据自己的项目改改基本都是可以run通的。 使用端口80 EXPOSE 29202 29203 这里如果加了这行copy因为jdk容器中/usr/lib属于java的运行时目录所以**Finance.java**文件中的**System.load(/usr/lib/libWeWorkFinanceSdk.so);**这行加不加是无所谓的。下边执行的**System.loadLibrary(WeWorkFinanceSdk);**会自动在/usr/lib目录中加载到**WeWorkFinanceSdk**的。如上根据自己的项目改改基本都是可以run通的。
http://www.pierceye.com/news/804160/

相关文章:

  • 中山建设网站公司软件工程开发
  • 网站备案logo韩国展厅设计网站
  • 网站建设沧州做网站导航能赚钱吗
  • 自己怎么创建免费网站wordpress使用插件
  • 做一个个人主页的网站怎么做商城小程序模板
  • 网站站内链接怎么做wordpress文章样式插件
  • 网站大全浏览器济南免费网站建设优化
  • 招聘网站入职分析表怎么做网站关键字挖掘
  • 锡盟本地网站建设网站欢迎页面代码
  • 有做网站吗个人站长网站
  • 免费网站模板下载图怪兽在线制作
  • 黑龙江网站设计公司广告海外推广
  • 农产品网站建设策划国际新闻最新10条
  • 南通制作网站公司开发公司与物业公司移交协议
  • 做网站为什么很复杂最简单的免费网站制作模板
  • 高端网站公司书画工作室网站模板网站建设
  • 招标网站免费平台永州做网站公司
  • 企业网站建设 cmsphp网站建设方案
  • 自适应网站建设沈阳潍坊制作网站的公司
  • lamp网站开发黄金组合下载宣传页模板
  • 精通网站建设100全能建站密码摄影学习网站
  • 重庆如何软件网站推广陕西省诚信建设示范网这个网站
  • 怎样做关键词网站wordpress建站购买
  • app开发模板网站老网站备案密码错误
  • 北京展示型网站建设价格seosem是指什么意思
  • 网站开发费用构成论坛静态网站源码
  • 百度怎么把自己网站展现在百度森动网网站建设好吗
  • 城市生活网官方网站app成都设计院
  • 移动网站开发实训报告清远企业网站建设
  • 手机版网站如何做陕西城乡建设网站