瀏覽代碼

fix shard dependency

tags/2.0.1
Jonathan Cobb 3 年之前
父節點
當前提交
329c22899d
共有 3 個文件被更改,包括 6 次插入17 次删除
  1. +3
    -6
      wizard-server/src/main/java/org/cobbzilla/wizard/dao/shard/AbstractShardedDAO.java
  2. +1
    -9
      wizard-server/src/main/java/org/cobbzilla/wizard/server/config/DatabaseConfiguration.java
  3. +2
    -2
      wizard-server/src/main/java/org/cobbzilla/wizard/server/config/DatabaseShardConfiguration.java

+ 3
- 6
wizard-server/src/main/java/org/cobbzilla/wizard/dao/shard/AbstractShardedDAO.java 查看文件

@@ -8,13 +8,13 @@ import org.cobbzilla.util.reflect.ReflectionUtil;
import org.cobbzilla.wizard.cache.redis.HasRedisConfiguration;
import org.cobbzilla.wizard.cache.redis.RedisService;
import org.cobbzilla.wizard.dao.DAO;
import org.cobbzilla.wizard.model.search.SearchResults;
import org.cobbzilla.wizard.dao.shard.cache.ShardCacheableFindByUnique2FieldFinder;
import org.cobbzilla.wizard.dao.shard.cache.ShardCacheableFindByUnique3FieldFinder;
import org.cobbzilla.wizard.dao.shard.cache.ShardCacheableIdentityFinder;
import org.cobbzilla.wizard.dao.shard.cache.ShardCacheableUniqueFieldFinder;
import org.cobbzilla.wizard.dao.shard.task.*;
import org.cobbzilla.wizard.model.search.SearchQuery;
import org.cobbzilla.wizard.model.search.SearchResults;
import org.cobbzilla.wizard.model.shard.ShardIO;
import org.cobbzilla.wizard.model.shard.ShardMap;
import org.cobbzilla.wizard.model.shard.ShardRange;
@@ -22,10 +22,7 @@ import org.cobbzilla.wizard.model.shard.Shardable;
import org.cobbzilla.wizard.server.ApplicationContextConfig;
import org.cobbzilla.wizard.server.CustomBeanResolver;
import org.cobbzilla.wizard.server.RestServer;
import org.cobbzilla.wizard.server.config.DatabaseConfiguration;
import org.cobbzilla.wizard.server.config.HasDatabaseConfiguration;
import org.cobbzilla.wizard.server.config.RestServerConfiguration;
import org.cobbzilla.wizard.server.config.ShardSetConfiguration;
import org.cobbzilla.wizard.server.config.*;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.ApplicationContext;
import org.springframework.transaction.annotation.Transactional;
@@ -104,7 +101,7 @@ public abstract class AbstractShardedDAO<E extends Shardable, D extends SingleSh
protected String getSpringShardContextPath() { return "spring-shard.xml"; }

public abstract ShardSetConfiguration getShardConfiguration();
protected abstract DatabaseConfiguration getMasterDbConfiguration();
protected abstract DatabaseShardConfiguration getMasterDbConfiguration();
protected abstract ShardMapDAO getShardDAO();

public AbstractShardedDAO() {


+ 1
- 9
wizard-server/src/main/java/org/cobbzilla/wizard/server/config/DatabaseConfiguration.java 查看文件

@@ -5,8 +5,6 @@ import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;
import org.cobbzilla.util.collection.SingletonSet;
import org.cobbzilla.wizard.model.shard.ShardMap;
import org.cobbzilla.wizard.model.shard.Shardable;

import java.sql.Connection;
import java.sql.DriverManager;
@@ -51,18 +49,12 @@ public class DatabaseConfiguration {
return DriverManager.getConnection(url, user, password);
}

public DatabaseConfiguration getShardDatabaseConfiguration(ShardMap map) { return this; }

// Use DatabaseShardConfiguration if you want sharding
public boolean hasShards() { return false; }

@Getter(lazy=true) private final Set<String> shardSetNames = initShardSetNames();

public static final String DEFAULT_SHARD = "getShardSetName:default";

protected Set<String> initShardSetNames() { return new SingletonSet<>(DEFAULT_SHARD); }

public <E extends Shardable> String getShardSetName(Class<E> entityClass) { return DEFAULT_SHARD; }

public void setDatabaseName(String dbName) {
final String url = getUrl();
final int lastSlash = url.lastIndexOf('/');


+ 2
- 2
wizard-server/src/main/java/org/cobbzilla/wizard/server/config/DatabaseShardConfiguration.java 查看文件

@@ -23,7 +23,7 @@ public class DatabaseShardConfiguration extends DatabaseConfiguration {
return null;
}

@Override public DatabaseConfiguration getShardDatabaseConfiguration(ShardMap map) {
public DatabaseConfiguration getShardDatabaseConfiguration(ShardMap map) {
final DatabaseConfiguration config = new DatabaseConfiguration();
config.setDriver(driver);
config.setUrl(map.getUrl());
@@ -52,7 +52,7 @@ public class DatabaseShardConfiguration extends DatabaseConfiguration {
return ShardSetConfiguration.DEFAULT_LOGICAL_SHARDS;
}

@Override public <E extends Shardable> String getShardSetName(Class<E> entityClass) {
public <E extends Shardable> String getShardSetName(Class<E> entityClass) {
if (empty(shard)) return null;
for (ShardSetConfiguration config : shard) {
if (config.getEntity().equals(entityClass.getName())) return config.getName();


Loading…
取消
儲存