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);

Reply via email to