引入多数据源及内存数据库
This commit is contained in:
@@ -87,6 +87,12 @@
|
||||
<artifactId>jackson-databind</artifactId>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>com.h2database</groupId>
|
||||
<artifactId>h2</artifactId>
|
||||
<scope>runtime</scope>
|
||||
</dependency>
|
||||
|
||||
</dependencies>
|
||||
|
||||
<build>
|
||||
|
||||
@@ -0,0 +1,28 @@
|
||||
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();
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,70 @@
|
||||
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());
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -0,0 +1,64 @@
|
||||
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());
|
||||
}
|
||||
}
|
||||
@@ -23,7 +23,7 @@ public class SwaggerConfig {
|
||||
.paths(PathSelectors.any())
|
||||
.build()
|
||||
.apiInfo(apiInfo())
|
||||
.host("130.120.3.231:91/msgexchangeapi")
|
||||
.host("localhost:8080")
|
||||
;
|
||||
}
|
||||
|
||||
|
||||
@@ -1,23 +1,34 @@
|
||||
package com.gzzn.omms.msgexchangeapi.controller;
|
||||
|
||||
import org.springframework.web.bind.annotation.GetMapping;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.web.bind.annotation.PostMapping;
|
||||
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.service.ICminmsgService;
|
||||
|
||||
@RestController
|
||||
@RequestMapping("/cminmsgs")
|
||||
public class CminmsgsController {
|
||||
|
||||
|
||||
@Autowired
|
||||
private ICminmsgService cminmsgService;
|
||||
|
||||
|
||||
/***
|
||||
* 发送消息到Cminmsgs数据库表
|
||||
* @param msg
|
||||
* @param topic
|
||||
* @return
|
||||
*/
|
||||
@GetMapping(value = "/send")
|
||||
public ResponseDto send(String msg,String topic) {
|
||||
return ResponseDto.success();
|
||||
@PostMapping(value = "/send")
|
||||
public ResponseDto send(@RequestBody String xmlmsg) {
|
||||
|
||||
Cminmsg minmsg = cminmsgService.sendXmlMsg(xmlmsg);
|
||||
|
||||
return ResponseDto.success(minmsg.getCminmsgsId());
|
||||
}
|
||||
}
|
||||
|
||||
+2
-2
@@ -1,4 +1,4 @@
|
||||
package com.gzzn.omms.msgexchangeapi.dao;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@@ -6,7 +6,7 @@ import org.springframework.data.domain.Pageable;
|
||||
import org.springframework.data.jpa.repository.Query;
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.Cminmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
|
||||
|
||||
|
||||
public interface CminmsgDao extends CrudRepository<Cminmsg, Long> {
|
||||
+2
-2
@@ -1,8 +1,8 @@
|
||||
package com.gzzn.omms.msgexchangeapi.dao;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.dao;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.Cmoutmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cmoutmsg;
|
||||
|
||||
|
||||
public interface CmoutmsgDao extends CrudRepository<Cmoutmsg, Long> {
|
||||
+6
-4
@@ -1,4 +1,4 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entiy;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import javax.persistence.*;
|
||||
@@ -11,10 +11,12 @@ import java.util.Date;
|
||||
*/
|
||||
@Entity
|
||||
@Table(name="CMINMSGS")
|
||||
@SequenceGenerator(name = "sequenceGenerator", sequenceName = "SEQ_CMINMSGS")
|
||||
public class Cminmsg implements Serializable {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@Id
|
||||
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="sequenceGenerator")
|
||||
@Column(name="CMINMSGS_ID")
|
||||
private long cminmsgsId;
|
||||
|
||||
@@ -22,18 +24,18 @@ public class Cminmsg implements Serializable {
|
||||
@Column(name="CMINMSGS_CLOB_MSG")
|
||||
private String cminmsgsClobMsg;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name="CMINMSGS_DATE_PROCESSED")
|
||||
private Date cminmsgsDateProcessed;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name="CMINMSGS_DATE_RECEIVED")
|
||||
private Date cminmsgsDateReceived;
|
||||
|
||||
@Column(name="CMINMSGS_STATUS")
|
||||
private String cminmsgsStatus;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT")
|
||||
private Date cminmsgsSubsystemDateSent;
|
||||
|
||||
+4
-4
@@ -1,4 +1,4 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entiy;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.entity;
|
||||
|
||||
import java.io.Serializable;
|
||||
import javax.persistence.*;
|
||||
@@ -23,18 +23,18 @@ public class Cmoutmsg implements Serializable {
|
||||
@Column(name="CMINMSGS_CLOB_MSG")
|
||||
private String cminmsgsClobMsg;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name="CMINMSGS_DATE_PROCESSED")
|
||||
private Date cminmsgsDateProcessed;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name="CMINMSGS_DATE_RECEIVED")
|
||||
private Date cminmsgsDateReceived;
|
||||
|
||||
@Column(name="CMINMSGS_STATUS")
|
||||
private String cminmsgsStatus;
|
||||
|
||||
@Temporal(TemporalType.DATE)
|
||||
@Temporal(TemporalType.TIMESTAMP)
|
||||
@Column(name="CMINMSGS_SUBSYSTEM_DATE_SENT")
|
||||
private Date cminmsgsSubsystemDateSent;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entiy.msg;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entiy.msg;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.entity.msg;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
+3
-3
@@ -1,12 +1,12 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.entiy.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.entiy.msg.Meta;
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.msg.Msg;
|
||||
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.utils.DateTimeUtil;
|
||||
|
||||
@JacksonXmlRootElement(localName="MSG")
|
||||
+1
-1
@@ -1,4 +1,4 @@
|
||||
package com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd;
|
||||
package com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd;
|
||||
|
||||
import com.fasterxml.jackson.annotation.JsonProperty;
|
||||
|
||||
@@ -0,0 +1,9 @@
|
||||
package com.gzzn.omms.msgexchangeapi.domain.secondary.dao;
|
||||
|
||||
import org.springframework.data.repository.CrudRepository;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.domain.secondary.entity.Status;
|
||||
|
||||
public interface StatusDao extends CrudRepository<Status, Long> {
|
||||
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
package com.gzzn.omms.msgexchangeapi.domain.secondary.entity;
|
||||
|
||||
import javax.persistence.Entity;
|
||||
import javax.persistence.Id;
|
||||
import javax.persistence.Table;
|
||||
|
||||
@Entity
|
||||
@Table(name="status")
|
||||
public class Status {
|
||||
|
||||
@Id
|
||||
private Long id;
|
||||
private String remark;
|
||||
|
||||
public Long getId() {
|
||||
return id;
|
||||
}
|
||||
public void setId(Long id) {
|
||||
this.id = id;
|
||||
}
|
||||
public String getRemark() {
|
||||
return remark;
|
||||
}
|
||||
public void setRemark(String remark) {
|
||||
this.remark = remark;
|
||||
}
|
||||
}
|
||||
@@ -8,10 +8,10 @@ import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.CommandLineRunner;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.dao.CmoutmsgDao;
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.Cmoutmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd.RefdMsg;
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.msg.rqfd.RefdMsgBody;
|
||||
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.entiy.msg.rqfd.RefdMsg;
|
||||
import com.gzzn.omms.msgexchangeapi.domain.primary.entiy.msg.rqfd.RefdMsgBody;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.DateTimeUtil;
|
||||
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.gzzn.omms.msgexchangeapi.service;
|
||||
|
||||
import java.util.Date;
|
||||
|
||||
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;
|
||||
|
||||
@Service
|
||||
public class CminmsgServiceImpl implements ICminmsgService {
|
||||
@Autowired
|
||||
private CminmsgDao cminmsgDao;
|
||||
|
||||
|
||||
@Override
|
||||
public Cminmsg sendXmlMsg(String xmlMsg) {
|
||||
Cminmsg cminmsg = new Cminmsg();
|
||||
cminmsg.setCminmsgsClobMsg(xmlMsg);
|
||||
cminmsg.setCminmsgsDateReceived(new Date());
|
||||
|
||||
Cminmsg rt = cminmsgDao.save(cminmsg);
|
||||
return rt;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,12 @@
|
||||
package com.gzzn.omms.msgexchangeapi.service;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.domain.primary.entity.Cminmsg;
|
||||
|
||||
public interface ICminmsgService {
|
||||
|
||||
/**
|
||||
* 发送xml格式的消息到cminmsgs表
|
||||
* @param xmlMsg
|
||||
*/
|
||||
public Cminmsg sendXmlMsg(String xmlMsg);
|
||||
}
|
||||
@@ -1,18 +1,12 @@
|
||||
package com.gzzn.omms.msgexchangeapi.task;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.data.domain.PageRequest;
|
||||
import org.springframework.scheduling.annotation.Scheduled;
|
||||
import org.springframework.stereotype.Component;
|
||||
import org.springframework.util.StringUtils;
|
||||
|
||||
import com.gzzn.omms.msgexchangeapi.dao.CminmsgDao;
|
||||
import com.gzzn.omms.msgexchangeapi.entiy.Cminmsg;
|
||||
import com.gzzn.omms.msgexchangeapi.exception.ExchangeServiceException;
|
||||
import com.gzzn.omms.msgexchangeapi.service.ICminmsgService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IKafkaService;
|
||||
|
||||
@@ -32,39 +26,14 @@ public class ExchangeTask {
|
||||
IExchangeService exchangeService;
|
||||
|
||||
@Autowired
|
||||
private CminmsgDao cminmsgDao;
|
||||
private ICminmsgService cminmsgService;
|
||||
|
||||
@Scheduled(cron="0 0/1 * * * ?")
|
||||
public void corn()
|
||||
{
|
||||
logger.info("定时任务启动....");
|
||||
|
||||
Long maxPerLong = 1000L; //每次最大发送多少条消息
|
||||
Long lenTotal = cminmsgDao.getCminmsgsDateProcessedIsNotNullCount();
|
||||
Long lenSend = 0L;
|
||||
Integer pageIndex = 0;
|
||||
Integer pageSize = 50;
|
||||
while(lenSend < lenTotal && lenSend < maxPerLong)
|
||||
{
|
||||
List<Cminmsg> ls = cminmsgDao.findByCminmsgsDateProcessedIsNotNull(new PageRequest(pageIndex,pageSize));
|
||||
for(Cminmsg node:ls)
|
||||
{
|
||||
String strJson = null;
|
||||
try {
|
||||
strJson = exchangeService.xmlToJson(node.getCminmsgsClobMsg());
|
||||
if(!StringUtils.isEmpty(strJson))
|
||||
{
|
||||
kafkaservice.msgSend("topic2", strJson);
|
||||
}
|
||||
} catch (ExchangeServiceException e) {
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
} // end for
|
||||
|
||||
|
||||
lenSend += ls.size();
|
||||
pageIndex++;
|
||||
}//end while
|
||||
|
||||
//
|
||||
logger.info("同步完成");
|
||||
}
|
||||
|
||||
@@ -1,3 +1,24 @@
|
||||
spring:
|
||||
datasource:
|
||||
primary:
|
||||
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
|
||||
|
||||
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:
|
||||
producer:
|
||||
retries: 0
|
||||
@@ -28,13 +49,4 @@ kafka:
|
||||
concurrency: 10
|
||||
group:
|
||||
id: test
|
||||
spring:
|
||||
datasource:
|
||||
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
|
||||
|
||||
@@ -0,0 +1,26 @@
|
||||
package com.gzzn.omms.msgexchangeapi.tools;
|
||||
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Date;
|
||||
import java.util.Locale;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
public class DatetimeFormatTest {
|
||||
|
||||
@Test
|
||||
public void testFormat()
|
||||
{
|
||||
SimpleDateFormat sdf = new SimpleDateFormat("ddMMMyyHHmm",Locale.ENGLISH);
|
||||
System.out.println(sdf.format(new Date()).toUpperCase());
|
||||
|
||||
|
||||
SimpleDateFormat sdf1 = new SimpleDateFormat("yyMMddHHmmss",Locale.CHINA);
|
||||
System.out.println(sdf1.format(new Date()));
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,90 @@
|
||||
package com.gzzn.omms.msgexchangeapi.tools;
|
||||
|
||||
import java.io.File;
|
||||
import java.io.FileOutputStream;
|
||||
import java.io.IOException;
|
||||
import java.util.List;
|
||||
|
||||
import org.junit.Test;
|
||||
import org.junit.runner.RunWith;
|
||||
import org.slf4j.Logger;
|
||||
import org.slf4j.LoggerFactory;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.boot.test.context.SpringBootTest;
|
||||
import org.springframework.test.context.junit4.SpringRunner;
|
||||
|
||||
import com.fasterxml.jackson.core.JsonParseException;
|
||||
import com.fasterxml.jackson.databind.JsonMappingException;
|
||||
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.exception.ExchangeServiceException;
|
||||
import com.gzzn.omms.msgexchangeapi.service.IExchangeService;
|
||||
import com.gzzn.omms.msgexchangeapi.utils.JsonUtil;
|
||||
|
||||
|
||||
@RunWith(SpringRunner.class)
|
||||
@SpringBootTest
|
||||
public class ToolTest {
|
||||
|
||||
private static Logger logger = LoggerFactory.getLogger(ToolTest.class);
|
||||
|
||||
@Autowired
|
||||
private CminmsgDao cminmsgDao;
|
||||
|
||||
@Autowired
|
||||
private IExchangeService exchangeService;
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
|
||||
}
|
||||
|
||||
@Test
|
||||
public void exportToXmlFiles() throws JsonParseException, JsonMappingException, IOException
|
||||
{
|
||||
List<Cminmsg> lsCmin = (List<Cminmsg>) cminmsgDao.findAll();
|
||||
|
||||
for(Cminmsg x : lsCmin)
|
||||
{
|
||||
String json = exchangeService.xmlToJson(x.getCminmsgsClobMsg());
|
||||
Msg msg =JsonUtil.getObject(json,Msg.class);
|
||||
String Dttm = msg.getMeta().getDttm();
|
||||
|
||||
String dir = "xml/" + Dttm.substring(0, 10);
|
||||
|
||||
StringBuilder path = new StringBuilder();
|
||||
path.append(dir);
|
||||
path.append("/");
|
||||
path.append(msg.getMeta().getDttm().substring(10, Dttm.length()));//time
|
||||
path.append("-"+x.getCminmsgsId());
|
||||
path.append("-"+msg.getMeta().getType());//Type
|
||||
path.append("-"+msg.getMeta().getStyp());//Subtype
|
||||
path.append(".xml");
|
||||
|
||||
//父目录是否存在
|
||||
File fileDir = new File(dir);
|
||||
if(fileDir.exists() == false)
|
||||
{
|
||||
fileDir.mkdirs();
|
||||
}
|
||||
|
||||
//
|
||||
File f = new File(path.toString());
|
||||
try (FileOutputStream fop = new FileOutputStream(f)) {
|
||||
byte[] contentInBytes = x.getCminmsgsClobMsg().getBytes("UTF-8");
|
||||
|
||||
fop.write(contentInBytes);
|
||||
fop.flush();
|
||||
fop.close();
|
||||
}
|
||||
catch (ExchangeServiceException e) {
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
catch (IOException e) {
|
||||
logger.error(e.getMessage());
|
||||
}
|
||||
}
|
||||
|
||||
} //end function
|
||||
}
|
||||
Reference in New Issue
Block a user