/* * Copyright 2000-2021 Vaadin Ltd. * * Licensed under the Apache License, Version 2.0 (the "License"); you may not * use this file except in compliance with the License. You may obtain a copy of * the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, WITHOUT * WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the * License for the specific language governing permissions and limitations under * the License. */ package com.vaadin.server; import java.io.IOException; /** * RequestHandler which takes care of locking and unlocking of the VaadinSession * automatically. The session is locked before * {@link #synchronizedHandleRequest(VaadinSession, VaadinRequest, VaadinResponse)} * is called and unlocked after it has completed. * * @author Vaadin Ltd * @since 7.1 */ public abstract class SynchronizedRequestHandler implements RequestHandler { @Override public boolean handleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException { if (!canHandleRequest(request)) { return false; } session.lock(); try { return synchronizedHandleRequest(session, request, response); } finally { session.unlock(); } } /** * Identical to * {@link #handleRequest(VaadinSession, VaadinRequest, VaadinResponse)} * except the {@link VaadinSession} is locked before this is called and * unlocked after this has completed. * * @see #handleRequest(VaadinSession, VaadinRequest, VaadinResponse) * @param session * The session for the request * @param request * The request to handle * @param response * The response object to which a response can be written. * @return true if a response has been written and no further request * handlers should be called, otherwise false * * @throws IOException * If an IO error occurred */ public abstract boolean synchronizedHandleRequest(VaadinSession session, VaadinRequest request, VaadinResponse response) throws IOException; /** * Check whether a request may be handled by this handler. This can be used * as an optimization to avoid locking the session just to investigate some * method property. The default implementation just returns * true which means that all requests will be handled by * calling * {@link #synchronizedHandleRequest(VaadinSession, VaadinRequest, VaadinResponse)} * with the session locked. * * @since 7.2 * @param request * the request to handle * @return true if the request handling should continue once * the session has been locked; false if there's no * need to lock the session since the request would still not be * handled. */ protected boolean canHandleRequest(VaadinRequest request) { return true; } } ue='dependabot/maven/org.eclipse.jgit-org.eclipse.jgit-7.2.1.202505142326-r'>dependabot/maven/org.eclipse.jgit-org.eclipse.jgit-7.2.1.202505142326-r Vaadin 6, 7, 8 is a Java framework for modern Java web applications: https://github.com/vaadin/frameworkwww-data
aboutsummaryrefslogtreecommitdiffstats
path: root/documentation/articles/VaadinSpringTips.asciidoc
blob: 490d2ec3701c555f0f85812b3a395011d642bf25 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
---
title: Vaadin Spring Tips
order: 46
layout: page
---

[[vaadin-spring-tips]]
Vaadin Spring tips
------------------

[[vaadin-spring-boot-configuration-properties]]
Vaadin Spring (Boot) configuration properties
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Your project, if generated by `start.spring.io`, contains a configuration
fileĀ `src/main/resources/application.properties` or similar YAML
configuration file. It is a handy way to configure the VaadinServlet
that is automatically introduced by Vaadin Spring. Here are couple of
example which can be configured:

* `vaadin.servlet.productionMode=true`
* `vaadin.servlet.heartbeatInterval=60`
* `vaadin.servlet.closeIdleSessions=true`

For full list of available properties, see
https://github.com/vaadin/spring/blob/master/vaadin-spring-boot/src/main/java/com/vaadin/spring/boot/internal/VaadinServletConfigurationProperties.java[VaadinServletConfigurationProperties].