icepush会创建Server与Client之间的类似Blocking的长连接。
参见:
主要API为:
//Group Mangagement PushRenderer.addCurrentView(String groupName); PushRenderer.addCurrentSession(String groupName); PushRenderer.removeCurrentView(String groupName); PushRenderer.removeCurrentSession(String groupName); //Rendering PushRenderer.render(String groupName);
主要参数设置为:
- org.icepush.contextPath - Parameter used for changing the context path used by the blocking connection. This is needed when a notifications collected from multiple application and possibly servers are dispatch though single blocking connection.
- org.icepush.disableRemoteHostLookup - Parameter used to enable/disable remote host lookup. If set to true remote address lookup is used instead of remote host lookup. The default value is false.
- org.icepush.heartbeatTimeout - This parameter defines the interval of time (in milliseconds) during which the blocking connection will stay blocked, assuming there is no other activity inactivity. Once unblocked the client will create a new blocking connection thus effectively creating a server side initiated heartbeat mechanism. The default value is 10 seconds.
- org.icepush.serverErrorRetryTimeouts - A space separated list of timeout intervals measured in milliseconds. When a server error is received the bridge will use the first interval in the list to delay the connection retry, if it receives a server error again it will use the second value and so on. Once the end of the list is reached the bridge will give up trying to establish the connection. The default value is 1000 2000 4000.
- org.icepush.useAsyncContext - Parameter used to enable/disable Servlet 3.0 ARP (Asynchronous Request Processing) depending on the presence of Servlet 3.0. The default value depends on the presence of Servlet 3.0: if present the default value is true, if not present the default value is false.
- org.icepush.pushIdTimeout - This parameter defines the interval of time (in milliseconds) of inactivity for a given pushId after which it is expired/discarded.
- org.icepush.groupTimeout - This parameter defines the interval of time (in milliseconds) of inactivity for all pushIds belonging to a given group after which it is expired/discarded.
- org.icepush.pushIdTimeout - This parameter defines the interval of time (in milliseconds) of inactivity for a given browserId after which it is expired/discarded.
参见:
http://www.icesoft.org/wiki/display/PUSH/Notification+Protocol+Overview
http://www.icesoft.org/wiki/display/ICE/Ajax+Push+-+APIs
http://www.icesoft.org/wiki/display/PUSH/ICEpush+Configuration+Parameters