处理问题

This commit is contained in:
wanggeng 2022-09-30 09:35:47 +08:00
parent 1ed690ca61
commit 22a4ab1170
3 changed files with 38 additions and 9 deletions

View File

@ -0,0 +1,19 @@
package ink.wgink.interfaces.start;
/**
* @ClassName: IApplicationStart
* @Description: 应用启动
* @Author: wanggeng
* @Date: 2022/9/29 17:20
* @Version: 1.0
*/
public interface IApplicationStart {
/**
* 执行
*
* @throws Exception
*/
void run() throws Exception;
}

View File

@ -8,6 +8,7 @@ import ink.wgink.interfaces.init.IInitBaseMenu;
import ink.wgink.interfaces.init.IInitBaseTable;
import ink.wgink.interfaces.init.IInitBaseUser;
import ink.wgink.interfaces.init.IInitMongoData;
import ink.wgink.interfaces.start.IApplicationStart;
import ink.wgink.properties.BaseProperties;
import ink.wgink.properties.ServerProperties;
import org.slf4j.Logger;
@ -56,6 +57,16 @@ public class CommonStartup implements ApplicationRunner {
serverInit();
initManager();
initMongoData();
serverStart();
}
private void serverStart() throws Exception {
Map<String, IApplicationStart> applicationStartMap = applicationContext.getBeansOfType(IApplicationStart.class);
for (Map.Entry<String, IApplicationStart> entry : applicationStartMap.entrySet()) {
String key = entry.getKey();
IApplicationStart value = entry.getValue();
value.run();
}
}
/**

View File

@ -1,12 +1,11 @@
package ink.wgink.module.file.startup;
import ink.wgink.interfaces.manager.IFilesShowCodeService;
import ink.wgink.interfaces.start.IApplicationStart;
import ink.wgink.module.file.dao.fileclient.IFileClientDao;
import ink.wgink.module.file.manager.FileRemoteManager;
import ink.wgink.module.file.manager.FilesManager;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.ApplicationArguments;
import org.springframework.boot.ApplicationRunner;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;
@ -18,21 +17,21 @@ import org.springframework.stereotype.Component;
* @Version: 1.0
*/
@Component
public class FilesStartUp implements ApplicationRunner {
public class FilesStartUp implements IApplicationStart {
@Autowired
private IFilesShowCodeService filesShowCodeService;
@Autowired
private IFileClientDao fileRemoteDao;
@Override
public void run(ApplicationArguments args) throws Exception {
FilesManager.getInstance().setFilesShowCodeService(filesShowCodeService);
FileRemoteManager.getInstance().setFileRemoteDao(fileRemoteDao);
}
@Scheduled(cron = "0 0/1 * * * ?")
public void clearTimeoutShowCode() {
FilesManager.getInstance().clearTimeoutShowCode();
}
@Override
public void run() throws Exception {
FilesManager.getInstance().setFilesShowCodeService(filesShowCodeService);
FileRemoteManager.getInstance().setFileRemoteDao(fileRemoteDao);
}
}