1. dependancy
compile('org.springframework.boot:spring-boot-starter-data-mongodb')
2. config
# mongodb
spring.data.mongodb.host=***.mongodb.rds.aliyuncs.com
spring.data.mongodb.port=***17
spring.data.mongodb.authentication-database=admin
spring.data.mongodb.username=username
spring.data.mongodb.password=pwd
spring.data.mongodb.database=yourappname
3. code:
@Slf4j
@Service
public class LogQueryService {
@Autowired
private MongoTemplate mongoTemplate;
public List<LogDoc> queryBy(String bizName, String bizKey) {
if (StringUtils.isEmpty(bizName) && StringUtils.isEmpty(bizKey)) {
return Lists.newArrayList();
}
Query query = null;
if (StringUtils.isNotEmpty(bizKey)) {
query = Query.query(Criteria.where("bizKey").is(bizKey));
} else if (StringUtils.isNotEmpty(bizName)) {
query = Query.query(Criteria.where("bizName").is(bizName));
}
List<LogDoc> list = mongoTemplate.find(query, LogDoc.class);
return list;
}
}
public void logIt(InputDto inputDto, ResponseDto response) {
try {
LogDoc logDoc = new LogDoc();
logDoc.setHostService("xxxxx");
logDoc.setBizKey(inputDto.getPrimaryKey());
logDoc.setBizName("BizTypeDesc");
logDoc.setCreateDate(new Date());
logDoc.setReceiveObj(inputDto);
logDoc.setSendObj(response);
mongoTemplate.save(logDoc);
} catch (Exception e) {
log.error("Log error...continue biz...", e);
}
}
@NoArgsConstructor
@AllArgsConstructor
@Getter
@Setter
@Document(collection="LogDoc")
public class LogDoc {
private String hostService;
private String bizName; // 業務名稱
private String bizKey; //業務主鍵
private Date createDate;
/**
* 系統發送對象
*/
private Object sendObj;
/**
* 系統接收對象
*/
private Object receiveObj;
}