package com.persagy.server.synchronize

import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.beans.factory.annotation.Value
import org.springframework.jms.annotation.JmsListener
import org.springframework.jms.core.JmsTemplate
import org.springframework.stereotype.Component

/**
 * 同步数据消息类
 *
 * @author  张维新
 */
@Component
class MessageHandler {
    companion object {
        // 日志
        private val logger = LoggerFactory.getLogger(MessageHandler::class.java)
    } // Companion object

    /** 发送方式 */
    @Autowired
    private lateinit var jmsTemplate : JmsTemplate

    /** 映射发送地址 */
    @Value("\${topic}")
    lateinit var topic: String

    /**
     * 消息发送
     *
     * @param content 消息内容
     */
    fun sendMessage(content: String) {
        jmsTemplate.convertAndSend(topic, content)
    } // Function sendMessage()

    /**
     * 测试打印发送的消息
     *
     * @param content 消息内容
     */
    @JmsListener(destination = "datacenter.broadcast")
    fun localListener(content: String) {
        logger.debug("本地消息2: $content")
    } // Function localListener()

} // Class MessageHandler