Subversion Repositories SmartDukaan

Rev

Rev 23906 | Rev 23935 | 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;
23929 amit.gupta 23
import com.smartdukaan.cron.scheduled.ScheduledTasks;
23724 amit.gupta 24
 
23898 amit.gupta 25
 
23723 amit.gupta 26
@SpringBootApplication
27
@EnableCaching
28
@EnableScheduling
23755 amit.gupta 29
@ComponentScan("com.smartdukaan.cron.*, com.spice.profitmandi.common.*")
23898 amit.gupta 30
public class Application implements ApplicationRunner{
23723 amit.gupta 31
 
32
	private static final Logger LOGGER=LogManager.getLogger(Application.class);
33
 
34
	public static void main(String[] args) throws Throwable {
23738 amit.gupta 35
		new SpringApplicationBuilder(Application.class).web(WebApplicationType.NONE).run(args);
23723 amit.gupta 36
	}
37
 
38
	@Bean
23738 amit.gupta 39
	public static PropertySourcesPlaceholderConfigurer propertyConfigurer1() {
23755 amit.gupta 40
		LOGGER.info("Called Configuration");
23723 amit.gupta 41
		PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer =  new PropertySourcesPlaceholderConfigurer();
42
		propertySourcesPlaceholderConfigurer.setLocation(new ClassPathResource("/META-INF/env.properties"));
43
		return propertySourcesPlaceholderConfigurer;
44
	}
23906 amit.gupta 45
 
46
	@Bean(name="mailSender")
47
    public JavaMailSender getGmailSender(){
48
        JavaMailSenderImpl mailSender = new JavaMailSenderImpl();
49
 
50
        //Using gmail
51
        mailSender.setHost("smtp.sendgrid.net");
52
        mailSender.setPort(587);
53
        mailSender.setUsername("shop2020");
54
        mailSender.setPassword("U2/=fP,t");
55
 
56
        Properties javaMailProperties = new Properties();
57
        javaMailProperties.put("mail.smtp.starttls.enable", "false");
58
        javaMailProperties.put("mail.smtp.auth", "true");
59
        javaMailProperties.put("mail.transport.protocol", "smtp");
60
        javaMailProperties.put("mail.debug", "true");//Prints out everything on screen
61
 
62
        mailSender.setJavaMailProperties(javaMailProperties);
63
        return mailSender;
64
    }
23723 amit.gupta 65
 
23898 amit.gupta 66
	@Autowired 
67
	private RunOnceTasks runOnceTasks;
23929 amit.gupta 68
 
69
	@Autowired 
70
	private ScheduledTasks scheduledTasks;
23898 amit.gupta 71
	@Override
72
	public void run(ApplicationArguments args) throws Exception {
73
		LOGGER.info("Called run method");
74
		if(args.containsOption("once")) {
23929 amit.gupta 75
			scheduledTasks.sendPartnerInvestmentDetails();
23898 amit.gupta 76
			System.exit(0);
77
		}
78
 
79
	}
80
 
23723 amit.gupta 81
}