zoukankan      html  css  js  c++  java
  • spring boot 启动脚本

    启动的时候 在 boot_class 中有个:com.sankuai.qcs.regulation.shanghai.App  这是spring boot的配置,在 bin/run_main.sh中 有配置:

    ${EXEC_JAVA} ${boot_class}  2>&1

    这样在启动的时候就会走:方法:
    com.sankuai.qcs.regulation.shanghai.App;
    里面的main方法;

    在main里面有个:
    classpath:application.xml;

    在application.xml中有个:添加了注解的标签:
    <task:annotation-driven/>

    所以开始使用注解初始化:
    com.sankuai.qcs.regulation.shanghai.service.impl;里面的方法:
      @PostConstruct
        private void start() {
            try {
                Properties successTopicProps = new Properties();
                successTopicProps.setProperty(ConsumerConstants.MafkaBGNamespace, "waimai");
                successTopicProps.setProperty(ConsumerConstants.MafkaClientAppkey, "com.sankuai.qcs.data.integration");
                callBackProducer = MafkaClient.buildProduceFactory(successTopicProps, "dache.regulation.traffic.data");
    
                Timer timer = new Timer();
                timer.scheduleAtFixedRate(new TimerTask() {
                    @Override
                    public void run() {
                        batchSendTask();
                    }
                }, 1000, 1000);
            } catch (Throwable throwable) {
                LOGGER.error("BatchSendService#start init mafka producer error", throwable);
            }
        }

    请注意前面有个:

    @PostConstruct 它的意思是在加载bean的时候就开始 先执行方法:
    start


    然后在pom.xml中有个:
     <plugin>
                    <artifactId>maven-jar-plugin</artifactId>
                    <version>2.3.2</version>
                    <configuration>
                        <finalName>qcs.service.regulation</finalName>
                        <classesDirectory>target/classes/</classesDirectory>
                        <archive>
                            <addMavenDescriptor>false</addMavenDescriptor>
                            <manifest>
                                <mainClass>com.sankuai.qcs.regulation.shanghai.App</mainClass>
                                <addClasspath>true</addClasspath>
                                <classpathPrefix>lib/</classpathPrefix>
                            </manifest>
                        </archive>
                    </configuration>
                </plugin>
    

      里面的mainClass指的是:这个插件在在打包的时候要调用mainClass;

     
  • 相关阅读:
    Java 项目运用个人看法(简写)
    windows 搭建Solr连接数据库
    总结2016年,计划2017
    如何解决,自己认为特别难的问题?(文摘)
    spring -quartz 定时任务多任务配置
    (转) java Timer 定时每天凌晨1点执行任务
    spring多数据源切换,写入报错的问题
    如何合理和有效的进行数据库设计
    Main方法定点执行线程任务
    莫辜负当下,莫悔恨过去,莫打扰错过的人
  • 原文地址:https://www.cnblogs.com/aspirant/p/10273928.html
Copyright © 2011-2022 走看看