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

房地产网站方案指数是指什么

房地产网站方案,指数是指什么,兰州网站开发,全美网站建设springboot:2.7.2 xxl-job-core: 2.3.0 一、集成xxl-job 1. 在gitee上下载xxl-job项目 git clone https://gitee.com/xuxueli0323/xxl-job.git 2. 执行以下目录下的sql /xxl-job-2.3.0/doc/db/tables_xxl_job.sql 3. 在xxl-job-admin的项目中配置数据库信息 ### xxl-job, data…

springboot:2.7.2

xxl-job-core: 2.3.0

一、集成xxl-job

1. 在gitee上下载xxl-job项目

git clone https://gitee.com/xuxueli0323/xxl-job.git

2. 执行以下目录下的sql

/xxl-job-2.3.0/doc/db/tables_xxl_job.sql

3. 在xxl-job-admin的项目中配置数据库信息

### xxl-job, datasource
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/xxl_job?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true&serverTimezone=Asia/Shanghai
spring.datasource.username=root
spring.datasource.password=root_psw
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

4. 在xxl-job-2.3.0项目中执行 mvn clean install, 下载依赖

若报错gpg相关依赖插件没有,我目前是将pom中涉及gpg的部分暂时注释掉了

<!-- GPG -->
                    <!-- <plugin>
                        <groupId>org.apache.maven.plugins</groupId>
                        <artifactId>maven-gpg-plugin</artifactId>
                        <version>${maven-gpg-plugin.version}</version>
                        <configuration>
                            <useAgent>false</useAgent>
                        </configuration>
                        <executions>
                            <execution>
                                <phase>verify</phase>
                                <goals>
                                    <goal>sign</goal>
                                </goals>
                            </execution>
                        </executions>
                    </plugin> -->

5. 执行以下命令,启动xxl-job-admin

cd E:\workspace\prac\xxl-job-2.3.0\xxl-job-admin\target

java -jar xxl-job-admin-2.3.0.jar

6. 登录xxl-job-admin,账密:admin/123456

7. 项目中引入依赖

<!--xxl-job-core-->
<dependency><groupId>com.xuxueli</groupId><artifactId>xxl-job-core</artifactId><version>${xxl-job-version}</version>
</dependency>

 8. application.yml配置

xxl:job:admin:addresses: http://127.0.0.1:8080/xxl-job-adminexecutor:appname: xxl-job-executor  # 执行器名称,需唯一ip: 127.0.0.1                    # 执行器IP(可选)port: 9999                       # 执行器端口(可选)logpath: logs/xxl-job            # 日志路径logretentiondays: 30             # 日志保留天数

 9. 配置类XxlJobConfig

package com.yifeng.prac.config.xxljob;import com.xxl.job.core.executor.impl.XxlJobSpringExecutor;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @Author: EstellaQ* @Date: 2025/6/1 16:32* @Description: xxl-job config**/
@Configuration
public class XxlJobConfig {private Logger logger = LoggerFactory.getLogger(XxlJobConfig.class);@Value("${xxl.job.admin.addresses}")private String adminAddresses;@Value("${xxl.job.accessToken}")private String accessToken;@Value("${xxl.job.executor.appname}")private String appname;@Value("${xxl.job.executor.address}")private String address;@Value("${xxl.job.executor.ip}")private String ip;@Value("${xxl.job.executor.port}")private int port;@Value("${xxl.job.executor.logpath}")private String logPath;@Value("${xxl.job.executor.logretentiondays}")private int logRetentionDays;@Beanpublic XxlJobSpringExecutor xxlJobExecutor() {logger.info(">>>>>>>>>>> xxl-job config init.");XxlJobSpringExecutor xxlJobSpringExecutor = new XxlJobSpringExecutor();xxlJobSpringExecutor.setAdminAddresses(adminAddresses);xxlJobSpringExecutor.setAppname(appname);xxlJobSpringExecutor.setAddress(address);xxlJobSpringExecutor.setIp(ip);xxlJobSpringExecutor.setPort(port);xxlJobSpringExecutor.setAccessToken(accessToken);xxlJobSpringExecutor.setLogPath(logPath);xxlJobSpringExecutor.setLogRetentionDays(logRetentionDays);return xxlJobSpringExecutor;}/*** 针对多网卡、容器内部署等情况,可借助 "spring-cloud-commons" 提供的 "InetUtils" 组件灵活定制注册IP;**      1、引入依赖:*          <dependency>*             <groupId>org.springframework.cloud</groupId>*             <artifactId>spring-cloud-commons</artifactId>*             <version>${version}</version>*         </dependency>**      2、配置文件,或者容器启动变量*          spring.cloud.inetutils.preferred-networks: 'xxx.xxx.xxx.'**      3、获取IP*          String ip_ = inetUtils.findFirstNonLoopbackHostInfo().getIpAddress();*/
}

 10. 执行器示例

package com.yifeng.prac.job;import com.xxl.job.core.context.XxlJobHelper;
import com.xxl.job.core.handler.annotation.XxlJob;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Component;import java.io.BufferedInputStream;
import java.io.BufferedReader;
import java.io.DataOutputStream;
import java.io.InputStreamReader;
import java.net.HttpURLConnection;
import java.net.URL;
import java.util.Arrays;
import java.util.concurrent.TimeUnit;/*** XxlJob开发示例(Bean模式)** 开发步骤:*      1、任务开发:在Spring Bean实例中,开发Job方法;*      2、注解配置:为Job方法添加注解 "@XxlJob(value="自定义jobhandler名称", init = "JobHandler初始化方法", destroy = "JobHandler销毁方法")",注解value值对应的是调度中心新建任务的JobHandler属性的值。*      3、执行日志:需要通过 "XxlJobHelper.log" 打印执行日志;*      4、任务结果:默认任务结果为 "成功" 状态,不需要主动设置;如有诉求,比如设置任务结果为失败,可以通过 "XxlJobHelper.handleFail/handleSuccess" 自主设置任务结果;** @author xuxueli 2019-12-11 21:52:51*/
@Component
public class SampleXxlJob {private static Logger logger = LoggerFactory.getLogger(SampleXxlJob.class);/*** 1、简单任务示例(Bean模式)*/@XxlJob("demoJobHandler")public void demoJobHandler() throws Exception {XxlJobHelper.log("XXL-JOB, Hello World.");for (int i = 0; i < 5; i++) {XxlJobHelper.log("beat at:" + i);TimeUnit.SECONDS.sleep(2);}// default success}/*** 2、分片广播任务*/@XxlJob("shardingJobHandler")public void shardingJobHandler() throws Exception {// 分片参数int shardIndex = XxlJobHelper.getShardIndex();int shardTotal = XxlJobHelper.getShardTotal();XxlJobHelper.log("分片参数:当前分片序号 = {}, 总分片数 = {}", shardIndex, shardTotal);// 业务逻辑for (int i = 0; i < shardTotal; i++) {if (i == shardIndex) {XxlJobHelper.log("第 {} 片, 命中分片开始处理", i);} else {XxlJobHelper.log("第 {} 片, 忽略", i);}}}/*** 3、命令行任务*/@XxlJob("commandJobHandler")public void commandJobHandler() throws Exception {String command = XxlJobHelper.getJobParam();int exitValue = -1;BufferedReader bufferedReader = null;try {// command processProcessBuilder processBuilder = new ProcessBuilder();processBuilder.command(command);processBuilder.redirectErrorStream(true);Process process = processBuilder.start();//Process process = Runtime.getRuntime().exec(command);BufferedInputStream bufferedInputStream = new BufferedInputStream(process.getInputStream());bufferedReader = new BufferedReader(new InputStreamReader(bufferedInputStream));// command logString line;while ((line = bufferedReader.readLine()) != null) {XxlJobHelper.log(line);}// command exitprocess.waitFor();exitValue = process.exitValue();} catch (Exception e) {XxlJobHelper.log(e);} finally {if (bufferedReader != null) {bufferedReader.close();}}if (exitValue == 0) {// default success} else {XxlJobHelper.handleFail("command exit value("+exitValue+") is failed");}}/*** 4、跨平台Http任务*  参数示例:*      "url: http://www.baidu.com\n" +*      "method: get\n" +*      "data: content\n";*/@XxlJob("httpJobHandler")public void httpJobHandler() throws Exception {// param parseString param = XxlJobHelper.getJobParam();if (param==null || param.trim().length()==0) {XxlJobHelper.log("param["+ param +"] invalid.");XxlJobHelper.handleFail();return;}String[] httpParams = param.split("\n");String url = null;String method = null;String data = null;for (String httpParam: httpParams) {if (httpParam.startsWith("url:")) {url = httpParam.substring(httpParam.indexOf("url:") + 4).trim();}if (httpParam.startsWith("method:")) {method = httpParam.substring(httpParam.indexOf("method:") + 7).trim().toUpperCase();}if (httpParam.startsWith("data:")) {data = httpParam.substring(httpParam.indexOf("data:") + 5).trim();}}// param validif (url==null || url.trim().length()==0) {XxlJobHelper.log("url["+ url +"] invalid.");XxlJobHelper.handleFail();return;}if (method==null || !Arrays.asList("GET", "POST").contains(method)) {XxlJobHelper.log("method["+ method +"] invalid.");XxlJobHelper.handleFail();return;}boolean isPostMethod = method.equals("POST");// requestHttpURLConnection connection = null;BufferedReader bufferedReader = null;try {// connectionURL realUrl = new URL(url);connection = (HttpURLConnection) realUrl.openConnection();// connection settingconnection.setRequestMethod(method);connection.setDoOutput(isPostMethod);connection.setDoInput(true);connection.setUseCaches(false);connection.setReadTimeout(5 * 1000);connection.setConnectTimeout(3 * 1000);connection.setRequestProperty("connection", "Keep-Alive");connection.setRequestProperty("Content-Type", "application/json;charset=UTF-8");connection.setRequestProperty("Accept-Charset", "application/json;charset=UTF-8");// do connectionconnection.connect();// dataif (isPostMethod && data!=null && data.trim().length()>0) {DataOutputStream dataOutputStream = new DataOutputStream(connection.getOutputStream());dataOutputStream.write(data.getBytes("UTF-8"));dataOutputStream.flush();dataOutputStream.close();}// valid StatusCodeint statusCode = connection.getResponseCode();if (statusCode != 200) {throw new RuntimeException("Http Request StatusCode(" + statusCode + ") Invalid.");}// resultbufferedReader = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));StringBuilder result = new StringBuilder();String line;while ((line = bufferedReader.readLine()) != null) {result.append(line);}String responseMsg = result.toString();XxlJobHelper.log(responseMsg);return;} catch (Exception e) {XxlJobHelper.log(e);XxlJobHelper.handleFail();return;} finally {try {if (bufferedReader != null) {bufferedReader.close();}if (connection != null) {connection.disconnect();}} catch (Exception e2) {XxlJobHelper.log(e2);}}}/*** 5、生命周期任务示例:任务初始化与销毁时,支持自定义相关逻辑;*/@XxlJob(value = "demoJobHandler2", init = "init", destroy = "destroy")public void demoJobHandler2() throws Exception {XxlJobHelper.log("XXL-JOB, Hello World.");}public void init(){logger.info("init");}public void destroy(){logger.info("destory");}}

二、执行器(Executor)配置

执行器是任务的实际执行节点,需要先在控制台注册。

1. 点击左侧菜单 “执行器管理” 

2. 添加执行器

  • 点击 新增 按钮,填写以下信息:
字段说明
AppName执行器名称(需唯一,与执行器配置文件中 xxl.job.executor.appname 一致)
名称执行器显示名称(可自定义)
注册方式选择 自动注册(执行器启动后自动注册)
调度中心地址调度中心地址(默认 http://127.0.0.1:8080/xxl-job-admin

注意保执行器配置文件中的 xxl.job.executor.appname 与控制台配置的 AppName 一致。 

三、任务配置

任务是调度中心的核心管理单元,用于定义调度逻辑、执行策略等。

1. 进入 任务管理 页面

  • 点击左侧菜单 “任务管理” 。

2. 添加任务

  • 点击 新增 按钮,填写以下信息:

四、调度配置详解

1. 调度时间(Cron 表达式)

  • 使用标准的 Cron 表达式定义任务调度频率。
  • 示例:
    • 0 0/1 * * * ?:每分钟执行一次
    • 0 0 0 * * ?:每天凌晨执行
    • 0 0 12 * * MON-FRI:每周一至周五中午12点执行
  • 推荐工具:Cron 表达式生成器

五、任务日志查看

1. 查看任务执行日志

  • 在 任务管理 页面点击 日志 按钮,查看任务执行详情。

2. 日志文件位置

默认日志路径为 logs/xxl-job,可在执行器配置中修改:

xxl:job:executor:logpath: logs/xxl-job            # 日志路径

六、安全与高级配置(可选)

1. Token 验证

  • 在调度中心和执行器中配置相同的 token,增强安全性。

调度中心配置:

xxl.job.accessToken=your_token

执行器配置: 

xxl:
  job:
    accessToken: your_token

http://www.dtcms.com/wzjs/334463.html

相关文章:

  • 扁平化网站模板下载活动软文怎么写
  • 中国建设银行网官方网站上海百度整站优化服务
  • 个人网站做百度推广百度收录在线提交
  • 青岛企业建站系统模板免费检测网站seo
  • 苏州网站建设外包怎么做推广比较成功
  • 有哪些做调查问卷赚钱的网站爱站工具包怎么使用
  • 网站建设与管理t7372可以免费投放广告的平台
  • 做零售外贸网站有哪些qq代刷网站推广
  • 做网站用什么程序比较好百度关键词工具在哪里
  • 网站内容检测金华seo
  • 龙岗网站制作效果2022小说排行榜百度风云榜
  • 电子商务师证报考官网班级优化大师手机版下载
  • 网站上官网标识怎么做北京网站建设
  • 禅城容桂网站制作电商平台推广方式有哪些
  • ps做网站大小尺寸福州百度推广开户
  • 怎样做废旧网站外链群发
  • 去越南做网站seo怎么做推广
  • 公司展示网站制作济南百度推广公司电话
  • 门户网站建设询价公告制作网站模板
  • dw做网站的导航栏网站为什么要做seo
  • 网站动效是代码做的吗seo是指什么岗位
  • 贵阳做网站找哪家好抖音seo怎么做
  • b2b电子商务购物网站网络广告电话
  • 对于网站建设的提问云南百度推广开户
  • 开封做网站公司汉狮网站收录网
  • 上海做网站公司有哪些app推广是做什么的
  • 网站开发进度控制计划表百度网址提交
  • 做采购应该关注的网站网站推广搜索
  • 做mla网站网站建站在线制作
  • 上海十大网站建设世界球队最新排名榜