diff --git a/boot/pom.xml b/boot/pom.xml
new file mode 100644
index 00000000..9e4a95d5
--- /dev/null
+++ b/boot/pom.xml
@@ -0,0 +1,252 @@
+
+
+ 4.0.0
+
+ com.zfoo
+ boot
+ 3.0
+
+ jar
+
+
+
+
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+ 3.0
+
+
+
+ 5.3.4
+ 2.4.3
+
+
+
+ 1.15
+ 2.8.0
+ 4.4
+ 3.12.0
+ 1.4
+ 1.2
+ 2.14.0
+ 4.5.13
+ 4.4.14
+ 30.1-jre
+ 3.9.1
+ 2.8.6
+ 5.0.3
+ 2.8.8
+ 3.2.0
+ 5.5.9
+ 5.7.0
+ 1.28
+
+
+
+ 2.12.1
+ 1.2.51
+
+ 4.1.2
+
+ 3.27.0-GA
+ 1.10.22
+
+
+ 4.1.63.Final
+
+
+ 3.6.1
+ 5.1.0
+
+
+ 4.2.1
+ 3.3.0
+
+
+ 4.5.2
+
+
+ 7.9.3
+ 4.1.5
+ 8.6.2
+
+
+ 1.7.30
+ 1.2.3
+
+ 4.12
+
+
+ 11
+ UTF-8
+ 1.3.5
+
+
+ 3.1.0
+ 3.8.1
+ 3.2.0
+ 3.0.0-M5
+ 3.2.0
+ 3.2.4
+ 2.8.1
+
+
+ ${file.encoding}
+ ${file.encoding}
+
+
+
+
+ org.springframework.boot
+ spring-boot-autoconfigure
+ ${spring.boot.version}
+ compile
+
+
+
+ com.zfoo
+ net
+ ${zfoo.net.version}
+
+
+
+ com.zfoo
+ orm
+ ${zfoo.orm.version}
+
+
+
+ com.zfoo
+ event
+ ${zfoo.event.version}
+
+
+
+ com.zfoo
+ scheduler
+ ${zfoo.scheduler.version}
+
+
+
+ com.zfoo
+ storage
+ ${zfoo.storage.version}
+
+
+
+
+ org.slf4j
+ slf4j-api
+ ${slf4j.version}
+
+
+
+ ch.qos.logback
+ logback-core
+ ${logback.version}
+
+
+
+ ch.qos.logback
+ logback-classic
+ ${logback.version}
+
+
+ slf4j-api
+ org.slf4j
+
+
+
+
+
+
+ junit
+ junit
+ ${junit.version}
+ test
+
+
+
+
+ src/main/java
+ src/test/java
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-clean-plugin
+ ${maven-clean-plugin.version}
+
+
+
+
+ org.apache.maven.plugins
+ maven-compiler-plugin
+ ${maven-compiler-plugin.version}
+
+ ${java.version}
+ ${java.version}
+ ${file.encoding}
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ ${maven-resources-plugin.version}
+
+
+ copy-resources
+ package
+
+ copy-resources
+
+
+ ${file.encoding}
+ ${project.build.directory}/resource
+
+
+ src/main/resources/
+ false
+
+
+
+
+
+
+
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ ${maven-surefire-plugin.version}
+
+ once
+ 10
+ -Dfile.encoding=${file.encoding}
+
+
+
+
+ org.apache.maven.plugins
+ maven-jar-plugin
+ ${maven-jar-plugin.version}
+
+
+
+
+
+
diff --git a/orm/src/main/java/com/zfoo/orm/model/config/CachesConfig.java b/boot/src/main/java/com/zfoo/boot/EventAutoConfiguration.java
similarity index 50%
rename from orm/src/main/java/com/zfoo/orm/model/config/CachesConfig.java
rename to boot/src/main/java/com/zfoo/boot/EventAutoConfiguration.java
index cf725af9..2e27b404 100644
--- a/orm/src/main/java/com/zfoo/orm/model/config/CachesConfig.java
+++ b/boot/src/main/java/com/zfoo/boot/EventAutoConfiguration.java
@@ -1,6 +1,5 @@
/*
* Copyright (C) 2020 The zfoo Authors
- *
* Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
* in compliance with the License. You may obtain a copy of the License at
*
@@ -11,23 +10,31 @@
* See the License for the specific language governing permissions and limitations under the License.
*/
-package com.zfoo.orm.model.config;
+package com.zfoo.boot;
-import java.util.List;
+import com.zfoo.event.EventContext;
+import com.zfoo.event.schema.EventRegisterProcessor;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
/**
* @author jaysunxiao
* @version 3.0
*/
-public class CachesConfig {
+@Configuration(proxyBeanMethods = false)
+public class EventAutoConfiguration {
- private List cacheStrategies;
-
- public List getCacheStrategies() {
- return cacheStrategies;
+ @Bean
+ @ConditionalOnMissingBean
+ public EventRegisterProcessor eventRegisterProcessor() {
+ return new EventRegisterProcessor();
}
- public void setCacheStrategies(List cacheStrategies) {
- this.cacheStrategies = cacheStrategies;
+ @Bean
+ @ConditionalOnMissingBean
+ public EventContext eventContext() {
+ return new EventContext();
}
+
}
diff --git a/boot/src/main/java/com/zfoo/boot/NetAutoConfiguration.java b/boot/src/main/java/com/zfoo/boot/NetAutoConfiguration.java
new file mode 100644
index 00000000..ea876d85
--- /dev/null
+++ b/boot/src/main/java/com/zfoo/boot/NetAutoConfiguration.java
@@ -0,0 +1,73 @@
+/*
+ * Copyright (C) 2020 The zfoo Authors
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and limitations under the License.
+ */
+
+package com.zfoo.boot;
+
+import com.zfoo.net.NetContext;
+import com.zfoo.net.config.manager.ConfigManager;
+import com.zfoo.net.config.model.NetConfig;
+import com.zfoo.net.consumer.service.Consumer;
+import com.zfoo.net.dispatcher.manager.PacketDispatcher;
+import com.zfoo.net.packet.service.PacketService;
+import com.zfoo.net.session.manager.SessionManager;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author jaysunxiao
+ * @version 3.0
+ */
+@Configuration(proxyBeanMethods = false)
+@ConditionalOnBean(NetConfig.class)
+public class NetAutoConfiguration {
+
+ @Bean
+ @ConditionalOnBean(NetConfig.class)
+ public ConfigManager configManager(NetConfig netConfig) {
+ var configManager = new ConfigManager();
+ configManager.setLocalConfig(netConfig);
+ return configManager;
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public PacketService packetService() {
+ return new PacketService();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public PacketDispatcher packetDispatcher() {
+ return new PacketDispatcher();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public Consumer consumer() {
+ return new Consumer();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public SessionManager sessionManager() {
+ return new SessionManager();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public NetContext netContext() {
+ return new NetContext();
+ }
+
+}
diff --git a/boot/src/main/java/com/zfoo/boot/OrmAutoConfiguration.java b/boot/src/main/java/com/zfoo/boot/OrmAutoConfiguration.java
new file mode 100644
index 00000000..086973a0
--- /dev/null
+++ b/boot/src/main/java/com/zfoo/boot/OrmAutoConfiguration.java
@@ -0,0 +1,60 @@
+/*
+ * Copyright (C) 2020 The zfoo Authors
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and limitations under the License.
+ */
+
+package com.zfoo.boot;
+
+import com.zfoo.orm.OrmContext;
+import com.zfoo.orm.manager.OrmManager;
+import com.zfoo.orm.model.accessor.MongodbAccessor;
+import com.zfoo.orm.model.config.OrmConfig;
+import com.zfoo.orm.model.query.MongodbQuery;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author jaysunxiao
+ * @version 3.0
+ */
+@Configuration(proxyBeanMethods = false)
+@ConditionalOnBean(OrmConfig.class)
+public class OrmAutoConfiguration {
+
+ @Bean
+ @ConditionalOnBean(OrmConfig.class)
+ public OrmManager ormManager(OrmConfig ormConfig) {
+ var ormManager = new OrmManager();
+ ormManager.setOrmConfig(ormConfig);
+ return ormManager;
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public MongodbAccessor mongodbAccessor() {
+ return new MongodbAccessor();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public MongodbQuery mongodbQuery() {
+ return new MongodbQuery();
+ }
+
+
+ @Bean
+ @ConditionalOnMissingBean
+ public OrmContext ormContext() {
+ return new OrmContext();
+ }
+
+}
diff --git a/boot/src/main/java/com/zfoo/boot/SchedulerAutoConfiguration.java b/boot/src/main/java/com/zfoo/boot/SchedulerAutoConfiguration.java
new file mode 100644
index 00000000..ae2117c4
--- /dev/null
+++ b/boot/src/main/java/com/zfoo/boot/SchedulerAutoConfiguration.java
@@ -0,0 +1,40 @@
+/*
+ * Copyright (C) 2020 The zfoo Authors
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and limitations under the License.
+ */
+
+package com.zfoo.boot;
+
+import com.zfoo.scheduler.SchedulerContext;
+import com.zfoo.scheduler.schema.SchedulerRegisterProcessor;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author jaysunxiao
+ * @version 3.0
+ */
+@Configuration(proxyBeanMethods = false)
+public class SchedulerAutoConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean
+ public SchedulerRegisterProcessor schedulerRegisterProcessor() {
+ return new SchedulerRegisterProcessor();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public SchedulerContext schedulerContext() {
+ return new SchedulerContext();
+ }
+
+}
diff --git a/boot/src/main/java/com/zfoo/boot/StorageAutoConfiguration.java b/boot/src/main/java/com/zfoo/boot/StorageAutoConfiguration.java
new file mode 100644
index 00000000..1f05fffa
--- /dev/null
+++ b/boot/src/main/java/com/zfoo/boot/StorageAutoConfiguration.java
@@ -0,0 +1,53 @@
+/*
+ * Copyright (C) 2020 The zfoo Authors
+ * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
+ * in compliance with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
+ * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and limitations under the License.
+ */
+
+package com.zfoo.boot;
+
+import com.zfoo.storage.StorageContext;
+import com.zfoo.storage.interpreter.ExcelResourceReader;
+import com.zfoo.storage.manager.StorageManager;
+import com.zfoo.storage.model.config.StorageConfig;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnBean;
+import org.springframework.boot.autoconfigure.condition.ConditionalOnMissingBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * @author jaysunxiao
+ * @version 3.0
+ */
+@Configuration(proxyBeanMethods = false)
+@ConditionalOnBean(StorageConfig.class)
+public class StorageAutoConfiguration {
+
+ @Bean
+ @ConditionalOnMissingBean
+ @ConditionalOnBean(StorageConfig.class)
+ public StorageManager storageManager(StorageConfig storageConfig) {
+ var storageManager = new StorageManager();
+ storageManager.setStorageConfig(storageConfig);
+ return storageManager;
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public ExcelResourceReader excelResourceReader() {
+ return new ExcelResourceReader();
+ }
+
+ @Bean
+ @ConditionalOnMissingBean
+ public StorageContext storageContext() {
+ return new StorageContext();
+ }
+
+}
diff --git a/boot/src/main/resources/META-INF/spring.factories b/boot/src/main/resources/META-INF/spring.factories
new file mode 100644
index 00000000..c3f8d4fe
--- /dev/null
+++ b/boot/src/main/resources/META-INF/spring.factories
@@ -0,0 +1,6 @@
+org.springframework.boot.autoconfigure.EnableAutoConfiguration=\
+com.zfoo.boot.EventAutoConfiguration,\
+com.zfoo.boot.SchedulerAutoConfiguration,\
+com.zfoo.boot.StorageAutoConfiguration,\
+com.zfoo.boot.OrmAutoConfiguration,\
+com.zfoo.boot.NetAutoConfiguration
\ No newline at end of file
diff --git a/event/pom.xml b/event/pom.xml
index 066c9038..b40cfb04 100644
--- a/event/pom.xml
+++ b/event/pom.xml
@@ -13,6 +13,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/hotswap/pom.xml b/hotswap/pom.xml
index 0b4adfd3..70254d7b 100644
--- a/hotswap/pom.xml
+++ b/hotswap/pom.xml
@@ -12,6 +12,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/monitor/pom.xml b/monitor/pom.xml
index 5cfc2b6e..ee81e797 100644
--- a/monitor/pom.xml
+++ b/monitor/pom.xml
@@ -12,6 +12,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/net/pom.xml b/net/pom.xml
index 55d2cb46..277892a2 100644
--- a/net/pom.xml
+++ b/net/pom.xml
@@ -13,6 +13,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/net/src/main/java/com/zfoo/net/config/manager/ConfigManager.java b/net/src/main/java/com/zfoo/net/config/manager/ConfigManager.java
index ad732eeb..c03ec864 100644
--- a/net/src/main/java/com/zfoo/net/config/manager/ConfigManager.java
+++ b/net/src/main/java/com/zfoo/net/config/manager/ConfigManager.java
@@ -64,7 +64,7 @@ public class ConfigManager implements IConfigManager {
@Override
public void initRegistry() {
// 通过protocol,写入provider的module的id和version
- var providerConfig = localConfig.getProviderConfig();
+ var providerConfig = localConfig.getProvider();
if (Objects.nonNull(providerConfig) && CollectionUtils.isNotEmpty(providerConfig.getModules())) {
var providerModules = new ArrayList(providerConfig.getModules().size());
for (var providerModule : providerConfig.getModules()) {
@@ -76,7 +76,7 @@ public class ConfigManager implements IConfigManager {
}
// 通过protocol,写入consumer的module的id和version
- var consumerConfig = localConfig.getConsumerConfig();
+ var consumerConfig = localConfig.getConsumer();
if (Objects.nonNull(consumerConfig) && CollectionUtils.isNotEmpty(consumerConfig.getModules())) {
var consumerModules = new ArrayList(consumerConfig.getModules().size());
for (var providerModule : consumerConfig.getModules()) {
diff --git a/net/src/main/java/com/zfoo/net/config/model/HostConfig.java b/net/src/main/java/com/zfoo/net/config/model/HostConfig.java
index d2780f83..30a7f64e 100644
--- a/net/src/main/java/com/zfoo/net/config/model/HostConfig.java
+++ b/net/src/main/java/com/zfoo/net/config/model/HostConfig.java
@@ -25,7 +25,7 @@ public class HostConfig {
private String center;
private String user;
private String password;
- private Map addressMap;
+ private Map address;
public void setCenter(String center) {
this.center = center;
@@ -51,12 +51,12 @@ public class HostConfig {
this.password = password;
}
- public Map getAddressMap() {
- return addressMap;
+ public Map getAddress() {
+ return address;
}
- public void setAddressMap(Map addressMap) {
- this.addressMap = addressMap;
+ public void setAddress(Map address) {
+ this.address = address;
}
@Override
@@ -71,11 +71,11 @@ public class HostConfig {
return Objects.equals(center, that.center) &&
Objects.equals(user, that.user) &&
Objects.equals(password, that.password) &&
- Objects.equals(addressMap, that.addressMap);
+ Objects.equals(address, that.address);
}
@Override
public int hashCode() {
- return Objects.hash(center, user, password, addressMap);
+ return Objects.hash(center, user, password, address);
}
}
diff --git a/net/src/main/java/com/zfoo/net/config/model/MonitorConfig.java b/net/src/main/java/com/zfoo/net/config/model/MonitorConfig.java
index ba39d935..a725045e 100644
--- a/net/src/main/java/com/zfoo/net/config/model/MonitorConfig.java
+++ b/net/src/main/java/com/zfoo/net/config/model/MonitorConfig.java
@@ -25,14 +25,14 @@ public class MonitorConfig {
private String center;
private String user;
private String password;
- private Map addressMap;
+ private Map address;
public static MonitorConfig valueOf(String center, String user, String password, Map addressMap) {
MonitorConfig config = new MonitorConfig();
config.center = center;
config.user = user;
config.password = password;
- config.addressMap = addressMap;
+ config.address = addressMap;
return config;
}
@@ -60,12 +60,12 @@ public class MonitorConfig {
this.password = password;
}
- public Map getAddressMap() {
- return addressMap;
+ public Map getAddress() {
+ return address;
}
- public void setAddressMap(Map addressMap) {
- this.addressMap = addressMap;
+ public void setAddress(Map address) {
+ this.address = address;
}
@Override
@@ -80,11 +80,11 @@ public class MonitorConfig {
return Objects.equals(center, that.center) &&
Objects.equals(user, that.user) &&
Objects.equals(password, that.password) &&
- Objects.equals(addressMap, that.addressMap);
+ Objects.equals(address, that.address);
}
@Override
public int hashCode() {
- return Objects.hash(center, user, password, addressMap);
+ return Objects.hash(center, user, password, address);
}
}
diff --git a/net/src/main/java/com/zfoo/net/config/model/NetConfig.java b/net/src/main/java/com/zfoo/net/config/model/NetConfig.java
index 92e28866..bb8bb47c 100644
--- a/net/src/main/java/com/zfoo/net/config/model/NetConfig.java
+++ b/net/src/main/java/com/zfoo/net/config/model/NetConfig.java
@@ -37,16 +37,16 @@ public class NetConfig {
private boolean generateCsProtocol;
private boolean generateLuaProtocol;
- private RegistryConfig registryConfig;
- private MonitorConfig monitorConfig;
- private HostConfig hostConfig;
+ private RegistryConfig registry;
+ private MonitorConfig monitor;
+ private HostConfig host;
- private ProviderConfig providerConfig;
- private ConsumerConfig consumerConfig;
+ private ProviderConfig provider;
+ private ConsumerConfig consumer;
public RegisterVO toLocalRegisterVO() {
- return RegisterVO.valueOf(id, providerConfig, consumerConfig);
+ return RegisterVO.valueOf(id, provider, consumer);
}
public String getId() {
@@ -105,44 +105,44 @@ public class NetConfig {
this.generateLuaProtocol = generateLuaProtocol;
}
- public RegistryConfig getRegistryConfig() {
- return registryConfig;
+ public RegistryConfig getRegistry() {
+ return registry;
}
- public void setRegistryConfig(RegistryConfig registryConfig) {
- this.registryConfig = registryConfig;
+ public void setRegistry(RegistryConfig registry) {
+ this.registry = registry;
}
- public MonitorConfig getMonitorConfig() {
- return monitorConfig;
+ public MonitorConfig getMonitor() {
+ return monitor;
}
- public void setMonitorConfig(MonitorConfig monitorConfig) {
- this.monitorConfig = monitorConfig;
+ public void setMonitor(MonitorConfig monitor) {
+ this.monitor = monitor;
}
- public HostConfig getHostConfig() {
- return hostConfig;
+ public HostConfig getHost() {
+ return host;
}
- public void setHostConfig(HostConfig hostConfig) {
- this.hostConfig = hostConfig;
+ public void setHost(HostConfig host) {
+ this.host = host;
}
- public ProviderConfig getProviderConfig() {
- return providerConfig;
+ public ProviderConfig getProvider() {
+ return provider;
}
- public void setProviderConfig(ProviderConfig providerConfig) {
- this.providerConfig = providerConfig;
+ public void setProvider(ProviderConfig provider) {
+ this.provider = provider;
}
- public ConsumerConfig getConsumerConfig() {
- return consumerConfig;
+ public ConsumerConfig getConsumer() {
+ return consumer;
}
- public void setConsumerConfig(ConsumerConfig consumerConfig) {
- this.consumerConfig = consumerConfig;
+ public void setConsumer(ConsumerConfig consumer) {
+ this.consumer = consumer;
}
@Override
@@ -157,15 +157,15 @@ public class NetConfig {
return generateJsProtocol == netConfig.generateJsProtocol &&
Objects.equals(id, netConfig.id) &&
Objects.equals(protocolLocation, netConfig.protocolLocation) &&
- Objects.equals(registryConfig, netConfig.registryConfig) &&
- Objects.equals(monitorConfig, netConfig.monitorConfig) &&
- Objects.equals(hostConfig, netConfig.hostConfig) &&
- Objects.equals(providerConfig, netConfig.providerConfig) &&
- Objects.equals(consumerConfig, netConfig.consumerConfig);
+ Objects.equals(registry, netConfig.registry) &&
+ Objects.equals(monitor, netConfig.monitor) &&
+ Objects.equals(host, netConfig.host) &&
+ Objects.equals(provider, netConfig.provider) &&
+ Objects.equals(consumer, netConfig.consumer);
}
@Override
public int hashCode() {
- return Objects.hash(id, protocolLocation, generateJsProtocol, registryConfig, monitorConfig, hostConfig, providerConfig, consumerConfig);
+ return Objects.hash(id, protocolLocation, generateJsProtocol, registry, monitor, host, provider, consumer);
}
}
diff --git a/net/src/main/java/com/zfoo/net/config/model/RegistryConfig.java b/net/src/main/java/com/zfoo/net/config/model/RegistryConfig.java
index 523e6124..a808cb2e 100644
--- a/net/src/main/java/com/zfoo/net/config/model/RegistryConfig.java
+++ b/net/src/main/java/com/zfoo/net/config/model/RegistryConfig.java
@@ -27,14 +27,14 @@ public class RegistryConfig {
private String center;
private String user;
private String password;
- private Map addressMap;
+ private Map address;
public static RegistryConfig valueOf(String center, String user, String password, Map addressMap) {
RegistryConfig config = new RegistryConfig();
config.center = center;
config.user = user;
config.password = password;
- config.addressMap = addressMap;
+ config.address = addressMap;
return config;
}
@@ -70,12 +70,12 @@ public class RegistryConfig {
this.password = password;
}
- public Map getAddressMap() {
- return addressMap;
+ public Map getAddress() {
+ return address;
}
- public void setAddressMap(Map addressMap) {
- this.addressMap = addressMap;
+ public void setAddress(Map address) {
+ this.address = address;
}
@Override
@@ -90,11 +90,11 @@ public class RegistryConfig {
return Objects.equals(center, that.center) &&
Objects.equals(user, that.user) &&
Objects.equals(password, that.password) &&
- Objects.equals(addressMap, that.addressMap);
+ Objects.equals(address, that.address);
}
@Override
public int hashCode() {
- return Objects.hash(center, user, password, addressMap);
+ return Objects.hash(center, user, password, address);
}
}
diff --git a/net/src/main/java/com/zfoo/net/consumer/registry/ZookeeperRegistry.java b/net/src/main/java/com/zfoo/net/consumer/registry/ZookeeperRegistry.java
index 19471ec0..0885cc77 100644
--- a/net/src/main/java/com/zfoo/net/consumer/registry/ZookeeperRegistry.java
+++ b/net/src/main/java/com/zfoo/net/consumer/registry/ZookeeperRegistry.java
@@ -126,7 +126,7 @@ public class ZookeeperRegistry implements IRegistry {
@Override
public void start() {
- var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistryConfig();
+ var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistry();
if (Objects.isNull(registryConfig)) {
logger.info("服务提供者没有配置,不会在zk种注册服务,如果是单机启动请忽略这条日志");
return;
@@ -141,7 +141,7 @@ public class ZookeeperRegistry implements IRegistry {
}
private void startProvider() {
- var providerConfig = NetContext.getConfigManager().getLocalConfig().getProviderConfig();
+ var providerConfig = NetContext.getConfigManager().getLocalConfig().getProvider();
if (Objects.isNull(providerConfig)) {
logger.info("服务提供者没有配置,不会在zk种注册服务,如果是单机启动请忽略这条日志");
@@ -153,14 +153,14 @@ public class ZookeeperRegistry implements IRegistry {
}
private void startCurator() {
- var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistryConfig();
+ var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistry();
if (!registryConfig.getCenter().toLowerCase().matches("zookeeper")) {
throw new IllegalArgumentException(StringUtils
.format("[center:{}]注册中心只能是zookeeper", JsonUtils.object2String(registryConfig)));
}
- var zookeeperConnectStr = HostAndPort.toHostAndPortListStr(HostAndPort.toHostAndPortList(registryConfig.getAddressMap().values()));
+ var zookeeperConnectStr = HostAndPort.toHostAndPortListStr(HostAndPort.toHostAndPortList(registryConfig.getAddress().values()));
var builder = CuratorFrameworkFactory.builder();
builder.connectString(zookeeperConnectStr);
if (registryConfig.hasZookeeperAuthor()) {
@@ -207,7 +207,7 @@ public class ZookeeperRegistry implements IRegistry {
// 创建zookeeper的根路径
var rootStat = curator.checkExists().forPath(ROOT_PATH);
if (Objects.isNull(rootStat)) {
- var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistryConfig();
+ var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistry();
var builder = curator.create();
builder.creatingParentsIfNeeded();
if (registryConfig.hasZookeeperAuthor()) {
@@ -218,7 +218,7 @@ public class ZookeeperRegistry implements IRegistry {
builder.withMode(CreateMode.PERSISTENT);
builder.forPath(ROOT_PATH, StringUtils.bytes(registryConfig.getCenter()));
} else {
- var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistryConfig();
+ var registryConfig = NetContext.getConfigManager().getLocalConfig().getRegistry();
var bytes = curator.getData().storingStatIn(new Stat()).forPath(ROOT_PATH);
var rootPathData = StringUtils.bytesToString(bytes);
diff --git a/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java b/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java
index b4928d51..5d56df17 100644
--- a/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java
+++ b/net/src/main/java/com/zfoo/net/schema/NetDefinitionParser.java
@@ -20,7 +20,6 @@ import com.zfoo.net.consumer.service.Consumer;
import com.zfoo.net.dispatcher.manager.PacketDispatcher;
import com.zfoo.net.packet.service.PacketService;
import com.zfoo.net.session.manager.SessionManager;
-import com.zfoo.protocol.ProtocolManager;
import com.zfoo.protocol.registration.ProtocolModule;
import com.zfoo.protocol.util.DomUtils;
import com.zfoo.protocol.util.StringUtils;
@@ -60,11 +59,6 @@ public class NetDefinitionParser implements BeanDefinitionParser {
builder.addPropertyReference("localConfig", NetConfig.class.getCanonicalName());
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
- // 注册ProtocolManager
- clazz = ProtocolManager.class;
- builder = BeanDefinitionBuilder.rootBeanDefinition(clazz);
- parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
-
// 注册PacketService
clazz = PacketService.class;
builder = BeanDefinitionBuilder.rootBeanDefinition(clazz);
@@ -104,31 +98,31 @@ public class NetDefinitionParser implements BeanDefinitionParser {
var registryElement = DomUtils.getFirstChildElementByTagName(element, "registry");
if (registryElement != null) {
parseRegistryConfig(registryElement, parserContext);
- builder.addPropertyReference("registryConfig", RegistryConfig.class.getCanonicalName());
+ builder.addPropertyReference("registry", RegistryConfig.class.getCanonicalName());
}
var monitorElement = DomUtils.getFirstChildElementByTagName(element, "monitor");
if (monitorElement != null) {
parseMonitorConfig(monitorElement, parserContext);
- builder.addPropertyReference("monitorConfig", MonitorConfig.class.getCanonicalName());
+ builder.addPropertyReference("monitor", MonitorConfig.class.getCanonicalName());
}
var hostElement = DomUtils.getFirstChildElementByTagName(element, "host");
if (hostElement != null) {
- builder.addPropertyReference("hostConfig", HostConfig.class.getCanonicalName());
+ builder.addPropertyReference("host", HostConfig.class.getCanonicalName());
parseHostConfig(hostElement, parserContext);
}
var providerElement = DomUtils.getFirstChildElementByTagName(element, "provider");
if (providerElement != null) {
- builder.addPropertyReference("providerConfig", ProviderConfig.class.getCanonicalName());
+ builder.addPropertyReference("provider", ProviderConfig.class.getCanonicalName());
parseProviderConfig(providerElement, parserContext);
}
var consumerElement = DomUtils.getFirstChildElementByTagName(element, "consumer");
if (consumerElement != null) {
parseConsumerConfig(consumerElement, parserContext);
- builder.addPropertyReference("consumerConfig", ConsumerConfig.class.getCanonicalName());
+ builder.addPropertyReference("consumer", ConsumerConfig.class.getCanonicalName());
}
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
@@ -142,7 +136,7 @@ public class NetDefinitionParser implements BeanDefinitionParser {
resolvePlaceholder("user", "user", builder, element, parserContext);
resolvePlaceholder("password", "password", builder, element, parserContext);
var addressMap = parseAddress(element, parserContext);
- builder.addPropertyValue("addressMap", addressMap);
+ builder.addPropertyValue("address", addressMap);
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
}
@@ -154,7 +148,7 @@ public class NetDefinitionParser implements BeanDefinitionParser {
resolvePlaceholder("user", "user", builder, element, parserContext);
resolvePlaceholder("password", "password", builder, element, parserContext);
var addressMap = parseAddress(element, parserContext);
- builder.addPropertyValue("addressMap", addressMap);
+ builder.addPropertyValue("address", addressMap);
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
}
@@ -166,7 +160,7 @@ public class NetDefinitionParser implements BeanDefinitionParser {
resolvePlaceholder("user", "user", builder, element, parserContext);
resolvePlaceholder("password", "password", builder, element, parserContext);
var addressMap = parseAddress(element, parserContext);
- builder.addPropertyValue("addressMap", addressMap);
+ builder.addPropertyValue("address", addressMap);
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
}
diff --git a/net/src/main/java/com/zfoo/net/task/TaskManager.java b/net/src/main/java/com/zfoo/net/task/TaskManager.java
index c2d1aa15..2795eace 100644
--- a/net/src/main/java/com/zfoo/net/task/TaskManager.java
+++ b/net/src/main/java/com/zfoo/net/task/TaskManager.java
@@ -50,7 +50,7 @@ public final class TaskManager implements ITaskManager {
static {
var localConfig = NetContext.getConfigManager().getLocalConfig();
- var providerConfig = localConfig.getProviderConfig();
+ var providerConfig = localConfig.getProvider();
var dispatch = providerConfig == null ? "consistent-hash" : providerConfig.getDispatch();
var dispatchThread = (providerConfig == null || StringUtils.isBlank(providerConfig.getDispatchThread()))
diff --git a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java
index ffe1678c..2edbccfd 100644
--- a/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java
+++ b/net/src/test/java/com/zfoo/net/core/tcp/client/TcpClientTest.java
@@ -44,7 +44,7 @@ public class TcpClientTest {
public void startClient0() {
var context = new ClassPathXmlApplicationContext("config.xml");
SessionUtils.printSessionInfo();
- var client = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server0")));
+ var client = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHost().getAddress().get("server0")));
var session = client.start();
var request = new TcpHelloRequest();
@@ -64,7 +64,7 @@ public class TcpClientTest {
public void syncClientTest() {
var context = new ClassPathXmlApplicationContext("config.xml");
SessionUtils.printSessionInfo();
- var client = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server1")));
+ var client = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHost().getAddress().get("server1")));
var session = client.start();
var executorSize = Runtime.getRuntime().availableProcessors() * 2;
@@ -93,7 +93,7 @@ public class TcpClientTest {
@Test
public void asyncClientTest() {
var context = new ClassPathXmlApplicationContext("config.xml");
- var client1 = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server1")));
+ var client1 = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHost().getAddress().get("server1")));
var session1 = client1.start();
var executorSize = Runtime.getRuntime().availableProcessors() * 2;
diff --git a/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java b/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java
index b51bc592..cfc38d88 100644
--- a/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java
+++ b/net/src/test/java/com/zfoo/net/core/tcp/server/TcpServerTest.java
@@ -42,7 +42,7 @@ public class TcpServerTest {
var context = new ClassPathXmlApplicationContext("config.xml");
SessionUtils.printSessionInfo();
- var server0 = new TcpServer(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server0")));
+ var server0 = new TcpServer(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHost().getAddress().get("server0")));
server0.start();
ThreadUtils.sleep(Long.MAX_VALUE);
}
@@ -53,7 +53,7 @@ public class TcpServerTest {
SessionUtils.printSessionInfo();
- var server1 = new TcpServer(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("server1")));
+ var server1 = new TcpServer(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHost().getAddress().get("server1")));
server1.start();
// 连接server0
@@ -61,7 +61,7 @@ public class TcpServerTest {
executor.execute(() -> {
while (true) {
try {
- var client0 = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHostConfig().getAddressMap().get("client0")));
+ var client0 = new TcpClient(HostAndPort.valueOf(NetContext.getConfigManager().getLocalConfig().getHost().getAddress().get("client0")));
client0.start();
break;
} catch (Exception e) {
diff --git a/orm/pom.xml b/orm/pom.xml
index e86b4d59..014ea6c9 100644
--- a/orm/pom.xml
+++ b/orm/pom.xml
@@ -12,6 +12,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java b/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java
index 4ee21cce..5e700718 100644
--- a/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java
+++ b/orm/src/main/java/com/zfoo/orm/manager/OrmManager.java
@@ -98,9 +98,9 @@ public class OrmManager implements IOrmManager {
.codecRegistry(pojoCodecRegistry);
// 设置数据库地址
- var hostConfig = ormConfig.getHostConfig();
- if (CollectionUtils.isNotEmpty(hostConfig.getAddressMap())) {
- var hostList = HostAndPort.toHostAndPortList(hostConfig.getAddressMap().values())
+ var hostConfig = ormConfig.getHost();
+ if (CollectionUtils.isNotEmpty(hostConfig.getAddress())) {
+ var hostList = HostAndPort.toHostAndPortList(hostConfig.getAddress().values())
.stream()
.map(it -> new ServerAddress(it.getHost(), it.getPort()))
.collect(Collectors.toList());
@@ -293,8 +293,8 @@ public class OrmManager implements IOrmManager {
public EntityDef parserEntityDef(Class extends IEntity>> clazz) {
analyze(clazz);
- var cacheStrategies = ormConfig.getCachesConfig().getCacheStrategies();
- var persisterStrategies = ormConfig.getPersistersConfig().getPersisterStrategies();
+ var cacheStrategies = ormConfig.getCaches();
+ var persisterStrategies = ormConfig.getPersisters();
var cache = clazz.getAnnotation(EntityCache.class);
var cacheStrategyOptional = cacheStrategies.stream().filter(it -> it.getStrategy().equals(cache.cacheStrategy())).findFirst();
diff --git a/orm/src/main/java/com/zfoo/orm/model/config/CacheStrategy.java b/orm/src/main/java/com/zfoo/orm/model/config/CacheStrategy.java
index 5db86767..f72ba611 100644
--- a/orm/src/main/java/com/zfoo/orm/model/config/CacheStrategy.java
+++ b/orm/src/main/java/com/zfoo/orm/model/config/CacheStrategy.java
@@ -23,12 +23,14 @@ public class CacheStrategy {
private int size;
private long expireMillisecond;
- public CacheStrategy(String strategy, int cacheSize, long expireMillisecond) {
- this.strategy = strategy;
- this.size = cacheSize;
- this.expireMillisecond = expireMillisecond;
+ public CacheStrategy() {
}
+ public CacheStrategy(String strategy, int size, long expireMillisecond) {
+ this.strategy = strategy;
+ this.size = size;
+ this.expireMillisecond = expireMillisecond;
+ }
public String getStrategy() {
return strategy;
diff --git a/orm/src/main/java/com/zfoo/orm/model/config/HostConfig.java b/orm/src/main/java/com/zfoo/orm/model/config/HostConfig.java
index e7e2997c..8e828bb9 100644
--- a/orm/src/main/java/com/zfoo/orm/model/config/HostConfig.java
+++ b/orm/src/main/java/com/zfoo/orm/model/config/HostConfig.java
@@ -24,14 +24,14 @@ public class HostConfig {
private String database;
private String user;
private String password;
- private Map addressMap;
+ private Map address;
public static HostConfig valueOf(String database, String user, String password, Map addressMap) {
HostConfig config = new HostConfig();
config.database = database;
config.user = user;
config.password = password;
- config.addressMap = addressMap;
+ config.address = addressMap;
return config;
}
@@ -59,11 +59,11 @@ public class HostConfig {
this.password = password;
}
- public Map getAddressMap() {
- return addressMap;
+ public Map getAddress() {
+ return address;
}
- public void setAddressMap(Map addressMap) {
- this.addressMap = addressMap;
+ public void setAddress(Map address) {
+ this.address = address;
}
}
diff --git a/orm/src/main/java/com/zfoo/orm/model/config/OrmConfig.java b/orm/src/main/java/com/zfoo/orm/model/config/OrmConfig.java
index 4dfabb47..58396ce3 100644
--- a/orm/src/main/java/com/zfoo/orm/model/config/OrmConfig.java
+++ b/orm/src/main/java/com/zfoo/orm/model/config/OrmConfig.java
@@ -13,6 +13,8 @@
package com.zfoo.orm.model.config;
+import java.util.List;
+
/**
* @author jaysunxiao
* @version 3.0
@@ -23,11 +25,11 @@ public class OrmConfig {
private String entityPackage;
- private HostConfig hostConfig;
+ private HostConfig host;
- private CachesConfig cachesConfig;
+ private List caches;
- private PersistersConfig persistersConfig;
+ private List persisters;
public String getId() {
return id;
@@ -45,27 +47,27 @@ public class OrmConfig {
this.entityPackage = entityPackage;
}
- public HostConfig getHostConfig() {
- return hostConfig;
+ public HostConfig getHost() {
+ return host;
}
- public void setHostConfig(HostConfig hostConfig) {
- this.hostConfig = hostConfig;
+ public void setHost(HostConfig host) {
+ this.host = host;
}
- public CachesConfig getCachesConfig() {
- return cachesConfig;
+ public List getCaches() {
+ return caches;
}
- public void setCachesConfig(CachesConfig cachesConfig) {
- this.cachesConfig = cachesConfig;
+ public void setCaches(List caches) {
+ this.caches = caches;
}
- public PersistersConfig getPersistersConfig() {
- return persistersConfig;
+ public List getPersisters() {
+ return persisters;
}
- public void setPersistersConfig(PersistersConfig persistersConfig) {
- this.persistersConfig = persistersConfig;
+ public void setPersisters(List persisters) {
+ this.persisters = persisters;
}
}
diff --git a/orm/src/main/java/com/zfoo/orm/model/config/PersisterStrategy.java b/orm/src/main/java/com/zfoo/orm/model/config/PersisterStrategy.java
index 2459ebe7..a0372a3d 100644
--- a/orm/src/main/java/com/zfoo/orm/model/config/PersisterStrategy.java
+++ b/orm/src/main/java/com/zfoo/orm/model/config/PersisterStrategy.java
@@ -25,6 +25,9 @@ public class PersisterStrategy {
private String config;
+ public PersisterStrategy() {
+ }
+
public PersisterStrategy(String strategy, String type, String config) {
this.strategy = strategy;
this.config = config;
diff --git a/orm/src/main/java/com/zfoo/orm/model/config/PersistersConfig.java b/orm/src/main/java/com/zfoo/orm/model/config/PersistersConfig.java
deleted file mode 100644
index a887127f..00000000
--- a/orm/src/main/java/com/zfoo/orm/model/config/PersistersConfig.java
+++ /dev/null
@@ -1,33 +0,0 @@
-/*
- * Copyright (C) 2020 The zfoo Authors
- *
- * Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
- * in compliance with the License. You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software distributed under the License is distributed
- * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and limitations under the License.
- */
-
-package com.zfoo.orm.model.config;
-
-import java.util.List;
-
-/**
- * @author jaysunxiao
- * @version 3.0
- */
-public class PersistersConfig {
-
- private List persisterStrategies;
-
- public List getPersisterStrategies() {
- return persisterStrategies;
- }
-
- public void setPersisterStrategies(List persisterStrategies) {
- this.persisterStrategies = persisterStrategies;
- }
-}
diff --git a/orm/src/main/java/com/zfoo/orm/schema/OrmDefinitionParser.java b/orm/src/main/java/com/zfoo/orm/schema/OrmDefinitionParser.java
index 57122838..0d762f02 100644
--- a/orm/src/main/java/com/zfoo/orm/schema/OrmDefinitionParser.java
+++ b/orm/src/main/java/com/zfoo/orm/schema/OrmDefinitionParser.java
@@ -16,7 +16,10 @@ package com.zfoo.orm.schema;
import com.zfoo.orm.OrmContext;
import com.zfoo.orm.manager.OrmManager;
import com.zfoo.orm.model.accessor.MongodbAccessor;
-import com.zfoo.orm.model.config.*;
+import com.zfoo.orm.model.config.CacheStrategy;
+import com.zfoo.orm.model.config.HostConfig;
+import com.zfoo.orm.model.config.OrmConfig;
+import com.zfoo.orm.model.config.PersisterStrategy;
import com.zfoo.orm.model.query.MongodbQuery;
import com.zfoo.protocol.util.DomUtils;
import com.zfoo.protocol.util.StringUtils;
@@ -42,7 +45,7 @@ public class OrmDefinitionParser implements BeanDefinitionParser {
String name;
BeanDefinitionBuilder builder;
- // 注册NetConfig
+ // 注册OrmConfig
parseOrmConfig(element, parserContext);
// 注册OrmSpringContext
@@ -81,13 +84,15 @@ public class OrmDefinitionParser implements BeanDefinitionParser {
resolvePlaceholder("entity-package", "entityPackage", builder, element, parserContext);
parseHostConfig(DomUtils.getFirstChildElementByTagName(element, "host"), parserContext);
- builder.addPropertyReference("hostConfig", HostConfig.class.getCanonicalName());
+ builder.addPropertyReference("host", HostConfig.class.getCanonicalName());
- parseCaches(DomUtils.getFirstChildElementByTagName(element, "caches"), parserContext);
- builder.addPropertyReference("cachesConfig", CachesConfig.class.getCanonicalName());
+ // 解析caches标签
+ var caches = parseCacheStrategies(DomUtils.getFirstChildElementByTagName(element, "caches"), parserContext);
+ builder.addPropertyValue("caches", caches);
- parsePersisters(DomUtils.getFirstChildElementByTagName(element, "persisters"), parserContext);
- builder.addPropertyReference("persistersConfig", PersistersConfig.class.getCanonicalName());
+ // 解析persisters标签
+ var persisters = parsePersisterStrategies(DomUtils.getFirstChildElementByTagName(element, "persisters"), parserContext);
+ builder.addPropertyValue("persisters", persisters);
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
}
@@ -103,34 +108,11 @@ public class OrmDefinitionParser implements BeanDefinitionParser {
resolvePlaceholder("password", "password", builder, element, parserContext);
var addressMap = parseAddress(element, parserContext);
- builder.addPropertyValue("addressMap", addressMap);
+ builder.addPropertyValue("address", addressMap);
parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
}
-
- private void parseCaches(Element element, ParserContext parserContext) {
- // 解析caches标签
- var clazz = CachesConfig.class;
- var builder = BeanDefinitionBuilder.rootBeanDefinition(clazz);
-
- var cacheStrategies = parseCacheStrategies(element, parserContext);
- builder.addPropertyValue("cacheStrategies", cacheStrategies);
- parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
- }
-
-
- private void parsePersisters(Element element, ParserContext parserContext) {
- // 解析persisters标签
- var clazz = PersistersConfig.class;
- var builder = BeanDefinitionBuilder.rootBeanDefinition(clazz);
-
- var persisterStrategies = parsePersisterStrategies(element, parserContext);
- builder.addPropertyValue("persisterStrategies", persisterStrategies);
- parserContext.getRegistry().registerBeanDefinition(clazz.getCanonicalName(), builder.getBeanDefinition());
- }
-
-
private ManagedList parseCacheStrategies(Element element, ParserContext parserContext) {
var cacheStrategiesElementList = DomUtils.getChildElementsByTagName(element, "cache");
var cacheStrategies = new ManagedList();
diff --git a/pom.xml b/pom.xml
index e5dd2ad5..acf115af 100644
--- a/pom.xml
+++ b/pom.xml
@@ -24,6 +24,7 @@
+ boot
event
hotswap
monitor
@@ -38,6 +39,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/protocol/pom.xml b/protocol/pom.xml
index cc24b621..9001ea09 100644
--- a/protocol/pom.xml
+++ b/protocol/pom.xml
@@ -13,6 +13,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/scheduler/pom.xml b/scheduler/pom.xml
index 70470d43..f6f659b4 100644
--- a/scheduler/pom.xml
+++ b/scheduler/pom.xml
@@ -13,6 +13,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/storage/pom.xml b/storage/pom.xml
index f949f7f4..46fe51c6 100644
--- a/storage/pom.xml
+++ b/storage/pom.xml
@@ -13,6 +13,7 @@
+ 3.0
3.0
3.0
3.0
diff --git a/storage/src/main/java/com/zfoo/storage/StorageContext.java b/storage/src/main/java/com/zfoo/storage/StorageContext.java
index 36ab5f84..fbacd23e 100644
--- a/storage/src/main/java/com/zfoo/storage/StorageContext.java
+++ b/storage/src/main/java/com/zfoo/storage/StorageContext.java
@@ -13,7 +13,6 @@
package com.zfoo.storage;
-import com.zfoo.protocol.util.StringUtils;
import com.zfoo.scheduler.model.StopWatch;
import com.zfoo.storage.interpreter.IResourceReader;
import com.zfoo.storage.manager.IStorageManager;
@@ -24,9 +23,7 @@ import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ApplicationContextEvent;
import org.springframework.context.event.ContextClosedEvent;
import org.springframework.context.event.ContextRefreshedEvent;
-import org.springframework.context.support.ConversionServiceFactoryBean;
import org.springframework.core.Ordered;
-import org.springframework.core.convert.ConversionService;
/**
* @author jaysunxiao
@@ -44,8 +41,6 @@ public class StorageContext implements ApplicationListener();
+ converters.add(new JsonToArrayConverter());
+ converters.add(new JsonToMapConverter());
+ converters.add(new JsonToObjectConverter());
+ converters.add(new StringToClassConverter());
+ converters.add(new StringToDateConverter());
+ converters.add(new StringToMapConverter());
+ conversionServiceFactoryBean.setConverters(converters);
+ conversionServiceFactoryBean.afterPropertiesSet();
+ }
+
@Override
public List read(InputStream inputStream, Class clazz) {
var wb = createWorkbook(inputStream, clazz);
@@ -90,7 +105,7 @@ public class ExcelResourceReader implements IResourceReader {
private void inject(Object instance, Field field, String content) {
try {
var targetType = new TypeDescriptor(field);
- var value = StorageContext.getConversionService().convert(content, TYPE_DESCRIPTOR, targetType);
+ var value = conversionServiceFactoryBean.getObject().convert(content, TYPE_DESCRIPTOR, targetType);
ReflectionUtils.makeAccessible(field);
ReflectionUtils.setField(field, instance, value);
} catch (Exception e) {
diff --git a/storage/src/main/java/com/zfoo/storage/schema/StorageDefinitionParser.java b/storage/src/main/java/com/zfoo/storage/schema/StorageDefinitionParser.java
index 54362937..9a0f2577 100644
--- a/storage/src/main/java/com/zfoo/storage/schema/StorageDefinitionParser.java
+++ b/storage/src/main/java/com/zfoo/storage/schema/StorageDefinitionParser.java
@@ -19,17 +19,12 @@ import com.zfoo.storage.StorageContext;
import com.zfoo.storage.interpreter.ExcelResourceReader;
import com.zfoo.storage.manager.StorageManager;
import com.zfoo.storage.model.config.StorageConfig;
-import com.zfoo.storage.strategy.*;
import org.springframework.beans.factory.support.AbstractBeanDefinition;
import org.springframework.beans.factory.support.BeanDefinitionBuilder;
import org.springframework.beans.factory.xml.BeanDefinitionParser;
import org.springframework.beans.factory.xml.ParserContext;
-import org.springframework.context.support.ConversionServiceFactoryBean;
import org.w3c.dom.Element;
-import java.util.ArrayList;
-import java.util.List;
-
/**
* @author jaysunxiao
* @version 3.0
@@ -97,20 +92,6 @@ public class StorageDefinitionParser implements BeanDefinitionParser {
name = StringUtils.uncapitalize(clazz.getName());
builder = BeanDefinitionBuilder.rootBeanDefinition(clazz);
registry.registerBeanDefinition(name, builder.getBeanDefinition());
-
- // 注入ConversionServiceFactoryBean
- clazz = ConversionServiceFactoryBean.class;
- name = StringUtils.uncapitalize(clazz.getName());
- builder = BeanDefinitionBuilder.rootBeanDefinition(clazz);
- List