修改多数据源为单数据源。将动态航班信息存储到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
+3
View File
@@ -130,6 +130,9 @@
<include>**/*.jar</include> <include>**/*.jar</include>
</includes> </includes>
</resource> </resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources> </resources>
</build> </build>
@@ -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.RequestMapping;
import org.springframework.web.bind.annotation.RestController; 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.dto.ResponseDto;
import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService; import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
@RestController @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.Date;
import java.util.List; import java.util.List;
import org.springframework.data.repository.CrudRepository; 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 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> { 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 java.io.Serializable;
import javax.persistence.*; 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 java.io.Serializable;
import javax.persistence.*; 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; 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.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonProperty; 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.Date;
import java.util.Locale; import java.util.Locale;
import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.annotation.JsonProperty;
import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement; import com.fasterxml.jackson.dataformat.xml.annotation.JacksonXmlRootElement;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Meta; import com.gzzn.omms.msgexchangeapi.entity.msg.Meta;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg; import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil; import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
@JacksonXmlRootElement(localName="MSG") @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; 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 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 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 class DnldMsg extends Msg {
public static final String TYPE = "SCHD"; 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; 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 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; 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 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 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 public class ROUT
{ {
@@ -6,8 +6,8 @@ import java.util.List;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg; import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo; import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService; import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
@Service @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 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>{ 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.Entity;
import javax.persistence.Id; 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.Entity;
import javax.persistence.Id; import javax.persistence.Id;
@@ -10,7 +10,7 @@ import javax.persistence.Table;
* *
*/ */
@Entity @Entity
@Table(name="flightschdinfo") @Table(name="flightInfo")
public class FlightInfo { public class FlightInfo {
@Id @Id
@@ -8,12 +8,12 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.CommandLineRunner; import org.springframework.boot.CommandLineRunner;
import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CmoutmsgDao; import com.gzzn.omms.msgexchangeapi.dao.CmoutmsgDao;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cmoutmsg; import com.gzzn.omms.msgexchangeapi.entity.Cmoutmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd.RefdMsg; import com.gzzn.omms.msgexchangeapi.entity.msg.rqfd.RefdMsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.rqfd.RefdMsgBody; import com.gzzn.omms.msgexchangeapi.entity.msg.rqfd.RefdMsgBody;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.ContextDao; import com.gzzn.omms.msgexchangeapi.redis.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context; import com.gzzn.omms.msgexchangeapi.redis.entity.Context;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService; import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil; 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.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CminmsgDao; import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg; import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
@Service @Service
public class CminmsgServiceImpl implements ICminmsgService { public class CminmsgServiceImpl implements ICminmsgService {
@@ -6,12 +6,11 @@ import java.util.stream.Collectors;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg; import com.gzzn.omms.msgexchangeapi.entity.msg.schd.dnld.DnldMsg;
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.msghandler.MsgHandlerDispatcher; 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; import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
@Service @Service
@@ -4,7 +4,7 @@ import java.util.Date;
import java.util.List; import java.util.List;
import java.util.Optional; import java.util.Optional;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
public interface ICminmsgService { public interface ICminmsgService {
@@ -2,8 +2,8 @@ package com.gzzn.omms.msgexchangeapi.service;
import java.util.List; import java.util.List;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo; import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
public interface IFlightInfoService { public interface IFlightInfoService {
/** /**
@@ -9,10 +9,10 @@ import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.secondary.dao.ContextDao; import com.gzzn.omms.msgexchangeapi.redis.dao.ContextDao;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Context; import com.gzzn.omms.msgexchangeapi.redis.entity.Context;
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.FlightInfo; import com.gzzn.omms.msgexchangeapi.redis.entity.FlightInfo;
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService; import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService; import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.service.IFlightInfoService; import com.gzzn.omms.msgexchangeapi.service.IFlightInfoService;
+8 -19
View File
@@ -1,24 +1,13 @@
spring: spring:
datasource: datasource:
primary: username: ommsxc
username: ommsxc password: ommsxc
password: ommsxc url: jdbc:oracle:thin:@130.120.3.236:1521/xe
url: jdbc:oracle:thin:@130.120.3.236:1521/xe driver: oracle.jdbc.driver.OracleDriver
driver: oracle.jdbc.driver.OracleDriver tomcat:
tomcat: max-active: 30
max-active: 30 test-on-borrow: true
test-on-borrow: true initial-size: 3
initial-size: 3
secondary:
username: ommsxc
password: ommsxc
url: jdbc:oracle:thin:@130.120.3.236:1521/xe
driver: oracle.jdbc.driver.OracleDriver
tomcat:
max-active: 30
test-on-borrow: true
initial-size: 3
kafka: kafka:
producer: producer:
retries: 0 retries: 0
@@ -25,9 +25,9 @@ import org.springframework.util.StringUtils;
import com.fasterxml.jackson.core.JsonParseException; import com.fasterxml.jackson.core.JsonParseException;
import com.fasterxml.jackson.databind.JsonMappingException; import com.fasterxml.jackson.databind.JsonMappingException;
import com.gzzn.omms.msgexchangeapi.domain.primary.dao.CminmsgDao; import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg; import com.gzzn.omms.msgexchangeapi.entity.Cminmsg;
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg.Msg; import com.gzzn.omms.msgexchangeapi.entity.msg.Msg;
import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException; import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException;
import com.gzzn.omms.msgexchangeapi.service.IExchangeService; import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil; import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;