sql >> Databasteknik >  >> NoSQL >> MongoDB

Spring MongoDB Repository fungerar endast i vissa fall

Som mlk nämnde, problemet var med min singleton-implementering som orsakade problem med att fjädra behållaren. Jag har ändrat koden för DataMapsFactory till:

package com.njugroup.flotilla.domain.factories;

import com.njugroup.flotilla.domain.maps.TermsMap;
import com.njugroup.flotilla.repository.TermsMapRepository;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

import java.util.Optional;

@Component
public class DataMapsFactory{

    private final Logger log = LoggerFactory.getLogger(TermsMapsFactory.class);

    @Autowired
    private TermsMapRepository termsMapRepository;

    public TermsMap getDataMapForVehicle(String id) {
        log.debug("Getting data map for: "+id);
        try {
            Optional<TermsMap> map = Optional.ofNullable(termsMapRepository.findOneByEntityId(id));
            log.debug("fetched map: "+map);
            return map.get();
        } catch (Exception e) {
            e.printStackTrace();
            return null;

        }
    }
}

Nu fungerar det som en smäck.




  1. hur släpper man cachningen som används av Mongodb?

  2. Hur registrerar man ClassMap för alla klasser i ett namnområde för MongoDb?

  3. Uppdatera underdokument i Mongodb som lagrar id(n)

  4. MongoDB dump från 3.2, återställ med 3.4, felindex säker =null