ResourceFactory迁移到inject包

This commit is contained in:
redkale
2023-12-18 23:42:18 +08:00
parent 7e45b458e9
commit fc228964fd
52 changed files with 140 additions and 75 deletions

View File

@@ -25,6 +25,7 @@ module org.redkale {
exports org.redkale.convert.ext; exports org.redkale.convert.ext;
exports org.redkale.convert.json; exports org.redkale.convert.json;
exports org.redkale.convert.protobuf; exports org.redkale.convert.protobuf;
exports org.redkale.inject;
exports org.redkale.lock; exports org.redkale.lock;
exports org.redkale.mq; exports org.redkale.mq;
exports org.redkale.net; exports org.redkale.net;
@@ -42,10 +43,10 @@ module org.redkale {
uses org.redkale.boot.PropertiesAgentProvider; uses org.redkale.boot.PropertiesAgentProvider;
uses org.redkale.cluster.ClusterAgentProvider; uses org.redkale.cluster.ClusterAgentProvider;
uses org.redkale.convert.ConvertProvider; uses org.redkale.convert.ConvertProvider;
uses org.redkale.inject.ResourceAnnotationProvider;
uses org.redkale.mq.MessageAgentProvider; uses org.redkale.mq.MessageAgentProvider;
uses org.redkale.source.CacheSourceProvider; uses org.redkale.source.CacheSourceProvider;
uses org.redkale.source.DataSourceProvider; uses org.redkale.source.DataSourceProvider;
uses org.redkale.source.DataNativeSqlParserProvider; uses org.redkale.source.DataNativeSqlParserProvider;
uses org.redkale.util.ResourceAnnotationProvider;
} }

View File

@@ -28,6 +28,9 @@ import org.redkale.convert.Convert;
import org.redkale.convert.bson.BsonFactory; import org.redkale.convert.bson.BsonFactory;
import org.redkale.convert.json.*; import org.redkale.convert.json.*;
import org.redkale.convert.protobuf.ProtobufFactory; import org.redkale.convert.protobuf.ProtobufFactory;
import org.redkale.inject.ResourceEvent;
import org.redkale.inject.ResourceFactory;
import org.redkale.inject.ResourceTypeLoader;
import org.redkale.mq.*; import org.redkale.mq.*;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.net.http.*; import org.redkale.net.http.*;

View File

@@ -17,9 +17,9 @@ import java.util.Set;
import java.util.logging.Handler; import java.util.logging.Handler;
import java.util.logging.LogManager; import java.util.logging.LogManager;
import java.util.logging.SimpleFormatter; import java.util.logging.SimpleFormatter;
import org.redkale.inject.ResourceEvent;
import org.redkale.net.sncp.SncpClient; import org.redkale.net.sncp.SncpClient;
import org.redkale.util.Environment; import org.redkale.util.Environment;
import org.redkale.util.ResourceEvent;
/** /**
* *

View File

@@ -6,11 +6,11 @@ package org.redkale.boot;
import java.util.List; import java.util.List;
import java.util.Properties; import java.util.Properties;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.redkale.inject.ResourceEvent;
import org.redkale.inject.ResourceFactory;
import org.redkale.service.Service; import org.redkale.service.Service;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
import org.redkale.util.Environment; import org.redkale.util.Environment;
import org.redkale.util.ResourceEvent;
import org.redkale.util.ResourceFactory;
/** /**
* *

View File

@@ -17,6 +17,8 @@ import org.redkale.annotation.*;
import static org.redkale.boot.Application.RESNAME_SNCP_ADDRESS; import static org.redkale.boot.Application.RESNAME_SNCP_ADDRESS;
import org.redkale.boot.ClassFilter.FilterEntry; import org.redkale.boot.ClassFilter.FilterEntry;
import org.redkale.cluster.ClusterAgent; import org.redkale.cluster.ClusterAgent;
import org.redkale.inject.ResourceFactory;
import org.redkale.inject.ResourceTypeLoader;
import org.redkale.mq.MessageAgent; import org.redkale.mq.MessageAgent;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.net.http.*; import org.redkale.net.http.*;

View File

@@ -21,6 +21,8 @@ import org.redkale.annotation.Command;
import static org.redkale.boot.Application.*; import static org.redkale.boot.Application.*;
import org.redkale.boot.ClassFilter.FilterEntry; import org.redkale.boot.ClassFilter.FilterEntry;
import org.redkale.cluster.ClusterAgent; import org.redkale.cluster.ClusterAgent;
import org.redkale.inject.ResourceFactory;
import org.redkale.inject.ResourceTypeLoader;
import org.redkale.mq.*; import org.redkale.mq.*;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.net.Filter; import org.redkale.net.Filter;

View File

@@ -4,6 +4,7 @@ package org.redkale.boot;
import java.util.*; import java.util.*;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.redkale.inject.ResourceEvent;
import org.redkale.util.*; import org.redkale.util.*;
/** /**

View File

@@ -16,11 +16,11 @@ import java.util.concurrent.atomic.AtomicInteger;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
import java.util.logging.Level; import java.util.logging.Level;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.redkale.inject.ResourceEvent;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
import org.redkale.util.Environment; import org.redkale.util.Environment;
import org.redkale.util.InstanceProvider; import org.redkale.util.InstanceProvider;
import org.redkale.util.RedkaleClassLoader; import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.ResourceEvent;
import org.redkale.util.Utility; import org.redkale.util.Utility;
/** /**

View File

@@ -11,9 +11,9 @@ import org.redkale.annotation.Comment;
import org.redkale.annotation.*; import org.redkale.annotation.*;
import org.redkale.boot.*; import org.redkale.boot.*;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.http.*; import org.redkale.net.http.*;
import org.redkale.service.RetResult; import org.redkale.service.RetResult;
import org.redkale.util.ResourceFactory;
/** /**
* <p> * <p>

View File

@@ -5,6 +5,7 @@ package org.redkale.cache.support;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.boot.ModuleEngine; import org.redkale.boot.ModuleEngine;
import org.redkale.cache.CacheManager;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
/** /**
@@ -44,12 +45,12 @@ public class CacheModuleEngine extends ModuleEngine {
public void onAppPostInit() { public void onAppPostInit() {
//设置缓存管理器 //设置缓存管理器
this.cacheManager = CacheManagerService.create(null).enabled(false); this.cacheManager = CacheManagerService.create(null).enabled(false);
final AnyValue cacheConf = application.getAppConfig().getAnyValue("cache");; final AnyValue cacheConf = application.getAppConfig().getAnyValue("cache");
if (cacheConf != null && !application.isCompileMode()) {
this.resourceFactory.inject(this.cacheManager); this.resourceFactory.inject(this.cacheManager);
if (!application.isCompileMode() && cacheConf != null) {
this.cacheManager.init(cacheConf); this.cacheManager.init(cacheConf);
} }
this.resourceFactory.register("", this.cacheManager); this.resourceFactory.register("", CacheManager.class, this.cacheManager);
} }
/** /**

View File

@@ -14,6 +14,8 @@ import org.redkale.annotation.*;
import org.redkale.annotation.ResourceListener; import org.redkale.annotation.ResourceListener;
import org.redkale.boot.*; import org.redkale.boot.*;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.Resourcable;
import org.redkale.inject.ResourceEvent;
import org.redkale.service.Service; import org.redkale.service.Service;
import org.redkale.source.CacheSource; import org.redkale.source.CacheSource;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -18,6 +18,7 @@ import org.redkale.boot.*;
import static org.redkale.boot.Application.*; import static org.redkale.boot.Application.*;
import org.redkale.convert.ConvertDisabled; import org.redkale.convert.ConvertDisabled;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.ResourceEvent;
import org.redkale.net.Server; import org.redkale.net.Server;
import org.redkale.net.http.*; import org.redkale.net.http.*;
import org.redkale.net.sncp.*; import org.redkale.net.sncp.*;

View File

@@ -14,10 +14,10 @@ import java.util.Set;
import java.util.logging.Level; import java.util.logging.Level;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.boot.ModuleEngine; import org.redkale.boot.ModuleEngine;
import org.redkale.inject.ResourceEvent;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
import org.redkale.util.AnyValueWriter; import org.redkale.util.AnyValueWriter;
import org.redkale.util.RedkaleClassLoader; import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.ResourceEvent;
/** /**
* *

View File

@@ -3,7 +3,7 @@
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package org.redkale.util; package org.redkale.inject;
/** /**
* 对象的类没有标记为&#64;Resource, 可以通过实现Resourcable接口实现动态获取Resource.name * 对象的类没有标记为&#64;Resource, 可以通过实现Resourcable接口实现动态获取Resource.name

View File

@@ -3,7 +3,7 @@
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package org.redkale.util; package org.redkale.inject;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
import java.lang.reflect.Field; import java.lang.reflect.Field;

View File

@@ -1,11 +1,12 @@
/* /*
*/ */
package org.redkale.util; package org.redkale.inject;
import java.util.*; import java.util.*;
import java.util.function.Predicate; import java.util.function.Predicate;
import java.util.regex.Pattern; import java.util.regex.Pattern;
import org.redkale.annotation.ConstructorParameters; import org.redkale.annotation.ConstructorParameters;
import org.redkale.util.Utility;
/** /**
* 详情见: https://redkale.org * 详情见: https://redkale.org

View File

@@ -3,7 +3,7 @@
* To change this template file, choose Tools | Templates * To change this template file, choose Tools | Templates
* and open the template in the editor. * and open the template in the editor.
*/ */
package org.redkale.util; package org.redkale.inject;
import java.lang.annotation.Annotation; import java.lang.annotation.Annotation;
import java.lang.ref.WeakReference; import java.lang.ref.WeakReference;
@@ -16,9 +16,11 @@ import java.util.concurrent.locks.ReentrantLock;
import java.util.function.*; import java.util.function.*;
import java.util.logging.*; import java.util.logging.*;
import org.redkale.annotation.*; import org.redkale.annotation.*;
import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType;
import org.redkale.convert.*; import org.redkale.convert.*;
import org.redkale.util.Creator;
import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.RedkaleException;
import org.redkale.util.TypeToken;
/** /**
* *
@@ -1222,7 +1224,8 @@ public final class ResourceFactory {
RedkaleClassLoader.putReflectionMethod(loop.getName(), method); RedkaleClassLoader.putReflectionMethod(loop.getName(), method);
break; break;
} else { } else {
logger.log(Level.SEVERE, "@" + ResourceListener.class.getSimpleName() + " must on method with " + ResourceEvent.class.getSimpleName() + "[] parameter type"); logger.log(Level.SEVERE, "@" + ResourceListener.class.getSimpleName()
+ " must on method with " + ResourceEvent.class.getSimpleName() + "[] parameter type");
} }
} }
} while ((loop = loop.getSuperclass()) != Object.class); } while ((loop = loop.getSuperclass()) != Object.class);

View File

@@ -1,6 +1,6 @@
/* /*
*/ */
package org.redkale.util; package org.redkale.inject;
import java.lang.reflect.Field; import java.lang.reflect.Field;

View File

@@ -25,6 +25,8 @@ import org.redkale.convert.Convert;
import org.redkale.convert.ConvertFactory; import org.redkale.convert.ConvertFactory;
import org.redkale.convert.ConvertType; import org.redkale.convert.ConvertType;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.Resourcable;
import org.redkale.inject.ResourceEvent;
import org.redkale.net.WorkThread; import org.redkale.net.WorkThread;
import org.redkale.net.http.*; import org.redkale.net.http.*;
import org.redkale.net.sncp.*; import org.redkale.net.sncp.*;

View File

@@ -19,15 +19,15 @@ import org.redkale.boot.ClassFilter;
import org.redkale.boot.ModuleEngine; import org.redkale.boot.ModuleEngine;
import org.redkale.boot.NodeServer; import org.redkale.boot.NodeServer;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.ResourceAnnotationProvider;
import org.redkale.inject.ResourceEvent;
import org.redkale.inject.ResourceFactory;
import org.redkale.inject.ResourceTypeLoader;
import org.redkale.net.http.RestException; import org.redkale.net.http.RestException;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
import org.redkale.util.AnyValueWriter; import org.redkale.util.AnyValueWriter;
import org.redkale.util.RedkaleClassLoader; import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.RedkaleException; import org.redkale.util.RedkaleException;
import org.redkale.util.ResourceAnnotationProvider;
import org.redkale.util.ResourceEvent;
import org.redkale.util.ResourceFactory;
import org.redkale.util.ResourceTypeLoader;
import org.redkale.util.Utility; import org.redkale.util.Utility;
/** /**

View File

@@ -12,6 +12,7 @@ import java.util.logging.*;
import javax.net.ssl.SSLContext; import javax.net.ssl.SSLContext;
import org.redkale.convert.bson.*; import org.redkale.convert.bson.*;
import org.redkale.convert.json.*; import org.redkale.convert.json.*;
import org.redkale.inject.ResourceFactory;
import org.redkale.util.*; import org.redkale.util.*;
/** /**

View File

@@ -14,6 +14,7 @@ import java.util.concurrent.atomic.LongAdder;
import java.util.logging.*; import java.util.logging.*;
import javax.net.ssl.SSLContext; import javax.net.ssl.SSLContext;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.inject.ResourceFactory;
import static org.redkale.net.AsyncGroup.UDP_BUFFER_CAPACITY; import static org.redkale.net.AsyncGroup.UDP_BUFFER_CAPACITY;
import org.redkale.net.Filter; import org.redkale.net.Filter;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -13,6 +13,7 @@ import java.util.function.*;
import java.util.logging.Logger; import java.util.logging.Logger;
import org.redkale.annotation.Nonnull; import org.redkale.annotation.Nonnull;
import org.redkale.annotation.Nullable; import org.redkale.annotation.Nullable;
import org.redkale.inject.Resourcable;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -17,6 +17,7 @@ import java.util.concurrent.locks.ReentrantLock;
import java.util.function.Supplier; import java.util.function.Supplier;
import java.util.logging.Level; import java.util.logging.Level;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.inject.ResourceFactory;
import org.redkale.mq.*; import org.redkale.mq.*;
import org.redkale.net.Server; import org.redkale.net.Server;
import org.redkale.net.http.HttpContext.HttpContextConfig; import org.redkale.net.http.HttpContext.HttpContextConfig;

View File

@@ -22,6 +22,7 @@ import static org.redkale.asm.Opcodes.*;
import org.redkale.asm.Type; import org.redkale.asm.Type;
import org.redkale.convert.*; import org.redkale.convert.*;
import org.redkale.convert.json.*; import org.redkale.convert.json.*;
import org.redkale.inject.ResourceFactory;
import org.redkale.mq.*; import org.redkale.mq.*;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.net.sncp.Sncp; import org.redkale.net.sncp.Sncp;

View File

@@ -21,6 +21,8 @@ import org.redkale.annotation.Comment;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import static org.redkale.boot.Application.RESNAME_SERVER_RESFACTORY; import static org.redkale.boot.Application.RESNAME_SERVER_RESFACTORY;
import org.redkale.convert.Convert; import org.redkale.convert.Convert;
import org.redkale.inject.Resourcable;
import org.redkale.inject.ResourceFactory;
import org.redkale.mq.MessageAgent; import org.redkale.mq.MessageAgent;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -19,6 +19,8 @@ import static org.redkale.asm.Opcodes.*;
import org.redkale.asm.Type; import org.redkale.asm.Type;
import org.redkale.convert.Convert; import org.redkale.convert.Convert;
import org.redkale.convert.bson.BsonConvert; import org.redkale.convert.bson.BsonConvert;
import org.redkale.inject.Resourcable;
import org.redkale.inject.ResourceFactory;
import org.redkale.mq.MessageAgent; import org.redkale.mq.MessageAgent;
import org.redkale.net.http.WebSocketNode; import org.redkale.net.http.WebSocketNode;
import org.redkale.net.sncp.SncpRemoteInfo.SncpRemoteAction; import org.redkale.net.sncp.SncpRemoteInfo.SncpRemoteAction;
@@ -26,8 +28,6 @@ import org.redkale.schedule.Scheduled;
import org.redkale.service.*; import org.redkale.service.*;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
import org.redkale.util.RedkaleClassLoader; import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.Resourcable;
import org.redkale.util.ResourceFactory;
import org.redkale.util.TypeToken; import org.redkale.util.TypeToken;
import org.redkale.util.Uint128; import org.redkale.util.Uint128;
import org.redkale.util.Utility; import org.redkale.util.Utility;

View File

@@ -8,6 +8,7 @@ package org.redkale.net.sncp;
import java.util.List; import java.util.List;
import java.util.concurrent.atomic.LongAdder; import java.util.concurrent.atomic.LongAdder;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.Server; import org.redkale.net.Server;
import org.redkale.net.sncp.SncpContext.SncpContextConfig; import org.redkale.net.sncp.SncpContext.SncpContextConfig;
import org.redkale.service.Service; import org.redkale.service.Service;

View File

@@ -16,11 +16,14 @@ package org.redkale.schedule;
public interface ScheduleManager { public interface ScheduleManager {
/** /**
* 开启宿主对象中所有的定时任务方法 * 开启宿主对象中所有的定时任务方法.
* 存在定时任务方法返回true否则返回false
* *
* @param service 宿主对象 * @param service 宿主对象
*
* @return 存在定时任务方法返回true否则返回false
*/ */
public void schedule(Object service); public boolean schedule(Object service);
/** /**
* 关闭宿主对象中所有的定时任务方法 * 关闭宿主对象中所有的定时任务方法

View File

@@ -21,6 +21,7 @@ import java.util.concurrent.ConcurrentHashMap;
import java.util.concurrent.ScheduledFuture; import java.util.concurrent.ScheduledFuture;
import java.util.concurrent.ScheduledThreadPoolExecutor; import java.util.concurrent.ScheduledThreadPoolExecutor;
import java.util.concurrent.TimeUnit; import java.util.concurrent.TimeUnit;
import java.util.concurrent.atomic.AtomicBoolean;
import java.util.concurrent.locks.ReentrantLock; import java.util.concurrent.locks.ReentrantLock;
import java.util.function.UnaryOperator; import java.util.function.UnaryOperator;
import java.util.logging.Level; import java.util.logging.Level;
@@ -59,6 +60,8 @@ public class ScheduleManagerService implements ScheduleManager, Service {
private final ConcurrentHashMap<WeakReference, List<ScheduledTask>> refTaskMap = new ConcurrentHashMap<>(); private final ConcurrentHashMap<WeakReference, List<ScheduledTask>> refTaskMap = new ConcurrentHashMap<>();
private final AtomicBoolean inited = new AtomicBoolean();
private final ReentrantLock lock = new ReentrantLock(); private final ReentrantLock lock = new ReentrantLock();
@Resource(required = false) @Resource(required = false)
@@ -97,11 +100,16 @@ public class ScheduleManagerService implements ScheduleManager, Service {
@Override @Override
public void init(AnyValue conf) { public void init(AnyValue conf) {
this.config = conf;
if (conf == null) { if (conf == null) {
conf = AnyValue.create(); conf = AnyValue.create();
} }
this.enabled = conf.getBoolValue("enabled", true); this.config = conf;
init();
}
private void init() {
if (inited.compareAndSet(false, true)) {
this.enabled = config.getBoolValue("enabled", true);
if (this.enabled) { if (this.enabled) {
if (this.propertyFunc == null && application != null) { if (this.propertyFunc == null && application != null) {
UnaryOperator<String> func = application.getEnvironment()::getPropertyValue; UnaryOperator<String> func = application.getEnvironment()::getPropertyValue;
@@ -111,45 +119,28 @@ public class ScheduleManagerService implements ScheduleManager, Service {
this.scheduler.setRemoveOnCancelPolicy(true); this.scheduler.setRemoveOnCancelPolicy(true);
} }
} }
}
@Override @Override
public void destroy(AnyValue conf) { public void destroy(AnyValue conf) {
if (scheduler != null) { if (scheduler != null) {
scheduler.shutdown(); scheduler.shutdown();
} }
inited.set(false);
}
public boolean isInited() {
return inited.get();
} }
@Override @Override
public void unschedule(Object service) { public boolean schedule(Object service) {
lock.lock();
try {
Map.Entry<WeakReference, List<ScheduledTask>> entry = null;
for (Map.Entry<WeakReference, List<ScheduledTask>> item : refTaskMap.entrySet()) {
if (item.getKey().get() == service) {
entry = item;
break;
}
}
if (entry == null) {
return;
}
refTaskMap.remove(entry.getKey());
for (ScheduledTask task : entry.getValue()) {
task.cancel();
}
} finally {
lock.unlock();
}
}
@Override
public void schedule(Object service) {
lock.lock(); lock.lock();
try { try {
for (WeakReference item : refTaskMap.keySet()) { for (WeakReference item : refTaskMap.keySet()) {
if (item.get() == service) { if (item.get() == service) {
logger.log(Level.WARNING, service + " repeat schedule"); logger.log(Level.WARNING, service + " repeat schedule");
return; return false;
} }
} }
Map<String, ScheduledTask> tasks = new LinkedHashMap<>(); Map<String, ScheduledTask> tasks = new LinkedHashMap<>();
@@ -179,6 +170,30 @@ public class ScheduleManagerService implements ScheduleManager, Service {
tasks.forEach((name, task) -> task.start()); tasks.forEach((name, task) -> task.start());
refTaskMap.put(ref, new ArrayList<>(tasks.values())); refTaskMap.put(ref, new ArrayList<>(tasks.values()));
} }
return !tasks.isEmpty();
} finally {
lock.unlock();
}
}
@Override
public void unschedule(Object service) {
lock.lock();
try {
Map.Entry<WeakReference, List<ScheduledTask>> entry = null;
for (Map.Entry<WeakReference, List<ScheduledTask>> item : refTaskMap.entrySet()) {
if (item.getKey().get() == service) {
entry = item;
break;
}
}
if (entry == null) {
return;
}
refTaskMap.remove(entry.getKey());
for (ScheduledTask task : entry.getValue()) {
task.cancel();
}
} finally { } finally {
lock.unlock(); lock.unlock();
} }

View File

@@ -5,6 +5,7 @@ package org.redkale.schedule.support;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.boot.ModuleEngine; import org.redkale.boot.ModuleEngine;
import org.redkale.schedule.ScheduleManager;
import org.redkale.service.Service; import org.redkale.service.Service;
import org.redkale.util.AnyValue; import org.redkale.util.AnyValue;
@@ -45,12 +46,12 @@ public class ScheduleModuleEngine extends ModuleEngine {
public void onAppPostInit() { public void onAppPostInit() {
//设置定时管理器 //设置定时管理器
this.scheduleManager = ScheduleManagerService.create(null).enabled(false); this.scheduleManager = ScheduleManagerService.create(null).enabled(false);
final AnyValue scheduleConf = application.getAppConfig().getAnyValue("schedule", true); final AnyValue scheduleConf = application.getAppConfig().getAnyValue("schedule");
if (scheduleConf != null && !application.isCompileMode()) {
this.resourceFactory.inject(this.scheduleManager); this.resourceFactory.inject(this.scheduleManager);
if (!application.isCompileMode()) {
this.scheduleManager.init(scheduleConf); this.scheduleManager.init(scheduleConf);
} }
this.resourceFactory.register("", this.scheduleManager); this.resourceFactory.register("", ScheduleManager.class, this.scheduleManager);
} }
/** /**

View File

@@ -6,6 +6,9 @@ import java.util.*;
import org.redkale.annotation.AutoLoad; import org.redkale.annotation.AutoLoad;
import org.redkale.annotation.ResourceListener; import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import org.redkale.inject.Resourcable;
import org.redkale.inject.ResourceEvent;
import org.redkale.inject.ResourceFactory;
import org.redkale.service.*; import org.redkale.service.*;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -19,6 +19,8 @@ import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import static org.redkale.boot.Application.RESNAME_APP_EXECUTOR; import static org.redkale.boot.Application.RESNAME_APP_EXECUTOR;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.Resourcable;
import org.redkale.inject.ResourceEvent;
import org.redkale.net.WorkThread; import org.redkale.net.WorkThread;
import org.redkale.persistence.Entity; import org.redkale.persistence.Entity;
import org.redkale.service.*; import org.redkale.service.*;

View File

@@ -19,6 +19,7 @@ import org.redkale.annotation.AutoLoad;
import org.redkale.annotation.ResourceListener; import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import static org.redkale.boot.Application.*; import static org.redkale.boot.Application.*;
import org.redkale.inject.ResourceEvent;
import org.redkale.net.AsyncGroup; import org.redkale.net.AsyncGroup;
import org.redkale.persistence.Table; import org.redkale.persistence.Table;
import org.redkale.service.Local; import org.redkale.service.Local;

View File

@@ -23,6 +23,7 @@ import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import org.redkale.convert.*; import org.redkale.convert.*;
import org.redkale.convert.json.*; import org.redkale.convert.json.*;
import org.redkale.inject.ResourceEvent;
import org.redkale.service.Local; import org.redkale.service.Local;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -15,6 +15,7 @@ import org.redkale.annotation.*;
import org.redkale.convert.Convert; import org.redkale.convert.Convert;
import org.redkale.convert.TextConvert; import org.redkale.convert.TextConvert;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.Resourcable;
import org.redkale.util.*; import org.redkale.util.*;
/** /**

View File

@@ -17,6 +17,7 @@ import org.redkale.annotation.*;
import org.redkale.annotation.AutoLoad; import org.redkale.annotation.AutoLoad;
import org.redkale.annotation.ResourceListener; import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import org.redkale.inject.ResourceEvent;
import org.redkale.service.Local; import org.redkale.service.Local;
import static org.redkale.source.DataSources.*; import static org.redkale.source.DataSources.*;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -12,6 +12,7 @@ import java.util.stream.Stream;
import org.redkale.annotation.AutoLoad; import org.redkale.annotation.AutoLoad;
import org.redkale.annotation.ResourceListener; import org.redkale.annotation.ResourceListener;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import org.redkale.inject.ResourceEvent;
import org.redkale.service.Local; import org.redkale.service.Local;
import org.redkale.util.*; import org.redkale.util.*;

View File

@@ -10,6 +10,7 @@ import java.util.*;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import java.util.stream.Stream; import java.util.stream.Stream;
import org.redkale.annotation.Component; import org.redkale.annotation.Component;
import org.redkale.inject.Resourcable;
import org.redkale.util.*; import org.redkale.util.*;
/** /**

View File

@@ -8,6 +8,7 @@ package org.redkale.source;
import java.io.*; import java.io.*;
import java.net.*; import java.net.*;
import java.util.*; import java.util.*;
import org.redkale.inject.ResourceFactory;
import org.redkale.service.Service; import org.redkale.service.Service;
import org.redkale.util.*; import org.redkale.util.*;
import static org.redkale.util.Utility.isEmpty; import static org.redkale.util.Utility.isEmpty;

View File

@@ -19,6 +19,9 @@ import java.util.logging.Level;
import org.redkale.annotation.Resource; import org.redkale.annotation.Resource;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.boot.ModuleEngine; import org.redkale.boot.ModuleEngine;
import org.redkale.inject.ResourceEvent;
import org.redkale.inject.ResourceFactory;
import org.redkale.inject.ResourceTypeLoader;
import org.redkale.net.Servlet; import org.redkale.net.Servlet;
import org.redkale.net.sncp.Sncp; import org.redkale.net.sncp.Sncp;
import org.redkale.service.Service; import org.redkale.service.Service;
@@ -27,9 +30,6 @@ import org.redkale.util.AnyValueWriter;
import org.redkale.util.InstanceProvider; import org.redkale.util.InstanceProvider;
import org.redkale.util.RedkaleClassLoader; import org.redkale.util.RedkaleClassLoader;
import org.redkale.util.RedkaleException; import org.redkale.util.RedkaleException;
import org.redkale.util.ResourceEvent;
import org.redkale.util.ResourceFactory;
import org.redkale.util.ResourceTypeLoader;
import org.redkale.util.Utility; import org.redkale.util.Utility;
/** /**

View File

@@ -55,6 +55,7 @@ public class RedkaleClassLoader extends URLClassLoader {
"org.redkale.convert.ext", "org.redkale.convert.ext",
"org.redkale.convert.json", "org.redkale.convert.json",
"org.redkale.convert.protobuf", "org.redkale.convert.protobuf",
"org.redkale.inject",
"org.redkale.lock", "org.redkale.lock",
"org.redkale.mq", "org.redkale.mq",
"org.redkale.net", "org.redkale.net",

View File

@@ -8,12 +8,12 @@ import java.util.concurrent.CountDownLatch;
import org.junit.jupiter.api.Assertions; import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.AsyncIOGroup; import org.redkale.net.AsyncIOGroup;
import org.redkale.net.http.HttpServer; import org.redkale.net.http.HttpServer;
import org.redkale.net.http.HttpSimpleClient; import org.redkale.net.http.HttpSimpleClient;
import org.redkale.net.http.HttpSimpleRequest; import org.redkale.net.http.HttpSimpleRequest;
import org.redkale.util.AnyValueWriter; import org.redkale.util.AnyValueWriter;
import org.redkale.util.ResourceFactory;
/** /**
* *

View File

@@ -9,6 +9,7 @@ import org.junit.jupiter.api.*;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.convert.bson.BsonConvert; import org.redkale.convert.bson.BsonConvert;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.AsyncIOGroup; import org.redkale.net.AsyncIOGroup;
import org.redkale.net.http.*; import org.redkale.net.http.*;
import org.redkale.net.sncp.Sncp; import org.redkale.net.sncp.Sncp;

View File

@@ -17,6 +17,7 @@ import org.redkale.annotation.Resource;
import org.redkale.boot.*; import org.redkale.boot.*;
import org.redkale.convert.bson.BsonConvert; import org.redkale.convert.bson.BsonConvert;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.AsyncIOGroup; import org.redkale.net.AsyncIOGroup;
import org.redkale.net.client.ClientAddress; import org.redkale.net.client.ClientAddress;
import org.redkale.net.http.*; import org.redkale.net.http.*;

View File

@@ -7,6 +7,7 @@ import org.junit.jupiter.api.*;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.convert.bson.BsonConvert; import org.redkale.convert.bson.BsonConvert;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.AsyncIOGroup; import org.redkale.net.AsyncIOGroup;
import org.redkale.net.WorkThread; import org.redkale.net.WorkThread;
import org.redkale.net.client.ClientAddress; import org.redkale.net.client.ClientAddress;

View File

@@ -11,6 +11,7 @@ import java.util.concurrent.atomic.AtomicInteger;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.redkale.boot.*; import org.redkale.boot.*;
import org.redkale.convert.bson.*; import org.redkale.convert.bson.*;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.*; import org.redkale.net.*;
import org.redkale.net.client.ClientAddress; import org.redkale.net.client.ClientAddress;
import org.redkale.net.sncp.*; import org.redkale.net.sncp.*;

View File

@@ -11,11 +11,11 @@ import java.nio.channels.CompletionHandler;
import java.util.concurrent.CompletableFuture; import java.util.concurrent.CompletableFuture;
import org.redkale.annotation.ResourceType; import org.redkale.annotation.ResourceType;
import org.redkale.boot.Application; import org.redkale.boot.Application;
import org.redkale.inject.ResourceFactory;
import org.redkale.net.AsyncIOGroup; import org.redkale.net.AsyncIOGroup;
import org.redkale.net.client.ClientAddress; import org.redkale.net.client.ClientAddress;
import org.redkale.net.sncp.*; import org.redkale.net.sncp.*;
import org.redkale.service.*; import org.redkale.service.*;
import org.redkale.util.ResourceFactory;
/** /**
* *

View File

@@ -12,7 +12,8 @@ import static java.lang.annotation.RetentionPolicy.RUNTIME;
import java.lang.reflect.Field; import java.lang.reflect.Field;
import org.junit.jupiter.api.*; import org.junit.jupiter.api.*;
import org.redkale.convert.json.JsonConvert; import org.redkale.convert.json.JsonConvert;
import org.redkale.util.*; import org.redkale.inject.ResourceAnnotationProvider;
import org.redkale.inject.ResourceFactory;
/** /**
* *

View File

@@ -4,9 +4,11 @@ package org.redkale.test.util;
import java.util.Properties; import java.util.Properties;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import org.redkale.annotation.Resource;
import org.junit.jupiter.api.*; import org.junit.jupiter.api.*;
import org.redkale.annotation.Resource;
import org.redkale.annotation.ResourceListener; import org.redkale.annotation.ResourceListener;
import org.redkale.inject.ResourceEvent;
import org.redkale.inject.ResourceFactory;
import org.redkale.util.*; import org.redkale.util.*;
/** /**

View File

@@ -5,7 +5,7 @@ package org.redkale.test.util;
import org.junit.jupiter.api.*; import org.junit.jupiter.api.*;
import org.redkale.annotation.Resource; import org.redkale.annotation.Resource;
import org.redkale.convert.json.JsonFactory; import org.redkale.convert.json.JsonFactory;
import org.redkale.util.ResourceFactory; import org.redkale.inject.ResourceFactory;
/** /**
* *

View File

@@ -8,10 +8,9 @@ package org.redkale.test.util;
import java.math.BigInteger; import java.math.BigInteger;
import java.util.Properties; import java.util.Properties;
import org.junit.jupiter.api.Test; import org.junit.jupiter.api.Test;
import org.redkale.annotation.ConstructorParameters;
import org.redkale.annotation.*; import org.redkale.annotation.*;
import org.redkale.annotation.ResourceListener; import org.redkale.inject.ResourceEvent;
import org.redkale.util.*; import org.redkale.inject.ResourceFactory;
/** /**
* *