TCSMqGetTask.java 2.2 KB
package com.tianbo.analysis.task;

import com.tianbo.analysis.rabbitmq.ReadMessage;
import com.tianbo.util.Date.DateUtil;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Component;

import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.concurrent.ThreadPoolExecutor;

/**
 * tcs服务器读取新舱单的队列保存报文到发送目录
 */
@Slf4j
@Component
public class TCSMqGetTask {

    //报文保存目录
    @Value("${mq.dir.saveXml-dir}")
    private  String receptDir;

    @Value("${mq.connection.ip}")
    private  String mqIp;

    @Value("${mq.connection.port}")
    private  int mqPort;

    @Value("${mq.connection.vHost}")
    private  String mqVhost;

    @Value("${mq.connection.username}")
    private  String mqUsername;

    @Value("${mq.connection.password}")
    private  String mqPassword;

    @Value("${mq.queue.read-from-mq}")
    private String queueName;

//    @Scheduled(fixedRate = 5000)
    public void startTask(){


        final SimpleDateFormat sdf = new SimpleDateFormat(
                "yyyy-MM-dd HH:mm:ss");

        final String startTime = sdf.format(new Date());

        //设置转发文件夹
        String today = DateUtil.getTodayBy_yyyyMMdd();
        //回执目录
        String readDir = receptDir;

        //初始化线程池
        ThreadPoolExecutor threadPool = XMLThreadPoolFactory.instance();

        try {
            //从mq获取回执
            ReadMessage readMessage = new ReadMessage();
            readMessage.setMqIp(mqIp);
            readMessage.setMqPort(mqPort);
            readMessage.setMqVhost(mqVhost);
            readMessage.setMqUsername(mqUsername);
            readMessage.setMqPassword(mqPassword);
            readMessage.setQueueName(queueName);
            if(!"runing".equals(ReadMessage.status)){
                readMessage.getResponseFromMq(readDir);
            }

        }catch (Exception e){
            e.printStackTrace();
            log.error("获取目录文件出错",e);
        }

        log.info("获取MQ消息任务结束{}",sdf.format(new Date()));

    }

}