diff --git a/doc/XXL-JOB官方文档.md b/doc/XXL-JOB官方文档.md index 317e5756..79347433 100644 --- a/doc/XXL-JOB官方文档.md +++ b/doc/XXL-JOB官方文档.md @@ -1191,7 +1191,7 @@ public void demoJobHandler() throws Exception { - d、commandJobHandler:通用命令行任务Handler;业务方只需要提供命令行即可,命令及参数之间通过空格隔开;如任务参数 "ls la" 或 "pwd" 将会执行命令并输出数据; #### 原生内置Bean模式任务(AI执行器) -为方便用户参考与快速使用,提供 “AI执行器” 并内置多个Bean模式任务Handler,与spring-ai集成打通,支持快速开发AI类任务,如下: +为方便用户参考与快速使用,提供 “AI执行器” 并内置多个Bean模式 AI任务Handler,与spring-ai、ollama、dify等集成打通,支持快速开发AI类任务,如下: **AI执行器说明:** - AppName:xxl-job-executor-sample-ai @@ -2507,32 +2507,36 @@ public void execute() { - a、本次升级数据模型及通讯协议向前兼容,v2.4.*及后续版本可无缝升级; - b、版本3.x开始要求Jdk17;版本2.x及以下支持Jdk1.8。如对Jdk版本有诉求,可选择接入不同版本; -### 7.38 版本 v3.0.1 Release Notes[规划中] -- 1、【新增】新增“AI执行器”示例,并与spring-ai、Ollama、Dify等集成打通;内置一系列AIXxlJob,支持快速开发AI类任务(xxl-job-executor-sample-springboot-ai)。 -``` -// 说明:ollamaJobHandler 内置在“AI执行器(AppName = xxl-job-executor-sample-ai)”中,需要先新建执行器;可参考如下SQL或自行创建: -INSERT INTO `xxl_job_group`(`app_name`, `title`, `address_type`, `address_list`, `update_time`) - VALUES ('xxl-job-executor-sample-ai', 'AI执行器Sample', 0, NULL, now()); -``` -- 2、【新增】新增通用 OllamaChat 任务(ollamaJobHandler),支持自定义prompt、input等输入信息,示例参数如下; -``` -{ - "input": "{输入信息,必填信息}", - "prompt": "{模型prompt,可选信息}" -} -``` -- 3、【新增】新增通用 DifyWorkflow 任务(difyWorkflowJobHandler),支持自定义inputs、user等输入信息,示例参数如下; -``` -{ - "inputs":{ // inputs 为dify工作流任务参数;参数不固定,结合各自 workflow 自行定义。 - "input":"{用户输入信息}" // 该参数为示例变量,需要 workflow 的“开始”节点 自定义参数 “input”,可自行调整或删除。 - }, - "user": "{用户标识,选填}" -} -``` -- 4、【修复】任务操作逻辑优化,修复边界情况下逻辑中断问题(ISSUE-2081)。 -- 5、【修复】调度中心Cron前端组件优化,解决week配置与后端兼容性问题(ISSUE-2220)。 -- 6、【修复】合并PR-3708、PR-3704:修复固定速度模式计算,下次执行时间计算不准问题(间隔秒数超过Int时触发)。 +### 7.38 版本 v3.1.0 Release Notes[规划中] +- 1、【新增】新增提供 “AI执行器” 并内置多个Bean模式 AI任务Handler,与spring-ai、ollama、dify等集成打通,支持快速开发AI类任务。 + - AppName:xxl-job-executor-sample-ai + - 执行器代码:xxl-job-executor-sample-springboot-ai + ``` + // 备注:ollamaJobHandler 内置在“AI执行器(AppName = xxl-job-executor-sample-ai)”中,需要先新建执行器;可参考如下SQL或自行创建: + INSERT INTO `xxl_job_group`(`app_name`, `title`, `address_type`, `address_list`, `update_time`) + VALUES ('xxl-job-executor-sample-ai', 'AI执行器Sample', 0, NULL, now()); + ``` +- 2、【新增】新增多个 Bean模式 AI任务Handler,如 ollamaJobHandler、difyWorkflowJobHandler 等,支持快速集成开发AI任务。 + - a、ollamaJobHandler: OllamaChat任务,支持自定义prompt、input等输入信息。示例任务入参如下: + ``` + { + "input": "{输入信息,必填信息}", + "prompt": "{模型prompt,可选信息}" + } + ``` + - b、difyWorkflowJobHandler:DifyWorkflow 任务,支持自定义inputs、user等输入信息,示例参数如下; + ``` + { + "inputs":{ // inputs 为dify工作流任务参数;参数不固定,结合各自 workflow 自行定义。 + "input":"{用户输入信息}" // 该参数为示例变量,需要 workflow 的“开始”节点 自定义参数 “input”,可自行调整或删除。 + }, + "user": "{用户标识,选填}" + } + ``` +- 3、【修复】合并PR-3708、PR-3704,解决固定速度调度模式下,下次计算执行时间小概率(间隔超长时)不准问题。 +- 4、【修复】任务操作逻辑优化,修复边界情况下逻辑中断问题 (ISSUE-2081)。 +- 5、【修复】调度中心Cron前端组件优化,解决week配置与后端兼容性问题 (ISSUE-2220)。 +- 6、【修复】任务RollingLog权限逻辑调整:修复非管理员账号越权访问问题 (ISSUE-3705)。 - 7、【优化】Glue IDE调整,版本回溯支持查看修改时间; - 8、【优化】任务RollingLog调整,XSS过滤支持白名单排出,提升日志易读性; - 9、【升级】多个项目依赖升级至较新稳定版本,涉及 gson、groovy、spring/springboot、mysql 等; diff --git a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java index 2598e6cd..87c886c9 100644 --- a/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java +++ b/xxl-job-admin/src/main/java/com/xxl/job/admin/controller/JobLogController.java @@ -124,15 +124,18 @@ public class JobLogController { } @RequestMapping("/logDetailPage") - public String logDetailPage(@RequestParam("id") int id, Model model){ + public String logDetailPage(HttpServletRequest request, @RequestParam("id") int id, Model model){ // base check - //ReturnT logStatue = ReturnT.SUCCESS; XxlJobLog jobLog = xxlJobLogDao.load(id); if (jobLog == null) { throw new RuntimeException(I18nUtil.getString("joblog_logid_unvalid")); } + // valid permission + PermissionInterceptor.validJobGroupPermission(request, jobLog.getJobGroup()); + + // data model.addAttribute("triggerCode", jobLog.getTriggerCode()); model.addAttribute("handleCode", jobLog.getHandleCode()); model.addAttribute("logId", jobLog.getId()); diff --git a/xxl-job-core/src/main/java/com/xxl/job/core/util/NetUtil.java b/xxl-job-core/src/main/java/com/xxl/job/core/util/NetUtil.java index 41d285f1..f7b96505 100644 --- a/xxl-job-core/src/main/java/com/xxl/job/core/util/NetUtil.java +++ b/xxl-job-core/src/main/java/com/xxl/job/core/util/NetUtil.java @@ -29,7 +29,7 @@ public class NetUtil { portTmp++; } } - portTmp = defaultPort--; + portTmp = defaultPort - 1; while (portTmp > 0) { if (!isPortUsed(portTmp)) { return portTmp;