定时任务,LocalDateTime,在代码中调用其他项目的接口url
1.定时任务
1.在类上添加注解
@Component
@Configuration
@EnableScheduling
2.在类中方法上添加注解
@Scheduled(cron = "0 */2 * * * ?") //每两秒执行一次,通过cron表达式控制频率
2.LocalDateTime
LocalDateTime endTime = LocalDateTime.now();//获取当前时间 2022-11-28T10:42:48.538
LocalDateTime startTime = endTime.minusDays(3); //当前时间往前推3天
endTime.plusDays(1);//当前时间往后推一天
String end = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss").format(endTime); //将日期格式化为指定格式
3.Http调用其他接口
1.导入相关依赖
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpclient</artifactId>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.httpcomponents/httpcore -->
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpcore</artifactId>
</dependency>
<dependency>
<groupId>org.apache.httpcomponents</groupId>
<artifactId>httpmime</artifactId>
</dependency>
2.工具类
点击查看代码
package com.hyl.utils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
import java.io.*;
import java.net.HttpURLConnection;
import java.net.URL;
import java.net.URLEncoder;
import java.util.Map;
@Slf4j
public class HttpUtil {
private static int HTTP_DEFAULT_TIMEOUT = 5000;
public static final String SUCCESS = "success";
private static URL url;
private static HttpURLConnection con;
/**
* post调用,传输map
*
* @param path
* @param params
* @return
* @throws IOException
*/
public static String send_post_request(String path, Map<String, String> params) throws IOException {
return send_post_request(path, params, "UTF-8", HTTP_DEFAULT_TIMEOUT);
}
/**
* post调用
*
* @param path
* @param params
* @param encoding
* @return
* @throws IOException
*/
public static String send_post_request(String path, Map<String, String> params, String encoding, int timeout)
throws IOException {
if (StringUtils.isAnyBlank(path, encoding)) {
log.info("path或encoding为空,path:{}, encoding: {}", path, encoding);
return null;
}
InputStream inputStream = null;
OutputStream outStream = null;
HttpURLConnection conn = null;
try {
StringBuilder data = new StringBuilder();
if (params != null) {
for (Map.Entry<String, String> entry : params.entrySet()) {
if(StringUtils.isBlank(entry.getKey()) || null == entry.getValue()) {
continue;
}
data.append(entry.getKey()).append("=");
data.append(URLEncoder.encode(entry.getValue(), encoding));
data.append("&");
}
}
if (data.length() > 0) {
data.deleteCharAt(data.length() - 1);
}
log.info("====data:{}====", data.toString());
byte[] entity = data.toString().getBytes();// 生成实体数据
conn = (HttpURLConnection) new URL(path).openConnection();
conn.setConnectTimeout(timeout);// 设置超时
conn.setRequestMethod("POST");
// 允许对外输出数据
conn.setDoOutput(true);
// 设定传送的内容类型是可序列化的java对象
// (如果不设此项,在传送序列化对象时,当WEB服务默认的不是这种类型时可能抛java.io.EOFException)
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setRequestProperty("Content-Length", String.valueOf(entity.length));
conn.setRequestProperty("AppKey", "3");
conn.setRequestProperty("Connection", "Keep-Alive");
outStream = conn.getOutputStream();
outStream.write(entity);
log.info("responseCode: {}", conn.getResponseCode());
if (conn.getResponseCode() == 200) {
inputStream = conn.getInputStream();
byte[] dateStream = readStream(inputStream);
return new String(dateStream);
}
} catch (Exception e) {
e.printStackTrace();
log.info("http调用发生异常,错误信息:{}", e.getMessage());
} finally {
if (outStream != null) {
outStream.close();
}
if (conn != null) {
conn.disconnect();
}
}
return null;
}
/**
* 读取流
*
* @param inStream
* @return
* @throws Exception
*/
public static byte[] readStream(InputStream inStream) throws Exception {
ByteArrayOutputStream outSteam = new ByteArrayOutputStream();
byte[] buffer = new byte[2048];
int len = -1;
while ((len = inStream.read(buffer)) != -1) {
outSteam.write(buffer, 0, len);
}
outSteam.close();
inStream.close();
return outSteam.toByteArray();
}
}
3.调用方法 发送请求
String url = "http://localhost:8088/emp-admin";
HashMap<Stirng,Stirng) map = new HashMap<>(){{
put("id",1);
put("name","张三")
}};
String result = HttpUtil.send_post_request(url, map);//若那边接口是Json格式,调用另一个方法,传入JsonObject()类型的参数即可
定时任务,LocalDateTime,在代码中调用其他项目的接口url的更多相关文章
- Android 在C代码中调用logcat
本文给<Android java传递int类型数组给C>中添加C代码中调用logcat的功能 Android.mk文件增加以下内容 LOCAL_LDLIBS += -llog C代码中增加 ...
- Dynamics AX 2012 R2 从代码中调用SSRS Report
平时,我们制作SSRS Report的方法主要有两种:使用Query或RDP.如果需要为报表传递参数,就要在代码中为报表参数赋值,然后在代码中调用报表.下面我总结下这两种报表在代码中传参和调用的方式: ...
- 在C代码中调用C++接口
一 在C源文件中调用C++封装的接口 例如: 要想在A.c文件中,调用生命在B.h,实现在B.cpp中的接口bool getMAC(char *mac_addr); 其实现方法 B.cpp 如下: / ...
- 在代码中调用 mvc 4 api
mvc 4 api 的调用有很多种,最常见也最简单的一种是 用 ajax 的方式在前端界面中调用, 如果是在后台代码中调用 ,是要复杂一些,以下是 以 post 的方式调用 api 的封装好的方法: ...
- 该对象尚未初始化。请确保在所有其他初始化代码后面的应用程序启动代码中调用 HttpConfiguration.EnsureInitialized()。
WebAPI使用属性路由,配置config.MapHttpAttributeRoutes();后出现错误: System.InvalidOperationException: 该对象尚未初始化.请确保 ...
- 在php代码中调用帝国cms头部变量temp.header的方法
在php代码中调用帝国cms头部变量temp.header的方法 代码如下: <?php require("../e/class/connect.php"); if(!def ...
- 如何在java代码中调用一个web项目jsp或者servlet
有时候需要调用一个web项目的jsp或者servlet,但是执行内部的代码,并不是打开jsp,例如需要在一段java代码中清除一个web项目中的缓存,那么可以把清除缓存的代码放在该web项目的一个se ...
- C# 代码中调用 Javascript 代码段以提高应用程序的配置灵活性(使用 Javascript .NET 与 Jint)
一般来说,我们需要在开发应用软件的配置文件中,添加一些参数,用于后续用户根据实际情况,自行调整. 配置参数,可以放在配置文件中.环境变量中.或数据库表中(如果使用了数据库的话).通常,配置数据,以 k ...
- 在汇编代码中调用C函数
对于ARM体系来说,不同语言撰写的函数之间相互调用(mix calls)遵循的是 ATPCS(ARM-Thumb Procedure Call Standard),ATPCS主要是定义了函数呼叫时参数 ...
- c代码中调用c++,c++代码中调用c代码
注意这里的c调用c++或者c++调用c的意思是.c文件中调用.cpp文件中的代码,或者相反 集成开发环境如vc++6.0或者vs都是通过文件后缀来区别当前要编译的是C代码还是C++代码,然后采用相应的 ...
随机推荐
- 从BeanFactory源码看Bean的生命周期
下图是我搜索"Spring Bean生命周期"找到的图片,来自文章--Spring Bean的生命周期 下面,我们从AbstractAutowireCapableBeanFacto ...
- 部署grafana+telegraf+influxdb 及 配置 jmeter后端监听
搞性能测试,可以搭建Grafana+Telegraf+InfluxDB 监控平台,监控服务器资源使用率.jmeter性能测试结果等. telegraf: 是一个用 Go 编写的代理程序,可收集系统和服 ...
- luoguP1505旅游(处理边权的树剖)
/* luogu1505 非常简单的处理边权的树剖题. 在树上将一条边定向,把这条边的权值赋给这条边的出点 树剖的时候不计算lca权值即可 */ #include<bits/stdc++.h&g ...
- 4.drf-版本管理
根据RESTful规范,后端API中需要体现出版本,DRF中支持5种版本的设置,常见的三种如下 1. URL的GET中传递参数 在视图类中定义 from rest_framework.versioni ...
- Day17.1:静态与非静态的详解
静态与非静态 静态方法--类方法 是以static为关键词,从属于类,与类共生 public class Students{//class修饰的是一个类,所以这是一个学生类 public static ...
- win 10玩魔兽争霸/黑边,不能全屏,闪退
1.win键+s键搜索注册表 打开 找到路径 计算机\HKEY_CURRENT_USER\SOFTWARE\Blizzard Entertainment\Warcraft III\Video 这里有两 ...
- java 分别获取当前时间的年月日以及当前时间所在周的周一周末日期
以前也经常用date去截取,但是病史所有场景都适合,或者说效率满足不了,或者说拼接格外麻烦.能用java本省的的方法去实现其实更爽.因为中西方的文化的差异有时候在简单的方法上我们不得不去加一些其他的去 ...
- MISC中的图片修改宽高问题
在做CTF中MISC分类题目时,很常见的一个问题就是修改图片正确的宽与高 (此篇笔记中的内容以ctfshow中MISC入门分类为切入点,感兴趣的同学可以一边做一边有不会的看看,仅供参考,我是菜鸡) 曾 ...
- “XZ”格式文件解压
1.下载xz 官网:https://tukaani.org/xz/ 例:wget https://nchc.dl.sourceforge.net/project/lzmautils/xz-5.2.6. ...
- 【基础语法规范】BC1:Hello Nowcoder
语言1:Java public class Main{ public static void main(String[] args){ System.out.println("Hello N ...