Vaadin ThreadLocal


I use the Vaadin Thread Local pattern in my Vaadin applications as a means to move the Application object around the various components and to implement a authentication process.

The structure of an application which uses this pattern is as follows:

public class VaadinApplication extends Application implements HttpServletRequestListener {

    private static ThreadLocal<VaadinApplication> instance = new ThreadLocal<VaadinApplication>()


public VaadinApplication() {
        instance.set(this);
    }


@Override
    public void onRequestStart(HttpServletRequest request, HttpServletResponse response) {

        instance.set(this);
    }

    @Override
    public void onRequestEnd(HttpServletRequest request, HttpServletResponse response) {
        instance.remove();
    }

    public static VaadinApplication getInstance() {
        return instance.get();
    } }

Comments

Popular posts from this blog

Vaadin - GRID Component

Connecting a Vaadin SQL Container to a Combo Box

Vaadin and Google Maps