@Override public void configure(final Env env, final Config conf, final Binder binder) { configure(env, conf, binder, (uri, client) -> { String db = uri.getDatabase(); Mapper mapper = new Mapper(); Morphia morphia = new Morphia(mapper); if (this.morphiaCbck != null) { this.morphiaCbck.accept(morphia, conf); } Datastore datastore = morphia.createDatastore(client, mapper, db); if (gen != null) { mapper.addInterceptor(new AutoIncID(datastore, gen)); } if (callback != null) { callback.accept(datastore); } ServiceKey serviceKey = env.serviceKey(); serviceKey.generate(Morphia.class, db, k -> binder.bind(k).toInstance(morphia)); serviceKey.generate(Datastore.class, db, k -> binder.bind(k).toInstance(datastore)); env.onStart(registry -> new GuiceObjectFactory(registry, morphia)); }); }
public static Datastore getDataStore(Config config) { String[] addresses = config.getParameter(ExtConfig.MONGO_ADDRESSES, new String[]{"127.0.0.1:27017"}); String database = config.getParameter(ExtConfig.MONGO_DATABASE, "lts"); String username = config.getParameter(ExtConfig.MONGO_USERNAME); String pwd = config.getParameter(ExtConfig.MONGO_PASSWORD); String cachedKey = StringUtils.concat(StringUtils.concat(addresses), database, username, pwd); Datastore datastore = DATA_STORE_MAP.get(cachedKey); if (datastore == null) { try { synchronized (lock) { datastore = DATA_STORE_MAP.get(cachedKey); if (datastore != null) { return datastore; } Morphia morphia = new Morphia(); MongoFactoryBean mongoFactoryBean = new MongoFactoryBean(addresses, username, database, pwd); MongoClient mongo = mongoFactoryBean.createInstance(); datastore = morphia.createDatastore(mongo, database); DATA_STORE_MAP.put(cachedKey, datastore); } } catch (Exception e) { throw new IllegalStateException( StringUtils.format("connect mongo failed! addresses: {}, database: {}", addresses, database), e); } } return datastore; }
public static Datastore getDataStore(Config config) { String[] addresses = config.getParameter(ExtConfig.MONGO_ADDRESSES, new String[]{"127.0.0.1:27017"}); String database = config.getParameter(ExtConfig.MONGO_DATABASE, "lts"); String username = config.getParameter(ExtConfig.MONGO_USERNAME); String pwd = config.getParameter(ExtConfig.MONGO_PASSWORD); String cachedKey = StringUtils.concat(StringUtils.concat(addresses), database, username, pwd); Datastore datastore = DATA_STORE_MAP.get(cachedKey); if (datastore == null) { try { synchronized (lock) { datastore = DATA_STORE_MAP.get(cachedKey); if (datastore != null) { return datastore; } Morphia morphia = new Morphia(); MongoFactoryBean mongoFactoryBean = new MongoFactoryBean(addresses, username, database, pwd); MongoClient mongo = mongoFactoryBean.createInstance(); datastore = morphia.createDatastore(mongo, database); DATA_STORE_MAP.put(cachedKey, datastore); } } catch (Exception e) { throw new IllegalStateException( StringUtils.format("connect mongo failed! addresses: {}, database: {}", addresses, database), e); } } return datastore; }
@Configuration @PropertySource("classpath:mongo.properties") public class AppConfig{ // some methods ... @Bean public Mongo mongo(@Value("${mongo.host.addr}")String host,@Value("${mongo.host.port}")int port){ return new Mongo(host,port); } @Bean public Morphia morphia(){ return new Morphia(); } }
public MongoManaged (MongoConfiguration mongoConfig) throws Exception { mongoClient = new MongoClient(mongoConfig.host, mongoConfig.port); datastore = new Morphia().createDatastore(mongoClient, mongoConfig.db); }
private Datastore datastore() { return new Morphia().createDatastore(this.mongoClient, this.databaseName); }
@Provides public Datastore providesMorphiaDatastore(Mongo mongo, DatastoreConfig datastoreConfig) { String dbName = datastoreConfig.getProperty("dbName", String.class); if (dbName == null || dbName.isEmpty()) { dbName = "streamflow"; } return new Morphia().createDatastore(mongo, dbName); } }
Morphia morphia = new Morphia(); morphia.map(Person.class); /* You can reuse this datastore */ Datastore datastore = morphia.createDatastore(mongoClient, "myDatabase"); /* * Jackson's ObjectMapper, which is reusable, too, * does all the magic. */ ObjectMapper mapper = new ObjectMapper();
/** * Default . * * @param mongo mongo * @param db mongo database. * @param entity_package entity package name. */ private MorphiaKit(final MongoClient mongo, final String db, String entity_package) { Preconditions.checkNotNull(mongo, "the mongo object is not null. "); Preconditions.checkNotNull(db, "the mongodb database name is not null."); Morphia morphia = new Morphia(); _datastore = morphia.createDatastore(mongo, db); morphia.mapPackage(entity_package); }
private Datastore datastore() { Morphia morphia = new Morphia(); if (this.client == null) { this.createMongoClient(); } return morphia.createDatastore(this.client, this.databaseName); }
private Datastore datastore() { Morphia morphia = new Morphia(); return morphia.createDatastore(createMongoClient(), this.databaseName); }
public MongoDbBuildingEntityGateway(MongoClient mongo) { Morphia morphia = new Morphia(); morphia.mapPackage("be.insaneprogramming.cleanarch.entitygatewayimpl.morphia"); this.datastore = morphia.createDatastore(mongo, "cleanarch"); }
MongoClient mongoClient = new MongoClient(new MongoClientURI("mongodb://localhost")); Morphia morphia = new Morphia(); morphia.map(LookupData.class); //lookupdata collection is under my local db "tutorials" in this case Datastore datastore = morphia.createDatastore(mongoClient, "tutorials"); Map<String,ArrayList> categotyLookUpMap = new HashMap<String,ArrayList>(); LookupData lookupData = datastore.find(LookupData.class).get(); categotyLookUpMap.put(lookupData.getKey(), lookupData.getValue());
Morphia morphia = new Morphia(); Datastore datastore = morphia.createDatastore(new MongoClient(), "test"); Person johnDoe = new Person("John", "Doe"); //saves John Doe on DB datastore.save(johnDoe); //retrieves all people whose first name is John List<Person> people = datastore.createQuery(Person.class).filter("firstName", "John").asList(); System.out.println(people.size()); //prints 1 Person person = people.get(0); System.out.println(person); //prints John Doe
final Morphia morphia = new Morphia(); // tell Morphia where to find your classes // can be called multiple times with different packages or classes morphia.mapPackage("org.mongodb.morphia.example"); // create the Datastore connecting to the default port on the local host final Datastore datastore = morphia.createDatastore(new MongoClient(), "morphia_example"); datastore.ensureIndexes();
@Provides @Singleton Datastore provideDatastore(final Mongo mongo) { final String databaseName = SetupConfig.get().getDbName(); final Mapper mapper = new JenkinsMapper(); final Morphia morphia = new Morphia(mapper); return morphia.createDatastore(mongo, databaseName); } }
@SuppressWarnings("rawtypes") protected void initDatabase() { Mapper mapper = createMapper(); Set<Class> classObjs = new HashSet<>(); managedTypes = new LinkedList<>(); schema.findObjectTypes(managedTypes); classObjs.addAll(managedTypes); morhia = new Morphia(mapper, classObjs ); datastore = morhia.createDatastore(client, schema.getDatabaseName()); datastore.ensureIndexes(); }
/** * 创建mongodb连接 * * @param configPath */ public void createConnect(String configPath) { mongoConfig = FileUtil.getConfigXML(configPath, "mongoClientConfig.xml", MongoClientConfig.class); if (mongoConfig == null) { throw new RuntimeException(String.format("mongodb 配置文件 %s/MongoClientConfig.xml 未找到", configPath)); } MongoClientURI uri = new MongoClientURI(mongoConfig.getUrl()); mongoClient = new MongoClient(uri); morphia = new Morphia(); morphia.mapPackage(""); initDao(); }
@Configuration public class MorphiaAutoConfiguration { @Autowired private MongoClient mongoClient; // created from MongoAutoConfiguration @Bean public Datastore datastore() { Morphia morphia = new Morphia(); // map entities, there is maybe a better way to find and map all entities ClassPathScanningCandidateComponentProvider entityScanner = new ClassPathScanningCandidateComponentProvider(true); entityScanner.addIncludeFilter(new AnnotationTypeFilter(Entity.class)); for (BeanDefinition candidate : scanner.findCandidateComponents("your.basepackage")) { // from properties? morphia.map(Class.forName(candidate.getBeanClassName())); } return morphia.createDatastore(mongoClient, "dataStoreInstanceId"); // "dataStoreInstanceId" may come from properties? } }
private MongoStoreProvider(List<ServerAddress> hosts, List<MongoCredential> credentials, MongoClientOptions options, String database) { final Morphia morphia = new Morphia(); morphia.getMapper().getOptions().setStoreEmpties(true); morphia.getMapper().getConverters().addConverter(DateTimeConverter.class); client = options == null ? new MongoClient(hosts, credentials) : new MongoClient(hosts, credentials, options); final AdvancedDatastore ds = (AdvancedDatastore) morphia.createDatastore(client, database); final RevisionManager revisionManager = new RevisionManager(ds); this.store = new MongoExperimentsStore(ds, revisionManager); this.cache = new MongoExperimentsCache(ds, revisionManager); }