Subversion Repositories SmartDukaan

Rev

Rev 23900 | Rev 23929 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
23755 amit.gupta 1
package com.smartdukaan.cron;
23723 amit.gupta 2
 
23906 amit.gupta 3
import java.util.Properties;
4
 
23723 amit.gupta 5
import org.apache.logging.log4j.LogManager;
6
import org.apache.logging.log4j.Logger;
23898 amit.gupta 7
import org.springframework.beans.factory.annotation.Autowired;
8
import org.springframework.boot.ApplicationArguments;
9
import org.springframework.boot.ApplicationRunner;
23723 amit.gupta 10
import org.springframework.boot.WebApplicationType;
11
import org.springframework.boot.autoconfigure.SpringBootApplication;
12
import org.springframework.boot.builder.SpringApplicationBuilder;
13
import org.springframework.cache.annotation.EnableCaching;
14
import org.springframework.context.annotation.Bean;
15
import org.springframework.context.annotation.ComponentScan;
16
import org.springframework.context.support.PropertySourcesPlaceholderConfigurer;
17
import org.springframework.core.io.ClassPathResource;
23906 amit.gupta 18
import org.springframework.mail.javamail.JavaMailSender;
19
import org.springframework.mail.javamail.JavaMailSenderImpl;
23723 amit.gupta 20
import org.springframework.scheduling.annotation.EnableScheduling;
21
 
23898 amit.gupta 22
import com.smartdukaan.cron.migrations.RunOnceTasks;
23724 amit.gupta 23
 
23898 amit.gupta 24
 
23723 amit.gupta 25
@SpringBootApplication
26
@EnableCaching
27
@EnableScheduling
23755 amit.gupta 28
@ComponentScan("com.smartdukaan.cron.*, com.spice.profitmandi.common.*")
23898 amit.gupta 29
public class Application implements ApplicationRunner{
23723 amit.gupta 30
 
31
	private static final Logger LOGGER=LogManager.getLogger(Application.class);
32
 
33
	public static void main(String[] args) throws Throwable {
23738 amit.gupta 34
		new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
23723 amit.gupta 35
	}
36
 
37
	@Bean
23738 amit.gupta 38
	public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
23755 amit.gupta 39
		LOGGER.info("Called Configuration");
23723 amit.gupta 40
		PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer =  new PropertySourcesPlaceholderConfigurer();
41
		propertySourcesPlaceholderConfigurer.setLocation(new ClassPathResource("/META-INF/env.properties"));
42
		return propertySourcesPlaceholderConfigurer;
43
	}
23906 amit.gupta 44
 
45
	@Bean(name="mailSender")
46
    public JavaMailSender getGmailSender(){
47
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
48
 
49
        //Using gmail
50
        mailSender.setHost("smtp.sendgrid.net");
51
        mailSender.setPort(587);
52
        mailSender.setUsername("shop2020");
53
        mailSender.setPassword("U2/=fP,t");
54
 
55
        Properties javaMailProperties = new Properties();
56
        javaMailProperties.put("mail.smtp.starttls.enable", "false");
57
        javaMailProperties.put("mail.smtp.auth", "true");
58
        javaMailProperties.put("mail.transport.protocol", "smtp");
59
        javaMailProperties.put("mail.debug", "true");//Prints out everything on screen
60
 
61
        mailSender.setJavaMailProperties(javaMailProperties);
62
        return mailSender;
63
    }
23723 amit.gupta 64
 
23898 amit.gupta 65
	@Autowired 
66
	private RunOnceTasks runOnceTasks;
67
	@Override
68
	public void run(ApplicationArguments args) throws Exception {
69
		LOGGER.info("Called run method");
70
		if(args.containsOption("once")) {
23900 amit.gupta 71
			runOnceTasks.getInvestmentDetails();
23898 amit.gupta 72
			System.exit(0);
73
		}
74
 
75
	}
76
 
23723 amit.gupta 77
}