Updated Branches: refs/heads/master f2493f435 -> 23230d939
Improves settings of Jetty https://reviews.apache.org/r/17143 Project: http://git-wip-us.apache.org/repos/asf/incubator-wave/repo Commit: http://git-wip-us.apache.org/repos/asf/incubator-wave/commit/23230d93 Tree: http://git-wip-us.apache.org/repos/asf/incubator-wave/tree/23230d93 Diff: http://git-wip-us.apache.org/repos/asf/incubator-wave/diff/23230d93 Branch: refs/heads/master Commit: 23230d93965e9ef04d50104cc27bb4342f2301a8 Parents: f2493f4 Author: Andrew Kaplanov <[email protected]> Authored: Tue Jan 21 23:59:23 2014 +0200 Committer: Yuri Zelikov <[email protected]> Committed: Tue Jan 21 23:59:23 2014 +0200 ---------------------------------------------------------------------- build.xml | 3 --- server-config.xml | 2 ++ server.config.example | 5 +++++ src/org/waveprotocol/box/server/CoreSettings.java | 6 ++++++ src/org/waveprotocol/box/server/ServerModule.java | 13 ++++++++++--- .../waveprotocol/box/server/rpc/ServerRpcProvider.java | 5 ++++- 6 files changed, 27 insertions(+), 7 deletions(-) ---------------------------------------------------------------------- http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/23230d93/build.xml ---------------------------------------------------------------------- diff --git a/build.xml b/build.xml index 00d1f23..bcd0dec 100644 --- a/build.xml +++ b/build.xml @@ -548,9 +548,6 @@ <include name="*.jar"/> </fileset> </unzip> - <copy todir="${web.default.staging.dir}" preservelastmodified="true"> - <fileset file="${web.default}"/> - </copy> <unzip dest="${staging.dir}"> <fileset dir="${lib.codegen}"> <include name="gwt-*.jar"/> http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/23230d93/server-config.xml ---------------------------------------------------------------------- diff --git a/server-config.xml b/server-config.xml index 16b4f68..1f71757 100644 --- a/server-config.xml +++ b/server-config.xml @@ -35,6 +35,7 @@ <property name="account_store_directory" value="_accounts" /> <property name="delta_store_directory" value="_deltas" /> <property name="sessions_store_directory" value="_sessions" /> + <property name="session_cookie_max_age" value="-1" /> <property name="websocket_max_message_size" value="2" /> <property name="websocket_max_idle_time" value="0" /> <property name="admin_user" value="@${wave_server_domain}" /> @@ -114,6 +115,7 @@ value="${account_store_directory}" /> <token key="DELTA_STORE_DIRECTORY" value="${delta_store_directory}" /> <token key="SESSIONS_STORE_DIRECTORY" value="${sessions_store_directory}" /> + <token key="SESSION_COOKIE_MAX_AGE" value="${session_cookie_max_age}" /> <token key="WEBSOCKET_MAX_MESSAGE_SIZE" value="${websocket_max_message_size}" /> <token key="WEBSOCKET_MAX_IDLE_TIME" value="${websocket_max_idle_time}" /> <token key="ADMIN_USER" value="${admin_user}" /> http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/23230d93/server.config.example ---------------------------------------------------------------------- diff --git a/server.config.example b/server.config.example index 309a0df..795203b 100644 --- a/server.config.example +++ b/server.config.example @@ -99,6 +99,11 @@ delta_store_directory = @DELTA_STORE_DIRECTORY@ # Default value: _sessions sessions_store_directory = @SESSIONS_STORE_DIRECTORY@ +# Max age of session cookie in seconds. +# -1 means cookie lives in the browser current session only. +# Default value: -1 +session_cookie_max_age = @SESSION_COOKIE_MAX_AGE@ + # The time in ms that the websocket connection can be idle before closing # Default value: 0 websocket_max_idle_time = @WEBSOCKET_MAX_IDLE_TIME@ http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/23230d93/src/org/waveprotocol/box/server/CoreSettings.java ---------------------------------------------------------------------- diff --git a/src/org/waveprotocol/box/server/CoreSettings.java b/src/org/waveprotocol/box/server/CoreSettings.java index 5beaf65..e61f688 100644 --- a/src/org/waveprotocol/box/server/CoreSettings.java +++ b/src/org/waveprotocol/box/server/CoreSettings.java @@ -47,6 +47,7 @@ public class CoreSettings { public static final String DELTA_STORE_TYPE = "delta_store_type"; public static final String DELTA_STORE_DIRECTORY = "delta_store_directory"; public static final String SESSIONS_STORE_DIRECTORY = "sessions_store_directory"; + public static final String SESSION_COOKIE_MAX_AGE = "session_cookie_max_age"; public static final String FLASHSOCKET_POLICY_PORT = "flashsocket_policy_port"; public static final String WEBSOCKET_MAX_MESSAGE_SIZE = "websocket_max_message_size"; public static final String WEBSOCKET_MAX_IDLE_TIME = "websocket_max_idle_time"; @@ -152,6 +153,11 @@ public class CoreSettings { defaultValue = "_sessions") private static String sessionsStoreDirectory; + @Setting(name = SESSION_COOKIE_MAX_AGE, + description = "Max age of session cookie in seconds. " + + "-1 means cookie lives in the browser current session only", defaultValue = "-1") + private static int sessionCookieMaxAge; + @Setting(name = FLASHSOCKET_POLICY_PORT, description = "Port on which to listen for Flashsocket policy requests.", defaultValue = "843") http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/23230d93/src/org/waveprotocol/box/server/ServerModule.java ---------------------------------------------------------------------- diff --git a/src/org/waveprotocol/box/server/ServerModule.java b/src/org/waveprotocol/box/server/ServerModule.java index 4dddaa1..029f40f 100644 --- a/src/org/waveprotocol/box/server/ServerModule.java +++ b/src/org/waveprotocol/box/server/ServerModule.java @@ -104,9 +104,6 @@ public class ServerModule extends AbstractModule { bind(Configuration.class).toInstance(Configuration.getConfiguration()); bind(SessionManager.class).to(SessionManagerImpl.class).in(Singleton.class); - bind(org.eclipse.jetty.server.SessionManager.class).to(HashSessionManager.class) - .in(Singleton.class); - bind(ServerRpcProvider.class).in(Singleton.class); bind(RobotRegistrar.class).to(RobotRegistrarImpl.class); @@ -146,4 +143,14 @@ public class ServerModule extends AbstractModule { } }; } + + @Provides + @Singleton + @Inject + public org.eclipse.jetty.server.SessionManager provideSessionManager( + @Named(CoreSettings.SESSION_COOKIE_MAX_AGE) int sessionCookieMaxAge) { + HashSessionManager sessionManager = new HashSessionManager(); + sessionManager.getSessionCookieConfig().setMaxAge(sessionCookieMaxAge); + return sessionManager; + } } http://git-wip-us.apache.org/repos/asf/incubator-wave/blob/23230d93/src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java ---------------------------------------------------------------------- diff --git a/src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java b/src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java index 0809e9b..9b0f2a9 100755 --- a/src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java +++ b/src/org/waveprotocol/box/server/rpc/ServerRpcProvider.java @@ -573,7 +573,10 @@ public class ServerRpcProvider { @SuppressWarnings("cast") @Override public void configure(WebSocketServletFactory factory) { - if (websocketMaxIdleTime != 0) { + if (websocketMaxIdleTime == 0) { + // Jetty does not allow to set infinite timeout. + factory.getPolicy().setIdleTimeout(Integer.MAX_VALUE); + } else { factory.getPolicy().setIdleTimeout(websocketMaxIdleTime); } factory.getPolicy().setMaxTextMessageSize(websocketMaxMessageSize * 1024 * 1024);
