重构SmbFileService以支持多服务器配置,引入连接池和会话池管理机制。主要变更包括: 1. 实现基于主机的多服务器认证配置 2. 新增连接池和会话池管理,提高连接复用率 3. 添加定时清理空闲连接和会话的功能 4. 优化异常处理和重试机制 5. 改进日志记录和资源释放 同时更新相关配置文件和应用属性以支持新功能: 1. 修改application.properties支持多服务器SMB配置 2. 增强SmbConfig类以管理多服务器配置 3. 添加任务映射到tasker_mapper.json 4. 新增客户端和服务端任务规则文档
59 lines
1.5 KiB
Java
59 lines
1.5 KiB
Java
package com.ecep.contract.task;
|
|
|
|
import com.ecep.contract.MessageHolder;
|
|
import com.ecep.contract.SpringApp;
|
|
import com.ecep.contract.WebSocketClientTasker;
|
|
import com.ecep.contract.service.ContractService;
|
|
import com.ecep.contract.vo.ContractVo;
|
|
|
|
import lombok.Getter;
|
|
import lombok.Setter;
|
|
|
|
/**
|
|
* 合同修复任务
|
|
*/
|
|
public class ContractRepairTask extends Tasker<Object> implements WebSocketClientTasker {
|
|
@Getter
|
|
@Setter
|
|
private ContractVo contract;
|
|
|
|
@Getter
|
|
@Setter
|
|
private boolean repaired = false;
|
|
@Getter
|
|
@Setter
|
|
protected boolean filesUpdated = false;
|
|
@Getter
|
|
@Setter
|
|
protected boolean itemsUpdated = false;
|
|
@Getter
|
|
@Setter
|
|
protected boolean playPlanUpdated = false;
|
|
@Getter
|
|
@Setter
|
|
protected boolean saleOrderUpdated = false;
|
|
|
|
public ContractRepairTask() {
|
|
}
|
|
|
|
@Override
|
|
public String getTaskName() {
|
|
return "ContractRepairTask";
|
|
}
|
|
|
|
@Override
|
|
public void updateProgress(long current, long total) {
|
|
double d = (double) current / total;
|
|
super.updateProgress(d, 1);
|
|
System.out.println("current = " + d + ", total = " + total);
|
|
}
|
|
|
|
@Override
|
|
protected Object execute(MessageHolder holder) throws Exception {
|
|
ContractService contractService = SpringApp.getBean(ContractService.class);
|
|
updateTitle("修复合同 " + contractService.getStringConverter().toString(contract));
|
|
return callRemoteTask(holder, getLocale(), contract.getId());
|
|
}
|
|
|
|
}
|