<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:blogger='http://schemas.google.com/blogger/2008' xmlns:georss='http://www.georss.org/georss' xmlns:gd="http://schemas.google.com/g/2005" xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-7066447711220759457</id><updated>2024-11-01T03:33:23.829-07:00</updated><category term="Spring Boot Batch Job"/><category term="Docker"/><category term="Git Command"/><category term="Git Introduction"/><category term="HttpsURLConnection"/><category term="Introduction to Spring Batch"/><title type='text'>Spring Boot Batch Parallel Jobs</title><subtitle type='html'>Introduction to Spring batch framework and Spring boot batch processing example to demonstrate concurrent execution of multiple jobs</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default?redirect=false'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>8</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-2362287470095819504</id><published>2023-05-19T04:23:00.001-07:00</published><updated>2023-05-19T04:23:12.582-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Docker"/><title type='text'>Docker push denied requested access to the resource is denied unauthorized authentication required</title><content type='html'>&lt;b&gt;Open command prompt and execute below command &lt;/b&gt;

&lt;br /&gt;&lt;br /&gt;
docker login
  
&lt;br /&gt;&lt;br /&gt;
If you have Docker Desktop installed then it will automatically get credentials otherwise you can follow steps:&amp;nbsp;&lt;a href=&quot;https://docs.docker.com/docker-hub/access-tokens/&quot; target=&quot;_blank&quot;&gt;click here&lt;/a&gt;&amp;nbsp;&lt;div&gt;&lt;br /&gt;
Ensure you have tagged the local images with the Docker account namespace - 

&lt;br /&gt;&lt;br /&gt;
&lt;b&gt;To get Docker account namespace:&amp;nbsp;&lt;a href=&quot;https://hub.docker.com/repositories/&quot; target=&quot;_blank&quot;&gt;click here&lt;/a&gt;&lt;/b&gt;&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfBjKXy5VZghb5bt4aRj15cWIU8KfDJrMxoVDXDH3QWGfYPyhbnITRidE3cpHTo3jcya4IKBTZ6zCYMF29w1l2YhMM759VFvxLmorujlRm-wklL2Mk5XWAmKB6Jyxdsc0Q56ZCe_iRGfyTT8Aj1JD3udR18lBPVyFCp-ZgpNXlYs4tKa-XH78Zn8Cb2Q/s564/docker-hub.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;436&quot; data-original-width=&quot;564&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfBjKXy5VZghb5bt4aRj15cWIU8KfDJrMxoVDXDH3QWGfYPyhbnITRidE3cpHTo3jcya4IKBTZ6zCYMF29w1l2YhMM759VFvxLmorujlRm-wklL2Mk5XWAmKB6Jyxdsc0Q56ZCe_iRGfyTT8Aj1JD3udR18lBPVyFCp-ZgpNXlYs4tKa-XH78Zn8Cb2Q/s320/docker-hub.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;

&lt;br /&gt;&lt;br /&gt;
You can change the tag using below command 
&lt;br /&gt;  
&lt;b&gt;docker tag name-of-image docker_a/c_namespace/name-of-image&lt;/b&gt;
&lt;br /&gt;&lt;br /&gt;
Example-
&lt;b&gt;C:\Windows\System32&amp;gt;docker tag eazybytes/loans ctcsinformation/loans
&lt;br /&gt;&lt;br /&gt;
Finally you can push the docker images to docker hub
&lt;div class=&quot;separator&quot; style=&quot;clear: both;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW37y9SOHr3oaNIKQQF3cUbvYjpC9ZBcG1RZM4Gj4GQMO6WtfDyrM3t-Ho65cjK8mttPZ8YQJqFGpL5dsvSFIAoINTYlDqc2PcLy0yPKzGSyzoPLyQQp624hRWuzrORzqVc3ITQGqX2SPU7jeLH4w0MWccW0H-1KAoKS0O8a_6pglZPRPTPHQrTS9AAw/s781/Screenshot%202023-05-19%20pushed.png&quot; style=&quot;display: block; padding: 1em 0px; text-align: center;&quot;&gt;&lt;img alt=&quot;&quot; border=&quot;0&quot; data-original-height=&quot;130&quot; data-original-width=&quot;781&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgW37y9SOHr3oaNIKQQF3cUbvYjpC9ZBcG1RZM4Gj4GQMO6WtfDyrM3t-Ho65cjK8mttPZ8YQJqFGpL5dsvSFIAoINTYlDqc2PcLy0yPKzGSyzoPLyQQp624hRWuzrORzqVc3ITQGqX2SPU7jeLH4w0MWccW0H-1KAoKS0O8a_6pglZPRPTPHQrTS9AAw/s320/Screenshot%202023-05-19%20pushed.png&quot; width=&quot;320&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;/b&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;br /&gt;
</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/2362287470095819504/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2023/05/docker-push-denied-requested-access-to.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/2362287470095819504'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/2362287470095819504'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2023/05/docker-push-denied-requested-access-to.html' title='Docker push denied requested access to the resource is denied unauthorized authentication required'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfBjKXy5VZghb5bt4aRj15cWIU8KfDJrMxoVDXDH3QWGfYPyhbnITRidE3cpHTo3jcya4IKBTZ6zCYMF29w1l2YhMM759VFvxLmorujlRm-wklL2Mk5XWAmKB6Jyxdsc0Q56ZCe_iRGfyTT8Aj1JD3udR18lBPVyFCp-ZgpNXlYs4tKa-XH78Zn8Cb2Q/s72-c/docker-hub.png" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-590463010198913449</id><published>2023-05-18T03:43:00.002-07:00</published><updated>2023-05-18T03:43:33.463-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="HttpsURLConnection"/><title type='text'>Right way to close HttpsURLConnetion using try with resources in java 8</title><content type='html'>&lt;b&gt;HttpsURLConnection&lt;/b&gt; does not implement the AutoCloseable interface in Java 8 or later versions.

&lt;br&gt;
Since HttpsURLConnection does not implement AutoCloseable, you cannot use it directly in a try-with-resources block. However, you can create a wrapper class that implements AutoCloseable and encapsulates the HttpsURLConnection object, and then use the wrapper class in a try-with-resources block.

&lt;br&gt;
Here&#39;s an example of how to create a wrapper class for HttpsURLConnection that implements AutoCloseable:

&lt;br&gt;
&lt;br&gt;
&lt;pre&gt; &lt;code class=&quot;java&quot;&gt;
public class HttpsURLConnectionWrapper implements AutoCloseable {

    private final HttpsURLConnection connection;

    public HttpsURLConnectionWrapper(URL url) throws IOException {
        connection = (HttpsURLConnection) url.openConnection();
    }

    public HttpsURLConnection getConnection() {
        return connection;
    }

    @Override
    public void close() throws IOException {
        connection.disconnect();
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;br&gt;
&lt;br&gt;
In this example, the HttpsURLConnectionWrapper class encapsulates the HttpsURLConnection object and implements the close() method to disconnect the connection. You can use this wrapper class in a try-with-resources block like this:

&lt;br&gt;
&lt;br&gt;
&lt;pre&gt; &lt;code class=&quot;java&quot;&gt;
try (HttpsURLConnectionWrapper connectionWrapper = new HttpsURLConnectionWrapper(url)) {
    HttpsURLConnection connection = connectionWrapper.getConnection();
    // Use the connection here
} catch (IOException e) {
    // Handle the exception here
}
&lt;/code&gt;&lt;/pre&gt;

&lt;br&gt;
&lt;br&gt;
&lt;br&gt;
In this example, the HttpsURLConnectionWrapper object is created inside the try-with-resources block and automatically closed when the block exits. The getConnection() method returns the underlying HttpsURLConnection object, which can be used in the try block. When the block exits, the close() method is called on the wrapper object, which disconnects the connection.

</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/590463010198913449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2023/05/right-way-to-close-httpsurlconnetion.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/590463010198913449'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/590463010198913449'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2023/05/right-way-to-close-httpsurlconnetion.html' title='Right way to close HttpsURLConnetion using try with resources in java 8'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-1033409243586227559</id><published>2021-04-20T07:22:00.001-07:00</published><updated>2021-04-20T07:23:13.198-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Spring Boot Batch Job"/><title type='text'>How to create dynamic steps in Spring Batch</title><content type='html'>We can create steps dynamically and return the job reference. Here is an example -


&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;
@Bean
public Job job() {
    Step[] stepsArray = // create your steps array or pass it as a parameter
    SimpleJobBuilder jobBuilder = jobBuilderFactory.get(&quot;mainCalculationJob&quot;)
            .incrementer(new RunIdIncrementer())
            .start(truncTableTaskletStep());
    for (Step step : stepsArray) {
        jobBuilder.next(step);
    }
    return jobBuilder.build();
}
&lt;/code&gt;&lt;/pre&gt;</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/1033409243586227559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2021/04/how-to-create-dynamic-steps-in-spring.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/1033409243586227559'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/1033409243586227559'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2021/04/how-to-create-dynamic-steps-in-spring.html' title='How to create dynamic steps in Spring Batch'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-2234228994859657138</id><published>2021-04-11T02:03:00.006-07:00</published><updated>2021-04-20T07:23:52.206-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Spring Boot Batch Job"/><title type='text'>Sending Bulk SMS using Sprint Boot Batch </title><content type='html'>
&lt;div&gt;&lt;br /&gt;&lt;/div&gt;You must use Spring Boot Batch Jobs to send the bulk SMS&#39;s.&amp;nbsp; It&#39;s very flexible to schedule these jobs using Cron expression, so you can send the SMS as per the requirement. e.g. daily, weekly or at a particular time.&amp;nbsp;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;

&lt;p&gt;We need to integrate our job with the SMS provider like - msg91 &lt;a href=&quot;https://msg91.com/&quot; target=&quot;_blank&quot;&gt;&lt;/a&gt; &lt;/p&gt;

&lt;h4&gt;Following is the Job configuration - This class has reader which will read the data for SMS content and job defination&lt;/h4&gt;

&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;
@Configuration
@EnableBatchProcessing
public class SmsBatchConfiguration {
	
	@Autowired
	@Qualifier(&quot;smsContentReader&quot;)
    
	public ItemReader&lt;List&lt;Renewal&gt;&gt; itemReader;
	
	@Autowired
	@Qualifier(&quot;nenewalNotificationSMSProcessor&quot;)
	RenewalNotificationSMSProcessor renewalNotificationSMSProcessor;
	
	@Autowired
	@Qualifier(&quot;smsSender&quot;)
	SmsSender SmsSender;
	
	@Autowired
	public JobBuilderFactory jobBuilderFactory;
	
	@Autowired
	public StepBuilderFactory stepBuilderFactory;
	
	@Value(&quot;${renewal.batch.notifications.email}&quot;)
	private String email;
	
	@Bean
    public JobExecutionListener listener1() {
        return new JobCompletionNotificationListener(email, &quot;SMS_JOB&quot;);
    }
	
	@Bean(&quot;smsReminderJob&quot;)
    public Job renewalSMSNotificationJob() {
		return jobBuilderFactory.get(&quot;renewalSMSNotificationJob&quot;)
                .incrementer(new RunIdIncrementer())
                .start(getSmsRenewalPolicyData())
				.listener(listener1())
                .build();
    }

    @Bean
    public Step getSmsRenewalPolicyData() {
        return stepBuilderFactory.get(&quot;renewal-policy-sms-n&quot;)
                .&lt;List&lt;Renewal&gt;, SmsFlowModel&gt;chunk(1)
                .reader(itemReader)
                .processor(renewalNotificationSMSProcessor)
                .writer(SmsSender)
                .build();
    }
    
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Following class is the item processor which will get the data from reader and pass it to writter &lt;/h4&gt;

&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;
@StepScope
@Component(&quot;nenewalNotificationSMSProcessor&quot;)
public class RenewalNotificationSMSProcessor implements ItemProcessor&lt;List&lt;Renewal&gt;, SmsFlowModel&gt; {

    private static final Logger log = LoggerFactory.getLogger(RenewalNotificationSMSProcessor.class);

    @Value(&quot;${renewal.batch.notifications.sms.template_id}&quot;)
    private String template_id;

    @Value(&quot;${renewal.batch.notifications.sms.sender}&quot;)
    private String sender;

    @Override
    public SmsFlowModel process(List&lt;Renewal&gt; renewals) throws Exception {
        log.info(&quot;started - processing renewal policy details - SMS&quot;);
        List&lt;MessageParameters&gt; recipientsList = null;
        SmsFlowModel smsFlowModel = null;

        if (renewals != null &amp;&amp; !renewals.isEmpty()) {
            recipientsList = new ArrayList&lt;&gt;();
            for (Renewal renewal : renewals) {
                if (renewal.getContactNumber() != null) {   // You will get the mobile number of recipient
                    MessageParameters msgParam = new MessageParameters();
                    msgParam.setPolicyno(renewal.getPolicyNo());
                    msgParam.setPremiumamount(String.valueOf(renewal.getPremium()));
                    msgParam.setMobiles(&quot;91&quot;.concat(renewal.getContactNumber().trim()));
                    recipientsList.add(msgParam);
                }
            }
            if (!recipientsList.isEmpty()) {
                smsFlowModel = new SmsFlowModel();
                smsFlowModel.setTemplate_id(this.template_id);
                smsFlowModel.setSender(this.sender);
                smsFlowModel.getRecipients().addAll(recipientsList);
            }
            return smsFlowModel;
        }
        return null;
    }

}
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Following class will send the SMS, will are invoking the msg91 api to send the SMS to mobile numbers &lt;/h4&gt;


&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;
@StepScope
@Component(&quot;smsSender&quot;)
public class SmsSender implements ItemWriter&lt;SmsFlowModel&gt; {
    private static final Logger LOGGER = LoggerFactory.getLogger(SmsSender.class);

    @Value(&quot;${renewal.batch.notifications.sms.auth}&quot;)
    private String authKey;

    @Value(&quot;${renewal.batch.notifications.sms.url}&quot;)
    private String apiUrl;

    @Override
    public void write(List&lt;? extends SmsFlowModel&gt; bulkSMS) throws Exception {
        LOGGER.info(&quot;about to start sending SMS---&quot;);
        StringBuilder msg = (StringBuilder) CommonConstant.getDaysMap().get(&quot;sms-job-message&quot;);

        if (bulkSMS != null &amp;&amp; bulkSMS.size() &gt; 0) {
            SmsFlowModel sms = bulkSMS.get(0);
            ObjectMapper mapper = new ObjectMapper();
            String jsonString = mapper.writeValueAsString(sms);
            msg.append(&quot;\n&quot;).append(&quot;SMS request json : &quot;).append(jsonString);

			HttpResponse&lt;JsonNode&gt; response = null;

            try {
                response = Unirest.post(apiUrl)
                        .header(&quot;authkey&quot;, authKey)
                        .header(&quot;content-type&quot;, &quot;application/json&quot;)
                        .body(jsonString)
                        .asJson();
            } catch (UnirestException e) {
                LOGGER.error(&quot;Error occured while sending sms : {}&quot;, e.getMessage());
                e.printStackTrace();
            }

			msg.append(&quot;\n&quot;).append(&quot;------------------------------------------------------------------------------------&quot;);
			if (response != null) {
                JSONObject myObj = response.getBody().getObject();
                LOGGER.info(&quot;SMS server response : &quot; + myObj);
                msg.append(&quot;\n&quot;).append(&quot;SMS server response : &quot;).append(myObj);
            } else {
                LOGGER.info(&quot;SMS server response response is null&quot;);
                msg.append(&quot;\n&quot;).append(&quot;SMS server response response is null&quot;);
            }

        } else {
            LOGGER.info(&quot;--sms sender object is null ---&quot;);
            msg.append(&quot;\n&quot;).append(&quot;sms sender object is null&quot;);
        }
        CommonConstant.getDaysMap().put(&quot;sms-job-message&quot;, msg);
    }
}
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;Properties file&lt;/h4&gt;

&lt;p&gt;This job will send the SMS on daily basis at 12 PM (as per the cron expression value)&lt;/p&gt;

&lt;pre&gt;&lt;code class=&quot;language-java&quot;&gt;

##Batch properties##
spring.profiles.active=prod
spring.batch.job.enabled=false
spring.first.initialization=false

##Database##
spring.datasource.url=jdbc:mysql://localhost:3306/test_db
spring.datasource.username=uname
spring.datasource.password=passwd
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
spring.datasource.initialization-mode=ALWAYS
spring.datasource.continue-on-error=false
spring.jpa.database-platform=org.hibernate.dialect.MySQL5InnoDBDialect

spring.jpa.properties.hibernate.format_sql=false
spring.jpa.hibernate.ddl-auto=none
spring.jpa.show-sql=false

#sms-server
renewal.batch.notifications.sms.auth=&lt;you will get this api key from SMS provider like msg91&gt;
renewal.batch.notifications.sms.url=http://api.msg91.com/api/v5/flow/?response=json
renewal.batch.notifications.sms.template_id=&lt;you will get the template id from SMS provider msg91&gt;
renewal.batch.notifications.sms.sender=SHRI

#cron-expression
sms.job.launch.cronExpression=0 0 12 * * *

&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;POM file link https://github.com/shrikantar/bulksms/blob/main/pom.xml &lt;/h4&gt;






</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/2234228994859657138/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2021/04/sending-bulk-sms-using-sprint-boot-batch.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/2234228994859657138'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/2234228994859657138'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2021/04/sending-bulk-sms-using-sprint-boot-batch.html' title='Sending Bulk SMS using Sprint Boot Batch '/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-1168532159853012993</id><published>2019-07-01T05:43:00.002-07:00</published><updated>2019-07-01T05:47:51.029-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Git Command"/><title type='text'>Git Commands -</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;table border=&quot;1&quot; cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;MsoTableLightListAccent3&quot; style=&quot;border-collapse: collapse; border: none; mso-border-alt: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; mso-padding-alt: 0cm 5.4pt 0cm 5.4pt; mso-yfti-tbllook: 1184;&quot;&gt;
 &lt;tbody&gt;
&lt;tr style=&quot;mso-yfti-firstrow: yes; mso-yfti-irow: -1;&quot;&gt;
  &lt;td style=&quot;background: #9BBB59; border-bottom: none; border-left: solid #9BBB59 1.0pt; border-right: none; border-top: solid #9BBB59 1.0pt; mso-background-themecolor: accent3; mso-border-left-themecolor: accent3; mso-border-top-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 5; text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #4e443c; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-language: EN-US; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Arial; mso-hansi-theme-font: major-latin;&quot;&gt;Commands&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;background: #9BBB59; border-bottom: none; border-left: none; border-right: solid #9BBB59 1.0pt; border-top: solid #9BBB59 1.0pt; mso-background-themecolor: accent3; mso-border-right-themecolor: accent3; mso-border-top-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div align=&quot;center&quot; class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 1; text-align: center;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;color: #4e443c; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-language: EN-US; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Arial; mso-hansi-theme-font: major-latin;&quot;&gt;Description&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 0;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git status&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Check status&lt;/span&gt;&lt;/code&gt;&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 1;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git add
  [file-name.txt]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Add a file to the staging area&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 2;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git add &lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; font-size: 10.0pt;&quot;&gt;–&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;A&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Add all new and changed files to the staging area&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 3;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git commit -m
  &quot;[commit message]&quot;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Commit changes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 4;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git rm -r
  [file-name.txt]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Remove a file (or folder)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 5;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;List branches (the asterisk denotes the current branch)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 6;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git branch &lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; font-size: 10.0pt;&quot;&gt;–&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;a&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;List all branches (local and remote)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 7;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git branch [branch
  name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Create a new branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 8;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git branch -d
  [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Delete a branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 9;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git push origin
  --delete [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Delete a remote branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 10;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git checkout -b
  [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Create a new branch and switch to it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 11;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git checkout -b
  [branch name] origin/[branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Clone a remote branch and switch to it&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 12;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git checkout [branch
  name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Switch to a branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 13;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git checkout -&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Switch to the branch last checked out&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 14;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git checkout --
  [file-name.txt]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Discard changes to a file&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 15;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git merge [branch
  name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Merge a branch into the active branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 16;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git merge [source
  branch] [target branch]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Merge a branch into a target branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 17;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git stash&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Stash changes in a dirty working directory&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 18;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git stash clear&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Remove all stashed entries&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 19;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git push origin [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Push a branch to your remote repository&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 20;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git push -u origin
  [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Push changes to remote repository (and remember the
  branch)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 21;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git push&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Push changes to remote repository (remembered branch)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 22;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git push origin
  --delete [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Delete a remote branch&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 23;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; box-sizing: border-box; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git pull&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Update local repository to the newest commit&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 24;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git pull origin
  [branch name]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Pull changes from remote repository&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;mso-yfti-irow: 25;&quot;&gt;
  &lt;td style=&quot;border-left: solid #9BBB59 1.0pt; border: none; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git log&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-right: solid #9BBB59 1.0pt; border: none; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;View changes&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 26;&quot;&gt;
  &lt;td style=&quot;border-right: none; border: solid #9BBB59 1.0pt; box-sizing: border-box; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 68;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git log --summary&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-left: none; border: solid #9BBB59 1.0pt; mso-border-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 64;&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;View changes (detailed)&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;tr style=&quot;box-sizing: border-box; mso-yfti-irow: 27; mso-yfti-lastrow: yes;&quot;&gt;
  &lt;td style=&quot;border-bottom: solid #9BBB59 1.0pt; border-left: solid #9BBB59 1.0pt; border-right: none; border-top: none; box-sizing: border-box; mso-border-bottom-themecolor: accent3; mso-border-left-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 260.55pt;&quot; valign=&quot;top&quot; width=&quot;347&quot;&gt;&lt;div class=&quot;MsoNormal&quot; style=&quot;mso-yfti-cnfc: 4;&quot;&gt;
&lt;code style=&quot;background-color: rgba(27, 31, 35, 0.05); border-radius: 3px; box-sizing: border-box;&quot;&gt;&lt;b&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;git diff [source
  branch] [target branch]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
  &lt;td style=&quot;border-bottom: solid #9BBB59 1.0pt; border-left: none; border-right: solid #9BBB59 1.0pt; border-top: none; mso-border-bottom-themecolor: accent3; mso-border-right-themecolor: accent3; padding: 0cm 5.4pt 0cm 5.4pt; width: 288.35pt;&quot; valign=&quot;top&quot; width=&quot;384&quot;&gt;&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;code&gt;&lt;span lang=&quot;EN-GB&quot; style=&quot;color: #24292e; font-family: &amp;quot;cambria&amp;quot; , &amp;quot;serif&amp;quot;; mso-ansi-font-size: 12.0pt; mso-ascii-theme-font: major-latin; mso-bidi-font-family: Consolas; mso-bidi-font-size: 12.0pt; mso-hansi-theme-font: major-latin;&quot;&gt;Preview changes before merging&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/code&gt;&lt;/div&gt;
&lt;/td&gt;
 &lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/1168532159853012993/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2019/07/git-commands.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/1168532159853012993'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/1168532159853012993'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2019/07/git-commands.html' title='Git Commands -'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-3340373238462665543</id><published>2019-07-01T05:42:00.001-07:00</published><updated>2019-07-01T05:42:07.143-07:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Git Introduction"/><title type='text'>Git Quick Card</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;br /&gt;
&lt;h1 style=&quot;margin-bottom: 3.0pt; margin-left: 0cm; margin-right: 0cm; margin-top: 6.0pt; mso-line-height-alt: 12.0pt; mso-list: l0 level1 lfo1; mso-pagination: none; mso-text-indent-alt: 0cm; text-align: justify; text-indent: 0cm;&quot;&gt;
&lt;a href=&quot;https://www.blogger.com/u/1/null&quot; name=&quot;_Toc480314580&quot;&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;
&lt;h1 style=&quot;margin-bottom: 3.0pt; margin-left: 0cm; margin-right: 0cm; margin-top: 6.0pt; mso-line-height-alt: 12.0pt; mso-list: l0 level1 lfo1; mso-pagination: none; mso-text-indent-alt: 0cm; text-align: justify; text-indent: 0cm;&quot;&gt;
&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;span lang=&quot;EN-US&quot;&gt;Git –
Introduction&lt;/span&gt;&lt;span lang=&quot;EN-US&quot;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/span&gt;&lt;/h1&gt;
&lt;h1 style=&quot;margin-bottom: 3.0pt; margin-left: 0cm; margin-right: 0cm; margin-top: 6.0pt; mso-line-height-alt: 12.0pt; mso-list: l0 level1 lfo1; mso-pagination: none; mso-text-indent-alt: 0cm; text-align: justify; text-indent: 0cm;&quot;&gt;

&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-weight: normal;&quot;&gt;There are many
popular DVCS systems like Git, Mercurial, Bazaar which has grown maturely to
implement distributed revision across their products. Git is widely used by the
development teams across the world due to its simplicity, active open source the development team&amp;nbsp; and frequent
releases/patches. Before moving forward with the git concepts, few of them
terminologies which will be frequently used in this tutorial are defined below
:&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; text-indent: -18pt;&quot;&gt;Remote Repository :
&lt;/span&gt;&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-weight: normal; text-indent: -18pt;&quot;&gt;This refers to the specific project space on the central server where the
project source code is stored and will be used by the team members for checkout
or commit.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; text-indent: -18pt;&quot;&gt;Local Repository&lt;/span&gt;&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-weight: normal; text-indent: -18pt;&quot;&gt; (.git
directory): There is a local folder “.git” which is automatically created when
the project or folder is git tracked. The “.git” folder is like a local
database which will contain all information related to branches, commit
history, user configurations, and metadata.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; text-indent: -18pt;&quot;&gt;Branches / Tags&lt;span style=&quot;font-weight: normal;&quot;&gt; – Has
the same definition as that of SVN /VSS.&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; text-indent: -18pt;&quot;&gt;Checkout&lt;span style=&quot;font-weight: normal;&quot;&gt; – Since git
has a local copy of all branches, a checkout of a branch would always be a
local operation and not a remote server call as in SVN.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; text-indent: -18pt;&quot;&gt;Clone –&lt;/span&gt;&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-weight: normal; text-indent: -18pt;&quot;&gt; When a git
clone command is invoked, the entire remote repository is fetched which
includes the branches, tags, commit history and file changes.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoNormal&quot; style=&quot;background: white; line-height: 19.5pt;&quot;&gt;
&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; text-indent: -18pt;&quot;&gt;Staging Area -&lt;/span&gt;&lt;span style=&quot;font-family: Calibri, sans-serif; font-size: 11pt; font-weight: normal; text-indent: -18pt;&quot;&gt; is a
file located in the project git directory, that stores information about what
will go into your next commit.&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;background: white; line-height: 19.5pt; mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;span lang=&quot;EN-US&quot; style=&quot;font-family: Calibri, sans-serif; font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-weight: normal;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrplHFEvtTjLIf-08lnZBv0zbtLtA7inrb2Beu7ipqv_4ad9ELlgQyqPrXCfj90zsi0z178r-6LgYXyVKC0lJfwhnD5y8m-HTeORonGnmyhGLCeIGpyn2yzAs74OxOAOIRCfzx7_UcSXGA/s1600/git_working.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-left: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;229&quot; data-original-width=&quot;683&quot; height=&quot;212&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrplHFEvtTjLIf-08lnZBv0zbtLtA7inrb2Beu7ipqv_4ad9ELlgQyqPrXCfj90zsi0z178r-6LgYXyVKC0lJfwhnD5y8m-HTeORonGnmyhGLCeIGpyn2yzAs74OxOAOIRCfzx7_UcSXGA/s640/git_working.JPG&quot; width=&quot;640&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;font-family: Calibri, sans-serif;&quot;&gt;&lt;/span&gt;&lt;/div&gt;
&lt;/h1&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/h3&gt;
&lt;br /&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/3340373238462665543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2019/07/git-quick-card.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/3340373238462665543'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/3340373238462665543'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2019/07/git-quick-card.html' title='Git Quick Card'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgrplHFEvtTjLIf-08lnZBv0zbtLtA7inrb2Beu7ipqv_4ad9ELlgQyqPrXCfj90zsi0z178r-6LgYXyVKC0lJfwhnD5y8m-HTeORonGnmyhGLCeIGpyn2yzAs74OxOAOIRCfzx7_UcSXGA/s72-c/git_working.JPG" height="72" width="72"/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-5270676415843980385</id><published>2019-02-12T10:58:00.000-08:00</published><updated>2019-02-16T11:17:07.632-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Introduction to Spring Batch"/><title type='text'>Spring batch introduction</title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;text-indent: -24px;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;An open source framework to create batch processing application which can deal with the high volume of data, capable to handle processing of billions of records in a day efficiently.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;Lightweight framework – consume very less memory.&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;It’s not a scheduling framework&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Provide out of the box APIs to read, process and write data.&lt;/span&gt;&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;li style=&quot;text-indent: 0px;&quot;&gt;&lt;span dir=&quot;LTR&quot; style=&quot;text-indent: -18pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Efficient transaction management and e&lt;/span&gt;&lt;span style=&quot;text-indent: -24px;&quot;&gt;rror handling&lt;/span&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Why does the batch job needed?&lt;/h3&gt;
&lt;div&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l2 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Automate the complex processing (applying business logic on &lt;/span&gt;data/transforming&lt;span style=&quot;text-indent: -18pt;&quot;&gt; data) of large volumes of data without any user interaction.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
Spring Batch vs Spring Boot Batch -&lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraph&quot; style=&quot;mso-list: l2 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;·&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Spring batch is a batch processing framework and spring boot help us to do rapid development by using starter-templates (convention over configuration).&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
What are the ideal use cases for the batch job?&lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l2 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Reads the high volume of records from the &lt;/span&gt;database/file&lt;span style=&quot;text-indent: -18pt;&quot;&gt; system.&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-size: 7pt; font-stretch: normal; font-variant-east-asian: normal; font-variant-numeric: normal; line-height: normal;&quot;&gt;&amp;nbsp;&lt;/span&gt;&lt;span dir=&quot;LTR&quot; style=&quot;text-indent: -18pt;&quot;&gt;&lt;/span&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Process the data e.g. Month-end / Weekend calculations&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Write back processed data / generates reports&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l2 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l2 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
What are the different ways to achieve high-performance batch processing?&lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;mso-list: l0 level1 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Parallel steps&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Multithreaded steps&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;text-indent: -18pt;&quot;&gt;Partitioning&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;!--[if !supportLists]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;br /&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;mso-list: l0 level1 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo3; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;h3 style=&quot;text-align: left;&quot;&gt;
What are the advantages of spring batch?&lt;/h3&gt;
&lt;div class=&quot;MsoNormal&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpFirst&quot; style=&quot;margin-left: 38.7pt; mso-add-space: auto; mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;Easy to configure, customize by leveraging the spring framework in all layers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpMiddle&quot; style=&quot;margin-left: 38.7pt; mso-add-space: auto; mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;Easy to build and deploy. &lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;margin-left: 38.7pt; mso-add-space: auto; mso-list: l1 level1 lfo2; text-indent: -18.0pt;&quot;&gt;
&lt;!--[if !supportLists]--&gt;&lt;span style=&quot;font-family: &amp;quot;symbol&amp;quot;; mso-bidi-font-family: Symbol; mso-fareast-font-family: Symbol;&quot;&gt;·&lt;span style=&quot;font-family: &amp;quot;times new roman&amp;quot;; font-size: 7pt; font-stretch: normal; line-height: normal;&quot;&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;&lt;span dir=&quot;LTR&quot;&gt;&lt;/span&gt;Developers only needs to focus on business logic other things will be taken care by the framework, like records processed, how many records are remaining to process how to commit those records etc.&amp;nbsp;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div class=&quot;MsoListParagraphCxSpLast&quot; style=&quot;mso-list: l0 level1 lfo1; text-indent: -18.0pt;&quot;&gt;
&lt;o:p&gt;&lt;/o:p&gt;&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/5270676415843980385/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2019/02/introduction-to-spring-batch.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/5270676415843980385'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/5270676415843980385'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2019/02/introduction-to-spring-batch.html' title='Spring batch introduction'/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7066447711220759457.post-9006720866857112543</id><published>2019-02-09T12:19:00.001-08:00</published><updated>2019-02-16T11:25:35.396-08:00</updated><category scheme="http://www.blogger.com/atom/ns#" term="Spring Boot Batch Job"/><title type='text'>Spring Boot Batch - Parallel Processing (Running Multiple Jobs Concurrently) </title><content type='html'>&lt;div dir=&quot;ltr&quot; style=&quot;text-align: left;&quot; trbidi=&quot;on&quot;&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: 14.6667px;&quot;&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;If you are new to Spring batch&amp;nbsp;please check the earlier post about &lt;a href=&quot;https://ctcsinfo.blogspot.com/2019/02/introduction-to-spring-batch.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;S&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;font-size: 11pt;&quot;&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;&lt;a href=&quot;https://ctcsinfo.blogspot.com/2019/02/introduction-to-spring-batch.html&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;pring batch introduction&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-size: 11pt; line-height: 115%;&quot;&gt;&lt;span style=&quot;font-family: Georgia, Times New Roman, serif;&quot;&gt;In this post we will see Spring boot batch example, Spring boot batch parallel processing example&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Spring boot batch parallel processing allows multiple &lt;a href=&quot;https://spring.io/projects/spring-batch#overview&quot; rel=&quot;nofollow&quot; target=&quot;_blank&quot;&gt;batch jobs&lt;/a&gt; to run in parallel to minimize the total elapsed batch processing time.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;This is not a problem as long as the jobs are not sharing the same files, db-tables, or index spaces. If they do, this service should be implemented&amp;nbsp;using partitioned data.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;We will create the application having the following&amp;nbsp;2 jobs -&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;1st Job: Reads the &lt;b&gt;P&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;roduct&lt;/span&gt;&lt;/b&gt;&lt;b style=&quot;font-family: Georgia, &amp;quot;Times New Roman&amp;quot;, serif;&quot;&gt; &lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;information from the database and after processing will give the rating to the project.&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;ul style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;2nd Job: Reads the Invoice the information the database and update back to the database.&amp;nbsp;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;We are not focusing on the business logic here but the processing of data using multiple jobs.&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Technical Details -&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Java 8&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;http://spring.io/projects/spring-boot&quot; target=&quot;_blank&quot;&gt;Spring Boot 2.x&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://spring.io/guides/gs/batch-processing/&quot; target=&quot;_blank&quot;&gt;Spring Batch 4.x&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://www.mysql.com/&quot; target=&quot;_blank&quot;&gt;MySql 5.7.17&lt;/a&gt;&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://www.jetbrains.com/idea/download/#section=windows&quot; target=&quot;_blank&quot;&gt;IntelliJ-Community&amp;nbsp;Edition&amp;nbsp; 2018-3&lt;/a&gt; (Same code will work in Eclipse as well 😃&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 12.8pt;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 12.8pt;&quot;&gt;&lt;b&gt;Source Code available on GitHub -&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;a href=&quot;https://github.com/shrikantar/spring-boot-batch-parallel-jobs.git&quot;&gt;&lt;span style=&quot;color: blue;&quot;&gt;https://github.com/shrikantar/spring-boot-batch-parallel-jobs.git&lt;/span&gt;&lt;/a&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;br /&gt;
Project Structure -&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;ol style=&quot;text-align: left;&quot;&gt;
&lt;li&gt;InvoiceProcessingJob and ProductProcessingJob these are 2 jobs having their own ItemReader, ItemProcessor, and&amp;nbsp;ItemWriter.&amp;nbsp;&lt;/li&gt;
&lt;li&gt;JobLauncherConfig will run both the above job&lt;/li&gt;
&lt;/ol&gt;
&lt;/div&gt;
&lt;div&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRcMeg4FW9pRFufe6e1FQ-9dPxYbCUdMjyM0aaR-prmphKCi0JHe-hbaeIawiruSVb4ePYg-_mi5OpGEaIa_l3xbCZFfVfmH1gQafH0yCPDk4suUjhv0jNOkgLiGfBvPQ4oldWtu4wvojx/s1600/prj-str.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;497&quot; data-original-width=&quot;367&quot; height=&quot;320&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRcMeg4FW9pRFufe6e1FQ-9dPxYbCUdMjyM0aaR-prmphKCi0JHe-hbaeIawiruSVb4ePYg-_mi5OpGEaIa_l3xbCZFfVfmH1gQafH0yCPDk4suUjhv0jNOkgLiGfBvPQ4oldWtu4wvojx/s320/prj-str.JPG&quot; width=&quot;236&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;b style=&quot;font-family: &amp;quot;Courier New&amp;quot;;&quot;&gt;&lt;u&gt;pom.xml&lt;/u&gt; &lt;/b&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Following are the dependencies -&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfnpb5dBR-CAL00njUH0n_enSFnKiJQRWZDt8TbcyYnMsWZyAzUkbBA7EymcFF3h_Uxdtgj0Kk53cFiucvpO8uVBGPHHSr5Aab1praNrmjs3rXGIEFPUpd3HRvUWkI2dPwjpZL50hvo0Fp/s1600/pom.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;445&quot; data-original-width=&quot;641&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhfnpb5dBR-CAL00njUH0n_enSFnKiJQRWZDt8TbcyYnMsWZyAzUkbBA7EymcFF3h_Uxdtgj0Kk53cFiucvpO8uVBGPHHSr5Aab1praNrmjs3rXGIEFPUpd3HRvUWkI2dPwjpZL50hvo0Fp/s1600/pom.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;b&gt;application.propeties -&lt;/b&gt; &lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;By default Spring batch is enabled, it means that as soon as application started, job will launch &lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;We are invoking our job using scheduler that why we have provided &lt;b style=&quot;font-size: 12.8pt;&quot;&gt;spring.batch.job.enabled=false&lt;/b&gt;&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;235&quot; data-original-width=&quot;884&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjP3SwgSSPo9XhADkhlYrqD1MCuSc2SilMQTB8RfmxvmpIiNRhku9KQ7HSb5g5SBZ1b8crPZV070Qm4XNtOdhgrF4KIpPNz6sTw3xmRQf5tJwNGbbROnVRwSfv9_P_DWzDsH5R2-M7oUD7h/s1600/application-properties.JPG&quot; /&gt;&lt;/pre&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Job-1: &lt;/u&gt;&lt;/b&gt;We have created the job. Notice the various annotations we are using here. @Configuration required to inform Spring container this is a Config file and will hold bean definitions.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 17.0667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 17.0667px;&quot;&gt;@EnableBatchProcessing - Enables the batch processing.&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 17.0667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 17.0667px;&quot;&gt;Chunk Size - Denotes the commit interval. After processing 5 records job will commit the transaction&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;background-color: white; font-size: 12.8pt; text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif; font-size: 17.0667px;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqY_001a7jheX-5PuVGYTkVTIWBKgOKbg3jzpF2jlXbW1j8ezCQ17AwmpMaH3l1abYHeEpnv9ZYg3s1Icbva81zvNlbfYgcD8eOG0no8fZWIaJtpzcpWLBkmRv6W-dQfOA8oCswWmU9wT6/s1600/job-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;726&quot; data-original-width=&quot;993&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqY_001a7jheX-5PuVGYTkVTIWBKgOKbg3jzpF2jlXbW1j8ezCQ17AwmpMaH3l1abYHeEpnv9ZYg3s1Icbva81zvNlbfYgcD8eOG0no8fZWIaJtpzcpWLBkmRv6W-dQfOA8oCswWmU9wT6/s1600/job-1.jpg&quot; /&gt;&lt;/a&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgqY_001a7jheX-5PuVGYTkVTIWBKgOKbg3jzpF2jlXbW1j8ezCQ17AwmpMaH3l1abYHeEpnv9ZYg3s1Icbva81zvNlbfYgcD8eOG0no8fZWIaJtpzcpWLBkmRv6W-dQfOA8oCswWmU9wT6/s1600/job-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em; text-align: left;&quot;&gt;&lt;br /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;We are using the JdbcCursorItemReader which will read the data from the database -&amp;nbsp;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEeaJMaUmtp6CQDRZXEEaOLYFtWihciYltmmJt_WxkMZRBp_1aGQ5B2710xltrrIArHXoydYbhyyS6QcOE3-mT6bk5aKMM2qblRrYTpQcH965rFICQI5_3vh9OAu0AwPilrFvVppYqDZOf/s1600/job-1-0.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;726&quot; data-original-width=&quot;1365&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhEeaJMaUmtp6CQDRZXEEaOLYFtWihciYltmmJt_WxkMZRBp_1aGQ5B2710xltrrIArHXoydYbhyyS6QcOE3-mT6bk5aKMM2qblRrYTpQcH965rFICQI5_3vh9OAu0AwPilrFvVppYqDZOf/s1600/job-1-0.jpg&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSvtYpCdWSEr_YlXgZmzo5YVWjqF83HQQLPd_K-BnnyDwPbp3KLlWTgGUYHayFeRoq9itXzyvZ_wBFvDqJOGKc3VV1-4oMQi_Cm5drQzCJCEUkPo-r0iVtsGjkp-oCh4r8dANXUMpKNTUi/s1600/job-1-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;199&quot; data-original-width=&quot;788&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiSvtYpCdWSEr_YlXgZmzo5YVWjqF83HQQLPd_K-BnnyDwPbp3KLlWTgGUYHayFeRoq9itXzyvZ_wBFvDqJOGKc3VV1-4oMQi_Cm5drQzCJCEUkPo-r0iVtsGjkp-oCh4r8dANXUMpKNTUi/s1600/job-1-1.jpg&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;b&gt;&lt;u&gt;Job-2: &lt;/u&gt;&lt;/b&gt;This job reads the product information from the database and generates the invoices&amp;nbsp;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSOkLqINzKna3yUXEsl2VhP68yxzM_1WhRdW2CaQHkn8p0w7jtRf9mlkN96TKL7-gXP6cJiqpjlALrmDPQmXU8zjEecPrsjpBzF_M17Fv2_U34g0QiH0VDEuHd45Y4pUoq8zO50iz5YDFn/s1600/job-2.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;702&quot; data-original-width=&quot;1016&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhSOkLqINzKna3yUXEsl2VhP68yxzM_1WhRdW2CaQHkn8p0w7jtRf9mlkN96TKL7-gXP6cJiqpjlALrmDPQmXU8zjEecPrsjpBzF_M17Fv2_U34g0QiH0VDEuHd45Y4pUoq8zO50iz5YDFn/s1600/job-2.JPG&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;br /&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeyXDGCxT7lK9ATwRDiDux96oQE7xwVxWs8UM90XEaAQdGwb0hyV57hwc6AYUglfYoJNxMPZSoiaFnqcUOfB9lxce-ZYhVG_9wXxMLROVVQ7nf7s14mGx4tjNKSmTzAzQ0XWFuMGoNXmWb/s1600/job-2-0.jpg&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;460&quot; data-original-width=&quot;873&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgeyXDGCxT7lK9ATwRDiDux96oQE7xwVxWs8UM90XEaAQdGwb0hyV57hwc6AYUglfYoJNxMPZSoiaFnqcUOfB9lxce-ZYhVG_9wXxMLROVVQ7nf7s14mGx4tjNKSmTzAzQ0XWFuMGoNXmWb/s1600/job-2-0.jpg&quot; /&gt;&lt;/a&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;div style=&quot;text-align: left;&quot;&gt;
&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;
&lt;br /&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVrkCt4Jf3N7R-vcsviTx5xB8lbEBiO2YWReSXk_u7n28t5BBUREjBqdAFq_ugBLjo3TEu73cVKtahn3HxRGeSUMqCrSbyO-xnGq3GLetfYJ8uJh3Yx3YNkR3TIxOHf-PscKZdOkuw4g8s/s1600/job-2-1.jpg&quot; imageanchor=&quot;1&quot; style=&quot;background-color: transparent; clear: left; display: inline !important; float: left; font-size: 12.8pt; margin-bottom: 1em; margin-right: 1em; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;530&quot; data-original-width=&quot;1226&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVrkCt4Jf3N7R-vcsviTx5xB8lbEBiO2YWReSXk_u7n28t5BBUREjBqdAFq_ugBLjo3TEu73cVKtahn3HxRGeSUMqCrSbyO-xnGq3GLetfYJ8uJh3Yx3YNkR3TIxOHf-PscKZdOkuw4g8s/s1600/job-2-1.jpg&quot; /&gt;&lt;/a&gt;&lt;span style=&quot;clear: left; float: left; font-size: 12.8pt; margin-bottom: 1em; margin-right: 1em; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;We will use the following&amp;nbsp;class to launch the job we have created above. We have&amp;nbsp;autowired&amp;nbsp;both jobs and using job launcher will start them.&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;span style=&quot;clear: left; float: left; font-size: 12.8pt; margin-bottom: 1em; margin-right: 1em; text-align: left;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;The launch method will get periodically called as we have annotated with the @Scheduled annotation&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;Finaly Job Launcher - &lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS7a-93VZTnsN8Oi4t-LEIrpDlD91-S06UhhGY-hoBcDSuxK2j7yAcOS4HsRDkJxS-B6MJAx71yKyvUC3ViuP0CPSDh-b6AzUaI9kcFVz8-VJAwWGqT9Lj-puoWI9aOIoUHZsEtjdbMJuV/s1600/job-2-3.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; float: left; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;488&quot; data-original-width=&quot;1004&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiS7a-93VZTnsN8Oi4t-LEIrpDlD91-S06UhhGY-hoBcDSuxK2j7yAcOS4HsRDkJxS-B6MJAx71yKyvUC3ViuP0CPSDh-b6AzUaI9kcFVz8-VJAwWGqT9Lj-puoWI9aOIoUHZsEtjdbMJuV/s1600/job-2-3.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;div class=&quot;separator&quot; style=&quot;clear: both; text-align: center;&quot;&gt;
&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6KafVcdKJLGb2_FVkx_HWftq1nWVqxKtNCc_gfC_OOr9kgRoguy4GamU3-CmRoZSjFq_qklajEqXulxbBtm4NuiQjHI4wh-xXK3sbUWuxJj6UdKWh0O0Uwchib2IL6UWbssMJYr5Br98m/s1600/job-2-4.JPG&quot; imageanchor=&quot;1&quot; style=&quot;clear: left; display: inline !important; margin-bottom: 1em; margin-right: 1em;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;532&quot; data-original-width=&quot;1405&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEg6KafVcdKJLGb2_FVkx_HWftq1nWVqxKtNCc_gfC_OOr9kgRoguy4GamU3-CmRoZSjFq_qklajEqXulxbBtm4NuiQjHI4wh-xXK3sbUWuxJj6UdKWh0O0Uwchib2IL6UWbssMJYr5Br98m/s1600/job-2-4.JPG&quot; /&gt;&lt;/a&gt;&lt;/div&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;Finally following is the main class to start our Spring Boot batch application - &lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;table cellpadding=&quot;0&quot; cellspacing=&quot;0&quot; class=&quot;tr-caption-container&quot; style=&quot;float: left; margin-right: 1em; text-align: left;&quot;&gt;&lt;tbody&gt;
&lt;tr&gt;&lt;td style=&quot;text-align: center;&quot;&gt;&lt;a href=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigUhHHx8NlD2bJrcRfSGoWOsqsHWruHRVHPqrPrB5Ak4Xtar20Zeh6dNzenme4TGYK32tg3F7MNCVhrF9zLDt2LFUlo8H0QnJ6guDh_fVI0RUEORK7P5hByJtpD_Pw61rAO4MvxZahSKvT/s1600/job-2-5.JPG&quot; imageanchor=&quot;1&quot; style=&quot;background-color: transparent; clear: left; display: inline; margin-bottom: 1em; margin-left: auto; margin-right: auto; text-align: center;&quot;&gt;&lt;img border=&quot;0&quot; data-original-height=&quot;418&quot; data-original-width=&quot;792&quot; src=&quot;https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEigUhHHx8NlD2bJrcRfSGoWOsqsHWruHRVHPqrPrB5Ak4Xtar20Zeh6dNzenme4TGYK32tg3F7MNCVhrF9zLDt2LFUlo8H0QnJ6guDh_fVI0RUEORK7P5hByJtpD_Pw61rAO4MvxZahSKvT/s1600/job-2-5.JPG&quot; /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;tr-caption&quot; style=&quot;text-align: center;&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-size: 12.8pt;&quot;&gt;&lt;span style=&quot;font-family: &amp;quot;georgia&amp;quot; , &amp;quot;times new roman&amp;quot; , serif;&quot;&gt;
&lt;/span&gt;&lt;/pre&gt;
&lt;pre style=&quot;background-color: white; font-family: &amp;quot;Courier New&amp;quot;; font-size: 12.8pt;&quot;&gt;&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;
&lt;/div&gt;
</content><link rel='replies' type='application/atom+xml' href='https://ctcsinfo.blogspot.com/feeds/9006720866857112543/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='https://ctcsinfo.blogspot.com/2019/02/spring-boot-batch-parallel-processing.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/9006720866857112543'/><link rel='self' type='application/atom+xml' href='https://www.blogger.com/feeds/7066447711220759457/posts/default/9006720866857112543'/><link rel='alternate' type='text/html' href='https://ctcsinfo.blogspot.com/2019/02/spring-boot-batch-parallel-processing.html' title='Spring Boot Batch - Parallel Processing (Running Multiple Jobs Concurrently) '/><author><name>Shrikant Arbat</name><uri>http://www.blogger.com/profile/10544763136096567475</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiVERPVErTuNVoJCpN-fjPPt17CDAUo1Ut8OclCmWprYMr32Rks_MshkbpLojZHkOAhJzWBK3d6csBpXfa91ycabEg4mdBhL1lAMvN_gKfw_BnBhCa8Tfml3nuH2zpRstA/s113/shri.JPG'/></author><media:thumbnail xmlns:media="http://search.yahoo.com/mrss/" url="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgRcMeg4FW9pRFufe6e1FQ-9dPxYbCUdMjyM0aaR-prmphKCi0JHe-hbaeIawiruSVb4ePYg-_mi5OpGEaIa_l3xbCZFfVfmH1gQafH0yCPDk4suUjhv0jNOkgLiGfBvPQ4oldWtu4wvojx/s72-c/prj-str.JPG" height="72" width="72"/><thr:total>2</thr:total></entry></feed>