在过去的一周中,我一直在努力将Spring Data MongoDB成功集成到我们的应用程序中。我们使用相当普遍的做法,即为我们依赖的每个集合使用单独的数据库。例如,TenantConfiguration数据库仅包含TenantConfigurations集合。
我已经阅读了几次文档,并在代码中搜寻了一个解决方案,但没有发现任何问题。这样一个被广泛采用的项目肯定可以解决这个问题吗?我当前的尝试如下所示:
@Configuration
@EnableMongoRepositories(basePackages = "com.whatever.service.repository",
basePackageClasses = TenantConfigurationRepository.class,
mongoTemplateRef = "tenantConfigurationTemplate")
public class TenantConfigurationRepositoryConfig {
@Value("${mongo.hosts}")
private List<String> mongoHosts;
@Bean
public MongoTemplate tenantConfigurationTemplate() throws Exception {
final List<ServerAddress> serverAddresses = new ArrayList<>();
for (String host : mongoHosts) {
serverAddresses.add(new ServerAddress(host, 27017));
}
final MongoClientOptions clientOptions = new MongoClientOptions.Builder()
.connectTimeout(25000)
.readPreference(ReadPreference.primaryPreferred())
.build();
final MongoClient client = new MongoClient(serverAddresses, clientOptions);
return new MongoTemplate(client, "TenantConfiguration");
}
}
Run Code Online (Sandbox Code Playgroud)
这是其他单个存储库配置之一:
@Configuration
@EnableMongoRepositories(basePackages = "com.whatever.service.repository",
basePackageClasses = RegisteredCardRepository.class,
mongoTemplateRef = "registeredCardTemplate")
public class …Run Code Online (Sandbox Code Playgroud) #include <iostream>
using namespace std;
int main(){
int findMax(int *);
const int MAX = 100;
int values[MAX];
char ivals[256];
// Get the space-separated values from user input.
cin.getline(ivals, 256, '0');
char *helper;
// Clean input array and transfer it to values.
for(int i = 0; i < (MAX) && ivals[i] != 0; i++){
helper = ivals[i * 2];
values[i] = atoi(helper);
}
int mval = findMax(values);
cout << values << endl << mval;
return 0;
}
//Function to find the …Run Code Online (Sandbox Code Playgroud)