02 Sep 2019
In this tutorial we will walk through how to implement and define crob jobs with a schedule behind of it in Spring Framework. Generally, in software architectures we want to have some background jobs to do some processing, aggregating or even just fetching some data
and streaming them. Instead of implementing separate cron jobs and managing them as a separate application we can create and maintain cron jobs in same spring application with using
@Scheduled annotation. Generally, all the scheduled tasks will run on the same thread which means when current task is being processed others will get blocked and has to wait current thread to finish. However, this can be configured by implementing our own
ThreadPoolTaskExecutor to assign a thread pool. So that each task will run asyncrohonously.
14 Aug 2019
In this tutorial I will walk through about building a disposable email address architecture on AWS for received emails. We will be able intercept emails and process their attributes like
attachments etc. Nowadays, there are so many online products requires a valid email to send a verification code to complete registration. In these cases you may not want to give your personal or work email which you can have a disposable email address for these kind of temporary operations.
- Intercept incoming emails and filter through defined rule set in
- Save email with its contents into
- Invoke an
AWS Lambda function to process received email by getting email contents from
S3 with its
07 Jun 2019
In this tutorial I will talk about some retry examples in Spring and how to do it. Retry logic or in other words retry strategies are being used
when an operation is failed and we want to basically retry that operation again by a logic. Most of the software systems are doing external calls, operations etc.
which are dependent on other systems or resources. For example, charging a client by sending a charge request to Stripe, sending a message to Amazon SQS queue which might failed for a short time due to a transitive issue. Instead of, failing the process at the very first try we can basically have a retry strategy to try the current operation multiple times to continue current process without any issue. In Spring, there are multiple ways to define how to retry on some operation.
02 Mar 2015
We have seen how to inject cdi beans by using qualifiers and producers so far. Additionally, every cdi bean has a lifecycle, and we can initialize and prepare to destroy any managed bean by using two common annotations;
@PreDestroy. Methods annotated with these annotations are called bean lifecycle callbacks.
23 Feb 2015
Enums (Enumeration) are introduced as a new reference type in Java 1.5 with a bunch of beneficial features. They consist of fix set of constants (each constant is implicitly labeled as
public static final) which each constant can have a data-set. Lets see the simplest example of an Enum;