修改多数据源为单数据源。将动态航班信息存储到redis

This commit is contained in:
zhouxiunai
2018-12-03 15:27:53 +08:00
parent 34226a0065
commit f214d7a964
36 changed files with 73 additions and 244 deletions
@@ -1,28 +0,0 @@
package com.gzzn.omms.msgexchangeapi.config;
import javax.sql.DataSource;
import org.springframework.boot.autoconfigure.jdbc.DataSourceBuilder;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
@Configuration
public class DataSourceConfig {
@Bean(name = "primaryDataSource")
@Primary
@ConfigurationProperties(prefix="spring.datasource.primary")
public DataSource primaryDataSource()
{
return DataSourceBuilder.create().build();
}
@Bean(name = "secondaryDataSource")
@ConfigurationProperties(prefix="spring.datasource.secondary")
public DataSource secondaryDataSource()
{
return DataSourceBuilder.create().build();
}
}
@@ -1,70 +0,0 @@
package com.gzzn.omms.msgexchangeapi.config;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.Primary;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef="entityManagerFactoryPrimary",
transactionManagerRef="transactionManagerPrimary",
basePackages= { "com.gzzn.omms.msgexchangeapi.domain.primary.dao" }
) //设置Repository所在位置
public class PrimaryConfig
{
@Autowired
@Qualifier("primaryDataSource")
private DataSource primaryDataSource;
@Primary
@Bean(name = "entityManagerPrimary")
public EntityManager entityManager(EntityManagerFactoryBuilder builder)
{
return entityManagerFactoryPrimary(builder).getObject().createEntityManager();
}
@Primary
@Bean(name = "entityManagerFactoryPrimary")
public LocalContainerEntityManagerFactoryBean entityManagerFactoryPrimary (EntityManagerFactoryBuilder builder)
{
return builder
.dataSource(primaryDataSource)
.properties(getVendorProperties(primaryDataSource))
.packages("com.gzzn.omms.msgexchangeapi.domain.primary.entity") //设置实体类所在位置
.persistenceUnit("primaryPersistenceUnit")
.build();
}
@Autowired private JpaProperties jpaProperties;
private Map<String, String> getVendorProperties(DataSource dataSource)
{
return jpaProperties.getHibernateProperties(dataSource);
}
@Primary
@Bean(name = "transactionManagerPrimary")
public PlatformTransactionManager transactionManagerPrimary(EntityManagerFactoryBuilder builder)
{
return new JpaTransactionManager(entityManagerFactoryPrimary(builder).getObject());
}
}
@@ -1,64 +0,0 @@
package com.gzzn.omms.msgexchangeapi.config;
import java.util.Map;
import javax.persistence.EntityManager;
import javax.sql.DataSource;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.boot.autoconfigure.orm.jpa.JpaProperties;
import org.springframework.boot.orm.jpa.EntityManagerFactoryBuilder;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import org.springframework.data.jpa.repository.config.EnableJpaRepositories;
import org.springframework.orm.jpa.JpaTransactionManager;
import org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean;
import org.springframework.transaction.PlatformTransactionManager;
import org.springframework.transaction.annotation.EnableTransactionManagement;
@Configuration
@EnableTransactionManagement
@EnableJpaRepositories(
entityManagerFactoryRef="entityManagerFactorySecondary",
transactionManagerRef="transactionManagerSecondary",
basePackages= { "com.gzzn.omms.msgexchangeapi.domain.secondary.dao" }
) //设置Repository所在位置
public class SecondaryConfig
{
@Autowired
@Qualifier("secondaryDataSource")
private DataSource secondaryDataSource;
@Bean(name = "entityManagerSecondary")
public EntityManager entityManager(EntityManagerFactoryBuilder builder)
{
return entityManagerFactorySecondary(builder).getObject().createEntityManager();
}
@Bean(name = "entityManagerFactorySecondary")
public LocalContainerEntityManagerFactoryBean
entityManagerFactorySecondary (EntityManagerFactoryBuilder builder)
{
return builder
.dataSource(secondaryDataSource)
.properties(getVendorProperties(secondaryDataSource))
.packages("com.gzzn.omms.msgexchangeapi.domain.secondary.entity") //设置实体类所在位置
.persistenceUnit("secondaryPersistenceUnit")
.build();
}
@Autowired
private JpaProperties jpaProperties;
private Map<String, String> getVendorProperties(DataSource dataSource)
{
return jpaProperties.getHibernateProperties(dataSource);
}
@Bean(name = "transactionManagerSecondary")
PlatformTransactionManager transactionManagerSecondary(EntityManagerFactoryBuilder builder)
{
return new JpaTransactionManager(entityManagerFactorySecondary(builder).getObject());
}
}
@@ -6,8 +6,8 @@ import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.dto.ResponseDto;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
@RestController
@@ -1,11 +1,11 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
package com.gzzn.omms.msgexchangeapi.dao;
import java.util.Date;
import java.util.List;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
@@ -1,8 +1,8 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
package com.gzzn.omms.msgexchangeapi.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cmoutmsg;
import com.gzzn.omms.msgexchangeapi.entity.Cmoutmsg;
public interface CmoutmsgDao extends CrudRepository<Cmoutmsg, Long> {
@@ -1,9 +0,0 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context;
public interface ContextDao extends CrudRepository<Context, String> {
}
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity;
package com.gzzn.omms.msgexchangeapi.entity;
import java.io.Serializable;
import javax.persistence.*;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity;
package com.gzzn.omms.msgexchangeapi.entity;
import java.io.Serializable;
import javax.persistence.*;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg;
package com.gzzn.omms.msgexchangeapi.entity.msg;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg;
package com.gzzn.omms.msgexchangeapi.entity.msg;
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -1,12 +1,12 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd;
package com.gzzn.omms.msgexchangeapi.entity.msg.rqfd;
import java.util.Date;
import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Meta;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.entity.msg.Meta;
import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
@JacksonXmlRootElement(localName="MSG")
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd;
package com.gzzn.omms.msgexchangeapi.entity.msg.rqfd;
import com.fasterxml.jackson.annotation.JsonProperty;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
public class CHDT
{
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
public class CKDT
{
@@ -1,6 +1,6 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
public class DnldMsg extends Msg {
public static final String TYPE = "SCHD";
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
import java.util.List;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
public class ERUT
{
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
import java.util.List;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
public class GTDT
{
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
public class PSDT
{
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld;
package com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld;
public class ROUT
{
@@ -6,8 +6,8 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
@Service
@@ -0,0 +1,9 @@
package com.gzzn.omms.msgexchangeapi.redis.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.redis.entity.Context;
public interface ContextDao extends CrudRepository<Context, String> {
}
@@ -1,8 +1,8 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.dao;
package com.gzzn.omms.msgexchangeapi.redis.dao;
import org.springframework.data.repository.CrudRepository;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
public interface FlightInfoDao extends CrudRepository<FlightInfo, String>{
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.entity;
package com.gzzn.omms.msgexchangeapi.redis.entity;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -1,4 +1,4 @@
package com.gzzn.omms.msgexchangeapi.domain.secondary.entity;
package com.gzzn.omms.msgexchangeapi.redis.entity;
import javax.persistence.Entity;
import javax.persistence.Id;
@@ -10,7 +10,7 @@ import javax.persistence.Table;
*
*/
@Entity
@Table(name="flightschdinfo")
@Table(name="flightInfo")
public class FlightInfo {
@Id
@@ -8,12 +8,12 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner;
import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CmoutmsgDao;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cmoutmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd.RefdMsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd.RefdMsgBody;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context;
import com.gzzn.omms.msgexchangeapi.dao.CmoutmsgDao;
import com.gzzn.omms.msgexchangeapi.entity.Cmoutmsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.rqfd.RefdMsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.rqfd.RefdMsgBody;
import com.gzzn.omms.msgexchangeapi.redis.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.redis.entity.Context;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
@@ -8,9 +8,9 @@ import java.util.Optional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CminmsgDao;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
@Service
public class CminmsgServiceImpl implements ICminmsgService {
@@ -6,12 +6,11 @@ import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.schd.dnld.DnldMsg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.FlightInfoDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld.DnldMsg;
import com.gzzn.omms.msgexchangeapi.msghandler.MsgHandlerDispatcher;
import com.gzzn.omms.msgexchangeapi.redis.dao.FlightInfoDao;
import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
@Service
@@ -4,7 +4,7 @@ import java.util.Date;
import java.util.List;
import java.util.Optional;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
public interface ICminmsgService {
@@ -2,8 +2,8 @@ package com.gzzn.omms.msgexchangeapi.service;
import java.util.List;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
public interface IFlightInfoService {
/**
@@ -9,10 +9,10 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.redis.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.redis.entity.Context;
import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.service.IFlightInfoService;