sql >> Databáze >  >> NoSQL >> MongoDB

Spring Mongo Populator jeden po druhém

Pro váš požadavek neexistuje žádná integrovaná podpora, ale můžete ji snadno poskytnout vyladěním několika tříd.

Přidat vlastní čtečku Jackson 2

public class CustomJackson2ResourceReader implements ResourceReader {

    private static final Logger logger = LoggerFactory.getLogger(CustomJackson2ResourceReader.class);

    private final Jackson2ResourceReader resourceReader = new Jackson2ResourceReader();

    @Override
    public Object readFrom(Resource resource, ClassLoader classLoader) throws Exception {
        Object result;
        try {
            result = resourceReader.readFrom(resource, classLoader);
        } catch(Exception e) {
            logger.warn("Can't read from resource", e);
            return Collections.EMPTY_LIST;
        }
        return result;
    }
}

Přidejte Custom Jackson 2 Populator

public class CustomJackson2RepositoryPopulatorFactoryBean extends Jackson2RepositoryPopulatorFactoryBean {
    @Override
    protected ResourceReader getResourceReader() {
        return new CustomJackson2ResourceReader();
    }
}

Konfigurace

@SpringBootApplication
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }

    @Bean
    public AbstractRepositoryPopulatorFactoryBean repositoryPopulator(ObjectMapper objectMapper, KeyValueRepository keyValueRepository) {
        Jackson2RepositoryPopulatorFactoryBean factory = new CustomJackson2RepositoryPopulatorFactoryBean();
        keyValueRepository.deleteAll();
        factory.setMapper(objectMapper);
        factory.setResources(new Resource[]{new ClassPathResource("badclassname.json"), new ClassPathResource("good.json"), new ClassPathResource("malformatted.json")});
        return factory;
    }

}

Nahrál jsem funkční příklad sem



  1. Chcete-li být explicitní, použijte „MongoMappingContext#setAutoIndexCreation(boolean)“ nebo přepište „MongoConfigurationSupport#autoIndexCreation()“

  2. Dostávám tuto chybu, které nerozumím proč, pomocí NoRM a Mongo v mém projektu MVC

  3. Jak agregovat na obrovském poli v mongoDB?

  4. Vytvoření jednoduché webové aplikace CRUD a úložiště obrázků pomocí Cloudera Operational Database a Flask