12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152 |
- package com.yihu.hos.services;
- import com.yihu.hos.models.BrokerServer;
- import org.apache.log4j.LogManager;
- import org.apache.log4j.Logger;
- import org.springframework.beans.factory.annotation.Autowired;
- import org.springframework.data.domain.Sort;
- import org.springframework.data.mongodb.core.MongoOperations;
- import org.springframework.data.mongodb.core.query.Criteria;
- import org.springframework.data.mongodb.core.query.Query;
- import org.springframework.data.mongodb.core.query.Update;
- import org.springframework.stereotype.Service;
- /**
- * @created Airhead 2016/7/27.
- */
- @Service
- public class BrokerServerService {
- private static final Logger logger = LogManager.getLogger(BrokerServerService.class);
- @Autowired
- private MongoOperations mongoOperations;
- public void save(BrokerServer brokerServer) {
- Query query = new Query();
- query.addCriteria(Criteria.where("hostName").is(brokerServer.getHostName()));
- query.addCriteria(Criteria.where("hostAddress").is(brokerServer.getHostAddress()));
- Update update = new Update();
- update.set("hostName", brokerServer.getHostName());
- update.set("hostAddress", brokerServer.getHostAddress());
- update.set("port", brokerServer.getPort());
- update.set("updateTime", brokerServer.getUpdateTime());
- mongoOperations.upsert(query, update, BrokerServer.class);
- }
- /**
- * 暂不提供动态均衡算法,只是随机返回一个。
- *
- * @return
- */
- public BrokerServer get() {
- Query query = new Query();
- query.with(new Sort(new Sort.Order(Sort.Direction.DESC, "updateTime")));
- return mongoOperations.findOne(query, BrokerServer.class);
- }
- public void delete(BrokerServer brokerServer) {
- mongoOperations.remove(brokerServer);
- }
- }
|