Spring + Maven + Vaadin 7 + WebServlet + web.xml issue

[code]
feb 27, 2015 3:15:03 PM org.apache.catalina.core.AprLifecycleListener init
INFO: The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
feb 27, 2015 3:15:03 PM org.apache.tomcat.util.digester.SetPropertiesRule begin
WARNING: [SetPropertiesRule]
{Server/Service/Engine/Host/Context} Setting property 'source' to 'org.eclipse.jst.jee.server:be.meteo.products.tool.ProductsSend' did not find a matching property.
feb 27, 2015 3:15:03 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["http-bio-8080"]

feb 27, 2015 3:15:03 PM org.apache.coyote.AbstractProtocol init
INFO: Initializing ProtocolHandler ["ajp-bio-8009"]

feb 27, 2015 3:15:03 PM org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 1381 ms
feb 27, 2015 3:15:03 PM org.apache.catalina.core.StandardService startInternal
INFO: Starting service Catalina
feb 27, 2015 3:15:03 PM org.apache.catalina.core.StandardEngine startInternal
INFO: Starting Servlet Engine: Apache Tomcat/7.0.47
feb 27, 2015 3:15:12 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing Spring root WebApplicationContext
[org.springframework.web.context.ContextLoader]
 INFO   - Root WebApplicationContext: initialization started
[org.springframework.web.context.support.XmlWebApplicationContext]
 INFO   - Refreshing Root WebApplicationContext: startup date [Fri Feb 27 15:15:12 CET 2015]
; root of context hierarchy
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
 INFO   - Loading XML bean definitions from ServletContext resource 
[/WEB-INF/spring-gui-beans.xml]
[org.springframework.context.annotation.ClassPathBeanDefinitionScanner]
 INFO   - JSR-250 'javax.annotation.ManagedBean' found and supported for component scanning
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
 INFO   - Loading XML bean definitions from ServletContext resource 
[/WEB-INF/spring-gui-components.xml]
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
 INFO   - Loading XML bean definitions from ServletContext resource 
[/WEB-INF/spring-gui-components.xml]
[org.springframework.beans.factory.support.DefaultListableBeanFactory]
 INFO   - Overriding bean definition for bean 'listOfClientsLayout': replacing [Generic bean: class [be.meteo.products.views.ListOfClientsLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]] with [Generic bean: class [be.meteo.products.views.ListOfClientsLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]]
[org.springframework.beans.factory.support.DefaultListableBeanFactory]
 INFO   - Overriding bean definition for bean 'errorfrequency': replacing [Generic bean: class [be.meteo.products.views.ErrorFrequencyLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]] with [Generic bean: class [be.meteo.products.views.ErrorFrequencyLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]]
[org.springframework.beans.factory.support.DefaultListableBeanFactory]
 INFO   - Overriding bean definition for bean 'listOfProducts': replacing [Generic bean: class [be.meteo.products.views.ListOfProductsLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]] with [Generic bean: class [be.meteo.products.views.ListOfProductsLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]]
[org.springframework.beans.factory.support.DefaultListableBeanFactory]
 INFO   - Overriding bean definition for bean 'listOfProductInstances': replacing [Generic bean: class [be.meteo.products.views.ListOfProductInstancesLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]] with [Generic bean: class [be.meteo.products.views.ListOfProductInstancesLayout]
; scope=prototype; abstract=false; lazyInit=false; autowireMode=0; dependencyCheck=0; autowireCandidate=true; primary=false; factoryBeanName=null; factoryMethodName=null; initMethodName=null; destroyMethodName=null; defined in ServletContext resource 
[/WEB-INF/spring-gui-components.xml]]
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
 INFO   - Loading properties file from ServletContext resource 
[/WEB-INF/gui-config.properties]
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
 INFO   - Loading properties file from URL [file:./products-config.properties]

[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
 WARN   - Could not load properties from URL [file:./products-config.properties]
: ./products-config.properties (Bestand of map bestaat niet)
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
 INFO   - Loading properties file from ServletContext resource 
[/WEB-INF/gui-config.properties]
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
 INFO   - Loading properties file from ServletContext resource 
[/WEB-INF/gui-config.properties]
[org.springframework.beans.factory.support.DefaultListableBeanFactory]
 INFO   - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@13d64c88: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.config.internalBeanConfigurerAspect,org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor#0,org.springframework.context.annotation.CommonAnnotationBeanPostProcessor#0,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,productControl,senderDataSource,org.springframework.jdbc.datasource.init.DataSourceInitializer#0,dbHelper,be.meteo.products.gui.service.ErrorReportService#0,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#1,be.meteo.products.gui.ComponentInstanceDetails#0,be.meteo.products.ProductsSend.MyVaadinUI#0,be.meteo.products.gui.ComponentLogInfos#0,be.meteo.products.gui.ComponentProductInfo#0,be.meteo.products.gui.ComponentClientInfo#0,be.meteo.products.gui.ComponentManageHwResources#0,listOfClientsLayout,errorfrequency,listOfProducts,listOfProductInstances,be.meteo.products.gui.ComponentViewErrorsTree#0,be.meteo.products.gui.helperbeans.ErrorsDao#0,be.meteo.products.gui.service.LogReportService#0,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#2,be.meteo.products.gui.ComponentInstanceDetails#1,be.meteo.products.ProductsSend.MyVaadinUI#1,be.meteo.products.gui.ComponentLogInfos#1,be.meteo.products.gui.ComponentProductInfo#1,be.meteo.products.gui.ComponentClientInfo#1,be.meteo.products.gui.ComponentManageHwResources#1,be.meteo.products.gui.ComponentViewErrorsTree#1,be.meteo.products.gui.helperbeans.ErrorsDao#1]
; root of factory hierarchy
[org.springframework.jdbc.datasource.init.ResourceDatabasePopulator]
 INFO   - Executing SQL script from class path resource [database/setup.sql]

[org.springframework.jdbc.datasource.init.ResourceDatabasePopulator]
 INFO   - Done executing SQL script from class path resource [database/setup.sql]
 in 69 ms.
[org.springframework.web.context.ContextLoader]
 INFO   - Root WebApplicationContext: initialization completed in 4064 ms
feb 27, 2015 3:15:16 PM org.apache.catalina.core.ApplicationContext log
INFO: Set web app root system property: 'webapp.root' = 
[/home/stefan/SendingProductWorkSpace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/be.meteo.products.tool.ProductsSend/]
feb 27, 2015 3:15:16 PM org.apache.catalina.core.ApplicationContext log
INFO: Initializing log4j from 
[/home/stefan/SendingProductWorkSpace/.metadata/.plugins/org.eclipse.wst.server.core/tmp1/wtpwebapps/be.meteo.products.tool.ProductsSend/WEB-INF/classes/log4j.properties]
feb 27, 2015 3:15:16 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["http-bio-8080"]

feb 27, 2015 3:15:16 PM org.apache.coyote.AbstractProtocol start
INFO: Starting ProtocolHandler ["ajp-bio-8009"]

feb 27, 2015 3:15:16 PM org.apache.catalina.startup.Catalina start
INFO: Server startup in 12473 ms
feb 27, 2015 3:15:17 PM com.vaadin.server.DefaultDeploymentConfiguration checkProductionMode
WARNING:
=================================================================
Vaadin is running in DEBUG MODE.
Add productionMode=true to web.xml to disable debug features.
To show debug window, add ?debug to your application URL.
=================================================================
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed AtmosphereHandler com.vaadin.server.communication.PushHandler$1 mapped to context-path: /*
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework addAtmosphereHandler
INFO: Installed the following AtmosphereInterceptor mapped to AtmosphereHandler com.vaadin.server.communication.PushHandler$1
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework doInitParams
WARNING: SessionSupport error. Make sure you define org.atmosphere.cpr.SessionSupport as a listener in web.xml instead
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework autoConfigureService
INFO: Atmosphere is using org.atmosphere.cpr.DefaultAnnotationProcessor for processing annotation
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.DefaultAnnotationProcessor configure
INFO: AnnotationProcessor class org.atmosphere.cpr.DefaultAnnotationProcessor$ServletContainerInitializerAnnotationProcessor being used
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.DefaultAnnotationProcessor fallbackToManualAnnotatedClasses
WARNING: Unable to detect annotations. Application may fail to deploy.
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework autoDetectWebSocketHandler
INFO: Auto detecting WebSocketHandler in /WEB-INF/classes/
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework initWebSocket
INFO: Installed WebSocketProtocol org.atmosphere.websocket.protocol.SimpleHttpProtocol
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Installing Default AtmosphereInterceptor
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.CorsInterceptor : CORS Interceptor Support
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.CacheHeadersInterceptor : Default Response's Headers Interceptor
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.PaddingAtmosphereInterceptor : Browser Padding Interceptor Support
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.AndroidAtmosphereInterceptor : Android Interceptor Support
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.HeartbeatInterceptor : Heartbeat Interceptor Support
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.SSEAtmosphereInterceptor : SSE Interceptor Support
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.JSONPAtmosphereInterceptor : JSONP Interceptor Support
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.JavaScriptProtocol : Atmosphere JavaScript Protocol
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor : org.atmosphere.interceptor.WebSocketMessageSuspendInterceptor
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.OnDisconnectInterceptor : Browser disconnection detection
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework newAInterceptor
INFO:     org.atmosphere.interceptor.IdleResourceInterceptor : org.atmosphere.interceptor.IdleResourceInterceptor
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework configureAtmosphereInterceptor
INFO: Set org.atmosphere.cpr.AtmosphereInterceptor.disableDefaults to disable them.
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using EndpointMapper class org.atmosphere.util.DefaultEndpointMapper
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterCache: org.atmosphere.cache.UUIDBroadcasterCache
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Default Broadcaster Class: org.atmosphere.cpr.DefaultBroadcaster
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Broadcaster Polling Wait Time 100
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Shared ExecutorService supported: true
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Messaging Thread Pool Size: Unlimited
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Async I/O Thread Pool Size: 200
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using BroadcasterFactory: org.atmosphere.cpr.DefaultBroadcasterFactory
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Using WebSocketProcessor: org.atmosphere.websocket.DefaultWebSocketProcessor
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: HttpSession supported: true
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using DefaultAtmosphereObjectFactory for dependency injection and object creation
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere is using async support: org.atmosphere.container.Tomcat7Servlet30SupportWithWebSocket running under container: Apache Tomcat/7.0.47 using javax.servlet/3.0
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework info
INFO: Atmosphere Framework 2.1.2.vaadin6 started.
feb 27, 2015 3:15:17 PM org.atmosphere.cpr.AtmosphereFramework interceptor
INFO: Installed AtmosphereInterceptor  Track Message Size Interceptor using | with priority BEFORE_DEFAULT
feb 27, 2015 3:15:19 PM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE:
java.lang.NullPointerException
    at be.meteo.products.gui.helperbeans.ErrorsDao.getListProducts(ErrorsDao.java:88)
    at be.meteo.products.gui.helperbeans.ErrorsDao.getErrorNotAcknowledgedBean(ErrorsDao.java:46)
    at be.meteo.products.views.ErrorFrequencyLayout.enter(ErrorFrequencyLayout.java:66)
    at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:578)
    at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:527)
    at com.vaadin.ui.UI.doInit(UI.java:646)
    at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:217)
    at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)

feb 27, 2015 3:15:19 PM org.apache.catalina.core.StandardWrapperValve invoke
SEVERE: Servlet.service() for servlet [be.meteo.products.ProductsSend.MyVaadinUI$Servlet]
 in context with path 
[/ProductsSend] threw exception [com.vaadin.server.ServiceException: java.lang.NullPointerException]
 with root cause
java.lang.NullPointerException
    at be.meteo.products.gui.helperbeans.ErrorsDao.getListProducts(ErrorsDao.java:88)
    at be.meteo.products.gui.helperbeans.ErrorsDao.getErrorNotAcknowledgedBean(ErrorsDao.java:46)
    at be.meteo.products.views.ErrorFrequencyLayout.enter(ErrorFrequencyLayout.java:66)
    at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:578)
    at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:527)
    at com.vaadin.ui.UI.doInit(UI.java:646)
    at com.vaadin.server.communication.UIInitHandler.getBrowserDetailsUI(UIInitHandler.java:217)
    at com.vaadin.server.communication.UIInitHandler.synchronizedHandleRequest(UIInitHandler.java:74)
    at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
    at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
    at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:123)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:171)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)
[/code]

Migrating an existing application to Vaadin 7, breaks spring integration at some point.
mvn clean package gives a BUILD succesfull, but when doing debug on server (Tomcat in Eclipse) the above error appears.

beans.xml[code]

<?xml version="1.0" encoding="UTF-8"?>

<context:component-scan base-package="be.meteo"/>
<context:spring-configured/>
    <context:annotation-config/>      
<bean class="org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor" />
<bean class="org.springframework.context.annotation.CommonAnnotationBeanPostProcessor" />

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"
    p:ignoreResourceNotFound="true">
        <property name="locations">
            <array>
                <value>/WEB-INF/gui-config.properties</value>
                <value>file:./products-config.properties</value>
            </array>
        </property>
    </bean>

[/code]

web.xml[code]

<?xml version="1.0" encoding="UTF-8"?>

productsSender-gui

contextConfigLocation /WEB-INF/spring-gui-beans.xml org.springframework.web.context.ContextLoaderListener log4jConfigLocation /WEB-INF/classes/log4j.properties org.springframework.web.util.Log4jConfigListener errorReportService be.meteo.products.gui.service.ErrorReportService errorReportService /service/* logReportService be.meteo.products.gui.service.LogReportService logReportService /service/log/* index.html index.htm index.jsp 1440 [/code]the UI class [code] @Theme("productssendtheme") @SuppressWarnings("serial") public class MyVaadinUI extends UI {
Navigator navigator;    
private Object user = "anonymous";
private String fragment;

// public final static String LOWFREQUENCY = “Low - frequency”;
public final static String ERRORFREQUENCY = “Error - frequency”;
public final static String LISTOFCLIENTS = “List of clients”;
public static final String URI_PRODUCT_INSTANCE = “ProductInstance”;
public static final String URI_SINGLE_PRODUCT = “SingleProduct”;
public static final String LISTOFPRODUCTS = “List of products”;
public static final String LISTOFPRODUCTINSTANCES = “Productinstances”;
public static final String OLDVIEWERRORSTREE = “Old View(toberemoved)”;
@Autowired
private DatabaseHelper dbHelper;

@WebServlet(value = "/*", asyncSupported = true)
@VaadinServletConfiguration(productionMode = false, ui = MyVaadinUI.class, widgetset = "be.meteo.products.ProductsSend.AppWidgetSet")
public static class Servlet extends VaadinServlet {
    @Override
    protected VaadinServletService createServletService(DeploymentConfiguration deploymentConfiguration) throws ServiceException {
        VaadinServletService servletService = new VaadinServletService(this, deploymentConfiguration){
            private static final long serialVersionUID = 1L;

            @Override
            public void requestStart(VaadinRequest request, VaadinResponse response) {
                super.requestStart(request, response);

// ProductsSenderApplication.setInstance(ProductsSenderApplication.getInstance());;
setInstance(MyVaadinUI.getInstance());
}

            @Override
            public void requestEnd(VaadinRequest request, VaadinResponse response, VaadinSession session) {
                super.requestEnd(request, response, session);

// ThreadLocal threadLocal = ProductsSenderApplication.getThreadLocal();
MyVaadinUI.threadLocal.remove();
}
};
servletService.init();
return servletService;
}
}

//totest
public static MyVaadinUI getCurrent() {
    return (MyVaadinUI) UI.getCurrent();
}

@Override
protected void init(VaadinRequest request) {
    getPage().setTitle("ProductsSending");
    navigator = new Navigator(this, this);
    final HorizontalLayout hLayout = new HorizontalLayout();
    hLayout.setMargin(false);
    hLayout.setSizeFull();
    setContent(hLayout);

// buildLayout(hLayout);

    // create and register the views
    navigator.addView("", new ErrorFrequencyLayout());
    navigator.addView(OLDVIEWERRORSTREE, new OldViewErrorsTreeLayout());

// navigator.addView(LOWFREQUENCY, new LowFrequencyLayout());
navigator.addView(ERRORFREQUENCY, new ErrorFrequencyLayout());
navigator.addView(LISTOFCLIENTS, new ListOfClientsLayout());
navigator.addView(LISTOFPRODUCTS, new ListOfProductsLayout());
navigator.addView(LISTOFPRODUCTINSTANCES, new ListOfProductInstancesLayout());
navigator.setErrorView(new ErrorView());

}

static ThreadLocal<MyVaadinUI> threadLocal = new ThreadLocal<MyVaadinUI>();

// public UriFragmentUtility urifu;

//added for MyServlet use
public static ThreadLocal<MyVaadinUI> getThreadLocal() {
    return threadLocal;
}

// @return the current application instance
public static MyVaadinUI getInstance() {
    return threadLocal.get();
}

// Set the current application instance
public static void setInstance(MyVaadinUI application) {
    threadLocal.set(application);
}

/**
 * TODO: write code to get url
 * @param string
 * @param clientId
 * @return
 */
public String getNavigationURL(String location    , Object...parameters) {
    StringBuilder sb = new StringBuilder(500);
    sb.append("#").append(location);
    if (parameters!=null)
        for (Object s:parameters)
            sb.append("/").append(s);
    return sb.toString();
}

/**
 * TODO: write code to navigate
 * @param string
 * @param id
 */
public void navigateTo(String location, Object...parameters) {
    StringBuilder sb = new StringBuilder(location);
    if (parameters!=null)
        for (Object s:parameters)
            sb.append("/").append(s);

// urifu.setFragment(sb.toString());
// getPage().setUriFragment(sb.toString());
navigator.navigateTo(sb.toString()); //TODO: to be tested…
}
public DatabaseHelper getDbHelper() {
return dbHelper;
}

public void setDbHelper(DatabaseHelper dbHelper) {
    this.dbHelper = dbHelper;
}

/**
 * TODO: write code to get number of previous errors
 * @return
 */
public int getNbPreviousErrors() {
    // TODO Auto-generated method stub
    return 0;
}

/**
 * TODO: write code to set the number of previous errors
 *
 * @param i
 */
public void setNbPreviousErrors(int i) {
    // TODO Auto-generated method stub
    
}

/**
 * TODO: write code set the display the changed status
 */
public void setLabelStatus() {
    // TODO Auto-generated method stub
    
}

/**
 * TODO: get the actual user...
 * @return
 */
public Object getUser() {
    return user ;
}

public String getFragment() {
    return fragment;
}

public void setFragment(String fragment) {
    this.fragment = fragment;
}

}
[/code]Could someone help me out here, what am I doing wrong or in what direction should I look.

Thank you

Hi,

I see that your UI class is not a managed bean. Which addON you are using? If you are using official addOn please gothrough the tutorials
here

Which ever is the addOn either you make sure that you UI class is either Manged Bean or get the first level beans like in your case
dbHelper
from
Spring context
.

Hi Krishna,

Thank you for your reply.
In my bean configuration file I use context:annotation-config/ and in the UI class I added @Configurable

When deploying on Tomcat in Eclippse it shows this part:

[code]
INFO: Initializing Spring root WebApplicationContext
[org.springframework.web.context.ContextLoader]
INFO - Root WebApplicationContext: initialization started
[org.springframework.web.context.support.XmlWebApplicationContext]
INFO - Refreshing Root WebApplicationContext: startup date [Wed Mar 04 09:50:36 CET 2015]
; root of context hierarchy
2015-03-04 09:50:37 JRebel-Spring: Monitoring Spring bean definitions in ‘/home/stefan/git/sendprod/productSender-gui/src/main/webapp/WEB-INF/spring-gui-beans.xml’.
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
INFO - Loading XML bean definitions from ServletContext resource
[/WEB-INF/spring-gui-beans.xml]
[org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider]
INFO - JSR-250 ‘javax.annotation.ManagedBean’ found and supported for component scanning
2015-03-04 09:50:39 JRebel-Spring: Monitoring Spring bean definitions in ‘/home/stefan/git/sendprod/productSender-gui/src/main/webapp/WEB-INF/spring-gui-components.xml’.
[org.springframework.beans.factory.xml.XmlBeanDefinitionReader]
INFO - Loading XML bean definitions from ServletContext resource
[/WEB-INF/spring-gui-components.xml]
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
INFO - Loading properties file from ServletContext resource
[/WEB-INF/gui-config.properties]
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
INFO - Loading properties file from URL [file:./products-config.properties]

[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
WARN - Could not load properties from URL [file:./products-config.properties]
: ./products-config.properties (Bestand of map bestaat niet)
2015-03-04 09:50:40 JRebel-Spring: Monitoring properties in ‘/home/stefan/git/sendprod/productSender-gui/src/main/webapp/WEB-INF/gui-config.properties’.
[org.springframework.beans.factory.config.PropertyPlaceholderConfigurer]
INFO - Loading properties file from ServletContext resource
[/WEB-INF/gui-config.properties]
[org.springframework.beans.factory.support.DefaultListableBeanFactory]
INFO - Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@71a6fb1f: defining beans [org.springframework.context.annotation.internalConfigurationAnnotationProcessor,org.springframework.context.annotation.internalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotationProcessor,org.springframework.context.annotation.internalCommonAnnotationProcessor,org.springframework.context.config.internalBeanConfigurerAspect,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0,productControl,senderDataSource,org.springframework.jdbc.datasource.init.DataSourceInitializer#0,dbHelper,be.meteo.products.gui.service.ErrorReportService#0,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#1,be.meteo.products.gui.ComponentInstanceDetails#0,be.meteo.products.ProductsSend.MyVaadinUI#0,be.meteo.products.gui.ComponentLogInfos#0,be.meteo.products.gui.ComponentProductInfo#0,be.meteo.products.gui.ComponentClientInfo#0,be.meteo.products.gui.ComponentManageHwResources#0,listOfClientsLayout,errorfrequency,listOfProducts,listOfProductInstances,be.meteo.products.gui.ComponentViewErrorsTree#0,be.meteo.products.gui.helperbeans.ErrorsDao#0,be.meteo.products.gui.service.LogReportService#0]
; root of factory hierarchy
[org.springframework.jdbc.datasource.init.ResourceDatabasePopulator]
INFO - Executing SQL script from class path resource [database/setup.sql]

[org.springframework.jdbc.datasource.init.ResourceDatabasePopulator]
INFO - Done executing SQL script from class path resource [database/setup.sql]
in 33 ms.
0

864

[org.springframework.web.context.ContextLoader]
INFO - Root WebApplicationContext: initialization completed in 7672 ms
[/code]in ErrorsDao.java[code]
public void setTemplate(JdbcTemplate template) {
this.template = template;
System.out.println(template.getMaxRows());
List<Map<String,Object>> list = getListInstances(“c378adf3-5578-2605-91dd-5411a67d5cg31”);

System.out.println(list.size());

}

public JdbcTemplate getTemplate() {
    return template;
}

@Autowired
public void setDatasource(DataSource datasource) {
    this.datasource = datasource;
    setTemplate(new JdbcTemplate(datasource));
}

[/code]The System.out… in ErrorsDao.java is executed on build (864 on first part in Bold), so I’ m suppossing Spring is working till there but when displaying the interface I get the following error:

[code]
[org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider]
INFO - JSR-250 ‘javax.annotation.ManagedBean’ found and supported for component scanning
2015-03-04 10:28:34 JRebel-Spring: Reconfiguring bean ‘be.meteo.products.gui.helperbeans.ErrorsDao#0’ [be.meteo.products.gui.helperbeans.ErrorsDao]

0
864
[org.springframework.context.annotation.ClassPathScanningCandidateComponentProvider]
INFO - JSR-250 ‘javax.annotation.ManagedBean’ found and supported for component scanning
mrt 04, 2015 11:38:35 AM com.vaadin.server.DefaultErrorHandler doDefault
SEVERE:
java.lang.NullPointerException
at be.meteo.products.gui.helperbeans.ErrorsDao.getListProducts(ErrorsDao.java:87)
at be.meteo.products.gui.helperbeans.ErrorsDao.getErrorNotAcknowledgedBean(ErrorsDao.java:45)
at be.meteo.products.views.ErrorFrequencyLayout.enter(ErrorFrequencyLayout.java:66)
at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:578)
at com.vaadin.navigator.Navigator.navigateTo(Navigator.java:527)
at be.meteo.products.ProductsSend.MainTemplateLayout$1.menuSelected(MainTemplateLayout.java:79)
at com.vaadin.ui.MenuBar.changeVariables(MenuBar.java:191)
at com.vaadin.server.communication.ServerRpcHandler.changeVariables(ServerRpcHandler.java:485)
at com.vaadin.server.communication.ServerRpcHandler.handleInvocations(ServerRpcHandler.java:301)
at com.vaadin.server.communication.ServerRpcHandler.handleRpc(ServerRpcHandler.java:180)
at com.vaadin.server.communication.UidlRequestHandler.synchronizedHandleRequest(UidlRequestHandler.java:93)
at com.vaadin.server.SynchronizedRequestHandler.handleRequest(SynchronizedRequestHandler.java:41)
at com.vaadin.server.VaadinService.handleRequest(VaadinService.java:1406)
at com.vaadin.server.VaadinServlet.service(VaadinServlet.java:305)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:728)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:51)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:222)
at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:123)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:171)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:100)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:953)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:408)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1041)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:603)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
[/code]And here I am lost :-/
I’m not using any addon.

Do you have any idee what is going wrong?

Sorry for my late reply.

Did you try debugging? There seems to be a problem in your Dao, without looking at the code it is really hard for us to help you… Do one thing try debugging the code in method
getListProducts
and check which object is null once you figure out try resolving it…

In debugging, it is the JdbcTemplate that returns null. But it should be set by this method,
setDatasource(DataSource datasource) which is @Autowired by Spring.
When deploying on Tomcat it displays the
"List<Map<String,Object>> list = getListInstances(“c378adf3-5578-2605-91dd-5411a67d5cg31”);

System.out.println(list.size());
"
as 864 (see previous post)
But when the interface is loaded in the browser it shows nothing and the template is null???