This post will explain in a simple way how Javascript Closures work. We will go over these topics and frequently asked questions:

  • What is a Javascript Closure
  • What is the reason behind the name ‘Closure’
  • Actually viewing closures in a debugger
  • how to reason about closures while coding
  • the most common pitfalls of it’s use
Continue Reading ...

Remember the first batch job for Podcastpedia.org, presented in Spring Batch Tutorial with Spring Boot and Java Configuration… There, I would read submitted podcasts from a .csv file to add them to the Podcastpedia.org directory (database). Well today I will present how I automated the creation of this kind of input file, with the help of Easy Batch. Why EasyBatch? Because, after seeing my initial post, I was contacted by its founder, Mahmoud Ben Hassine, to have a look at Easy Batch and give it a try. I did, and I am happy about that. Read on to find out why…

Continue Reading ...

In this post we will do a deep dive into Spring transaction management. We will go over on how does @Transactional really works under the hood. Other upcoming posts will include:

  • how to use features like propagation and isolation
  • what are the main pitfalls and how to avoid them
Continue Reading ...

You may recall from my post Autocomplete search box with jQuery and Spring MVC, that I use jQuery ui autocomplete to dynamically search for keywords on Podcastpedia.org. I am now in the process of migrating the source base for Podcastpedia.org to Spring 4. I decided to go with the latest version 4.1.0.RELEASE and everything worked pretty smoothly until I got to test the auto-complete functionality presented in the post mentioned before.

Continue Reading ...

In one of my projects I had a requirement to load reference data from several sources in a Java EE 6 WebLogic environment, with EclipseLink as ORM framework. Since I couldn’t find an annotation in the Java EE world comparable to the sweet @Cacheable from Spring YET, I had to write my “own” caching solution. Although reference data barely changes over time, one extra requirement was to be able to clear the cache from exterior. So here it goes…

Continue Reading ...