Я использую
openjdk 8
pom.xml содержит все зависимости
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb-reactive</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-mongodb</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-rest</artifactId>
</dependency>
класс документа для человека
@Document
public class Person {
@Id
private String id;
private String name;
private int age;
public Person() {
// TODO Auto-generated constructor stub
}
public Person(String id, String name, int age) {
super();
this.id = id;
this.name = name;
this.age = age;
}
//getter setter
}
реактивный репозиторий
public interface PersonRepository extends ReactiveMongoRepository<Person, String> {
}
конфигурация для предоставления монго URL.я могу видеть с помощью этой конфигурации, я могу подключиться из приложения.
@Configuration
public class MongoReactiveConfig extends AbstractReactiveMongoConfiguration {
Logger logger = LoggerFactory.getLogger(MongoReactiveConfig.class);
@Value("${MONGO_HOST}")
private String mongohost;
@Value("${MONGO_DATABASE}")
private String mongoDatabase;
@Value("${MONGO_USERNAME}")
private String mongoUserName;
@Value("${MONGO_USER_PASSWORD}")
private String mongoPassword;
/**
*
*/
public MongoReactiveConfig() {
// TODO Auto-generated constructor stub
}
@Override
public MongoClient reactiveMongoClient() {
String url="mongodb://"+mongoUserName+":"+mongoPassword+"@"+mongohost+":27017/"+mongoDatabase;
logger.info("dburl "+url);
return MongoClients.create(url);
}
@Override
protected String getDatabaseName() {
return mongoDatabase;
}
}
, когда я пытаюсь сохранить документ, я не вижу, что идентификатор заполнен.даже когда я пытаюсь найти все, я получаю пустой список
personRepository.save(person);
logger.info("after persisting person "+person);
List<Person> result=personRepository.findAll().collectList().block();
logger.info("result for findAll "+result);
не уверен, что мне не хватает чего-то, но я не могу получить какой-либо результат.