summaryrefslogtreecommitdiffstats
path: root/server
diff options
context:
space:
mode:
Diffstat (limited to 'server')
-rw-r--r--server/src/main/java/com/vaadin/server/VaadinService.java9
1 files changed, 6 insertions, 3 deletions
diff --git a/server/src/main/java/com/vaadin/server/VaadinService.java b/server/src/main/java/com/vaadin/server/VaadinService.java
index 4f01820868..31ddf7b8ba 100644
--- a/server/src/main/java/com/vaadin/server/VaadinService.java
+++ b/server/src/main/java/com/vaadin/server/VaadinService.java
@@ -145,7 +145,7 @@ public abstract class VaadinService implements Serializable {
private Iterable<DependencyFilter> dependencyFilters;
private ConnectorIdGenerator connectorIdGenerator;
- private boolean atmosphereAvailable = checkAtmosphereSupport();
+ private Boolean atmosphereAvailable = null;
/**
* Keeps track of whether a warning about missing push support has already
@@ -1853,7 +1853,7 @@ public abstract class VaadinService implements Serializable {
* is not available.
*/
public boolean ensurePushAvailable() {
- if (atmosphereAvailable) {
+ if (isAtmosphereAvailable()) {
return true;
} else {
if (!pushWarningEmitted) {
@@ -1865,7 +1865,7 @@ public abstract class VaadinService implements Serializable {
}
}
- private static boolean checkAtmosphereSupport() {
+ private boolean checkAtmosphereSupport() {
String rawVersion = AtmospherePushConnection.getAtmosphereVersion();
if (rawVersion == null) {
return false;
@@ -1888,6 +1888,9 @@ public abstract class VaadinService implements Serializable {
* @return true if Atmosphere is available, false otherwise
*/
protected boolean isAtmosphereAvailable() {
+ if (atmosphereAvailable == null) {
+ atmosphereAvailable = checkAtmosphereSupport();
+ }
return atmosphereAvailable;
}