One of the most common pitfalls when developing web applications with Vaadin is to forget that what you are developing is actually a web application! Since the API resembles that of desktop-like UI frameworks, it's easy to forget that a Vaadin application is most likely going to be used by several users at the same time. You need to keep the multi user nature of a Vaadin application in mind when establishing connections to a database.
A desktop application you run locally on your machine might be able to work perfectly with a single connection to the database during its execution time (depending on the complexity of the application, of course). This is due to the single-user nature ...