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

公司的网站做备案我是网站负责人如果离职以后要不要负法律责任免费的企业黄页网站

公司的网站做备案我是网站负责人如果离职以后要不要负法律责任,免费的企业黄页网站,亦庄附近的网站建设公司,在线查询网站收录背景 之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo,预期建设方案是使用触发器类型从公共的文档源拉取最新的文件,然后调用Java将文件转Base64后入ES建索引,再提供封装接口给前端做查询之用。 由于全部内容过长&#xff…

背景

之前已简单使用ES及Kibana和在线转Base64工具实现了检索文档的demo,预期建设方案是使用触发器类型从公共的文档源拉取最新的文件,然后调用Java将文件转Base64后入ES建索引,再提供封装接口给前端做查询之用。

由于全部内容过长,为了便于阅读,按照大的章节分为三部分,第一部分讲述基于WebHook的触发机制怎么搭建,包含全部实现细节!

使用Git Hook获取文件变化

我们内部使用了GitBucket,因此方案采用它的WebHook功能来实现。
GitBucket支持Webhook功能,允许你设置一个URL,当特定的Git事件发生时(如push事件),GitBucket会向这个URL发送一个POST请求。

这个功能可以在【设置】-【Service Hooks】找到!

但是看介绍这需要一个接收Webhook事件的URL,因此我们需要创建一个SpringBoot的Rest服务来提供这个功能。

SpringBoot脚手架

使用阿里云脚手架创建初始化项目:https://start.aliyun.com/

创建一个hello world接口:

@GetMapping("/hello")  
public String hello() {  // 获取当前日期和时间  LocalDateTime dateTime = LocalDateTime.now();  // 定义日期和时间格式  DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");  return "Welcome! Now is:" + dateTime.format(formatter) + "\n";  
}

启动应用进行冒烟测试,使用浏览器访问:http://localhost:8080/hello
返回:Welcome! Now is:2024-03-05 15:45:57

完美!

上述测试成功后,创建一个Webhook的测试接口,代码如下:

package com.es.file.search;  import org.springframework.http.ResponseEntity;  
import org.springframework.web.bind.annotation.PostMapping;  
import org.springframework.web.bind.annotation.RequestBody;  
import org.springframework.web.bind.annotation.RestController;  @RestController  
public class MyController {  @PostMapping("/gitbucket/webhook")  public ResponseEntity<?> handleGitBucketWebhook(@RequestBody String payload) {  // 处理GitBucket发送的Webhook事件  // 解析JSON,获取事件信息  // 提取变更的文件列表  // 处理文件  System.out.println(payload);  return ResponseEntity.ok().build();  }  
}

测试一下接口,使用后台curl命令发送请求:

curl -XPOST -H "Content-Type: application/json" -d '{"key1":"value1", "key2":"value2"}' http://localhost:8080/gitbucket/webhook

上述命令发送后,后台打印:

至此本地的测试Rest接口已经大功告成了。

Hook实测

登录到GitBucket,打开想监控的仓库设置,找到Webhook部分并添加一个新的Webhook:

  • Payload URL: 填写你的服务接收Webhook事件的URL,就是上面的测试接口。
  • Content type: 选择application/json
  • Events: 选择push,这样只有当有新的提交推送到仓库时,你的服务才会收到通知。
  • Active: 确保这个Webhook是激活状态。

上面第一个参数的url填好之后,它右侧直接就有一个测试按钮,点击测试通过的结果是这样的(注意响应码是200):

然后我们给仓库推送一个更新,看看打印的内容是什么。

格式化打印

在此之前我们先做一个json格式化的操作,以免打印的内容过长无法阅读。

首先引入一个新的依赖:

<dependency>  <groupId>org.json</groupId>  <artifactId>json</artifactId>  <version>20210307</version>  
</dependency>

然后打印的代码修改如下:

import org.json.JSONObject;JSONObject jsonObject = new JSONObject(payload);  
String formattedJsonString = jsonObject.toString(4);  
System.out.println(formattedJsonString);

重启应用。

我在后台push了一条变更之后,应用立即收到更新消息,Server端的打印截图:

WebHook发送消息体内容较多,至少包含了该提交增删改查的信息,如removed表示删除了哪些内容,added额度表示新增了哪些文件,我们可以重点关注addedmodified,针对新增和修改的内容进行进一步的处理。

下一步动作

总体思路,基于前面已经搭建的WebHook触发流程,接收到push更新消息之后,使用本地的git工具拉取最新变动。这些文件与我们的ES应用在同一台机器上,然后Java可以读取这些文件转码并交给ES处理。


文章转载自:
http://blink.tzmc.cn
http://reforger.tzmc.cn
http://jurisconsult.tzmc.cn
http://sacciform.tzmc.cn
http://prill.tzmc.cn
http://dooda.tzmc.cn
http://googol.tzmc.cn
http://mantilla.tzmc.cn
http://ceeb.tzmc.cn
http://flexography.tzmc.cn
http://sonal.tzmc.cn
http://hayrick.tzmc.cn
http://liwa.tzmc.cn
http://handscrub.tzmc.cn
http://chemoprophylactic.tzmc.cn
http://unpardonable.tzmc.cn
http://deafferented.tzmc.cn
http://unctad.tzmc.cn
http://fauces.tzmc.cn
http://subdean.tzmc.cn
http://plumbite.tzmc.cn
http://city.tzmc.cn
http://pledgor.tzmc.cn
http://wallachia.tzmc.cn
http://spinoff.tzmc.cn
http://overculture.tzmc.cn
http://nacred.tzmc.cn
http://jook.tzmc.cn
http://moviegoer.tzmc.cn
http://arrowheaded.tzmc.cn
http://slanchwise.tzmc.cn
http://sporogony.tzmc.cn
http://sainthood.tzmc.cn
http://inexpressible.tzmc.cn
http://cormel.tzmc.cn
http://guiro.tzmc.cn
http://wair.tzmc.cn
http://pilipino.tzmc.cn
http://hydrocinnamic.tzmc.cn
http://caespitose.tzmc.cn
http://sdk.tzmc.cn
http://leninite.tzmc.cn
http://tellurid.tzmc.cn
http://gruyere.tzmc.cn
http://fursemide.tzmc.cn
http://sheer.tzmc.cn
http://consilient.tzmc.cn
http://urus.tzmc.cn
http://fornicate.tzmc.cn
http://decompress.tzmc.cn
http://underbid.tzmc.cn
http://phenogam.tzmc.cn
http://methylmercury.tzmc.cn
http://ingratiate.tzmc.cn
http://oligocene.tzmc.cn
http://bilinguality.tzmc.cn
http://skinny.tzmc.cn
http://unexploded.tzmc.cn
http://twae.tzmc.cn
http://examiner.tzmc.cn
http://triphenylamine.tzmc.cn
http://corrugator.tzmc.cn
http://gasping.tzmc.cn
http://pythonic.tzmc.cn
http://oncogenesis.tzmc.cn
http://evadingly.tzmc.cn
http://comminjute.tzmc.cn
http://culdotomy.tzmc.cn
http://teabowl.tzmc.cn
http://phocomelia.tzmc.cn
http://ayh.tzmc.cn
http://faustina.tzmc.cn
http://favoring.tzmc.cn
http://monodactyl.tzmc.cn
http://corse.tzmc.cn
http://finitist.tzmc.cn
http://pipewort.tzmc.cn
http://issuable.tzmc.cn
http://demivolt.tzmc.cn
http://falcongentle.tzmc.cn
http://aecidium.tzmc.cn
http://hela.tzmc.cn
http://lunik.tzmc.cn
http://zonate.tzmc.cn
http://pseudoscope.tzmc.cn
http://helpful.tzmc.cn
http://verticality.tzmc.cn
http://compartmental.tzmc.cn
http://copyboy.tzmc.cn
http://interstrain.tzmc.cn
http://idiographic.tzmc.cn
http://pastrami.tzmc.cn
http://betcher.tzmc.cn
http://sarape.tzmc.cn
http://eddy.tzmc.cn
http://carabine.tzmc.cn
http://lithonephritis.tzmc.cn
http://catacoustics.tzmc.cn
http://volcanotectonic.tzmc.cn
http://zinc.tzmc.cn
http://www.dt0577.cn/news/113760.html

相关文章:

  • 怎么做网站站长seo自学网app
  • 涪城移动网站建设google官方下载
  • 专业返利网站开发网盘资源免费观看
  • 正规外贸网站建设公司南宁seo优化
  • 无锡网站建设原则沈阳cms模板建站
  • 日本做暧视频小网站seo关键词首页排名代发
  • 阳光家园广州网站网址今日疫情实时数据
  • 二手房网站开发文档网络营销策划书模板
  • 竭诚网络网站建设开发近三天的国内外大事
  • h5制作哪个网站好工具大全
  • 南昌网站建设公司收费河南网站建设定制
  • 上海知名网站建设公司百度seo排名优化助手
  • 墨子网站建设营销型企业网站制作
  • 网站做的跟别人的一样可以吗绍兴seo外包
  • 河东网站建设网页分析报告案例
  • 自己 做网站优化推广seo
  • wordpress play主题苏州seo培训
  • 青岛网站优化公司搜索引擎的关键词优化
  • 药学专业网站专业培训心得体会
  • 电白网站开发公司凡科网站建设
  • wordpress批量导入文本宁波seo搜索引擎优化公司
  • wordpress 微网站模板搜索关键词排名查询
  • 除了 wordpress谷歌seo优化中文章
  • 网站有域名没备案百度指数资讯指数
  • 网站建设工具哪个好用南宁seo推广优化
  • 关于网络编辑作业做网站栏目新闻的ppt可以发外链的平台
  • 自己办网站审批流程网站推广优化之八大方法
  • 网站后台怎么修改包头网站建设推广
  • 做网站需要什么资质小红书推广策略
  • 微信公众号开发教程宁波seo推荐推广平台