open source spring vaadin

Improving the Vaadin 4 Spring project with a simpler MVP

I’ve been using the Vaadin 4 Spring library on my current project, and this has been a very pleasant experience. However, in the middle of the project, a colleague of mine decided to improve the testability. The intention was laudable, though the project already tried to implement the Model View Presenter pattern. Instead of correcting the mistakes here and there, he refactored the whole codebase using the provided MVP module…​ IMHO, this has been a huge mistake. In this article

jesuischarlie

Je suis Charlie

This week, there won’t be any technical article. As you might have heard about, cowards armed with automatic weapons brutally murdered cartoonists, journalists, policemen…​ All all in all, 12 people died because of stupidity and obscurantism, just because their truth was contradictory to their murderers' - or just because they happened to be on site. Right now, I’m afraid I start to understand what American people felt after September 11th. I’m not a cartoonist,

configuration maven spring

Spring profiles or Maven profiles?

Deploying on different environments requires configuration, e.g. database URL(s) must be set on each dedicated environment. In most - if not all Java applications, this is achieved through a .properties file, loaded through the appropriately-named Properties class. During development, there’s no reason not to use the same configuration system, e.g. to use an embedded h2 database instead of the production one. Unfortunately, Jave EE applications generally fall outside this usage, as the good

java 8 spring

Optional dependencies in Spring

I’m a regular Spring framework user and I think I know the framework pretty well, but it seems I’m always stumbling upon something useful I didn’t know about. At Devoxx, I learned that you could express conditional dependencies using Java 8’s new Optional type. Note that before Java 8, optional dependencies could be auto-wired using @Autowired(required = false), but then you had to check for null. How good is that? Well, I can think about a million use-cases, but here are

configuration spring

Avoid conditional logic in @Configuration

Integration Testing Spring applications mandates to create small dedicated configuration fragments and to assemble them either during normal run of the application or during tests. Even in the latter case, different fragments can be assembled in different tests. However, this practice doesn’t handle the use-case where I want to use the application in two different environments. As an example, I might want to use a JNDI datasource in deployed environments and a direct connection when devel

docker vaadin

From Vaadin to Docker, a novice's journey

I’m a huge Vaadin fan and I’ve created a Github workshop I can demo at conferences. A common issue with such kind of workshops is that attendees have to prepare their workstations in advance…​ and there’s always a significant part of them that comes with not everything ready. At this point, two options are available to the speaker: either wait for each of the attendee to finish the preparation - too bad for the people who took the time at home to do that, or start an

devops graphite metrics performance spring Spring MVC

Metrics, metrics everywhere

With DevOps, metrics are starting to be among the non-functional requirements any application has to bring into scope. Before going further, there are several comments I’d like to make: Metrics are not only about non-functional stuff. Many metrics represent very important KPI for the business. For example, for an e-commerce shop, the business needs to know how many customers leave the checkout process, and in which screen. True, there are several solutions to achieve this, though they are

recruiting

Dear recruiters

I had been pleasantly surprised last time when, after connecting on LinkedIn, a recruiter sent me a personalized mail. It was the first time it happened, and I found this gesture showed that the recruiter cared about the relationship. Besides, the job I currently have was found on LinkedIn - or more correctly, a recruiter found me for this job. This is to say that I have nothing against neither recruiters nor LinkedIn. Unfortunately, more often than not, I usually receive such messages: Hel

Integration Testing around Europe

Recently, I was invited to talk in some great conferences around Europe : JavaDay KyivJoker in St. PetersburgAgile Tour London It was not only a great trip, it was the occasion to talk about Integration Testing, how it’s different from Unit Testing, its pros and cons, ways to overcome the cons, how to Fake infrastructure dependencies and how to test in-container with Spring, Spring MVC and Java EE - well, a 45minutes/one-hour summary of my Integration Testing from the Trenches book. Yo

application server microservices spring boot

On resources scarcity, application servers and micro-services

While attending JavaZone recently, I went to a talk by Neal Ford. To be honest, the talk was not something mind-blowing, many tools he showed were either outdated or not best of breed, but he stated a very important fact: application servers are meant to address resources scarcity by sharing resources, while those resources are no more scarce in this day and age. In fact, this completely matches my experience. Remember 10 years ago when we had to order hardware 6 months in advance? At that time