Author: jolee
Date: 2014-08-26 10:24:25 -0400 (Tue, 26 Aug 2014)
New Revision: 4655
Modified:
branches/7.7.x/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java
Log:
TEIID-2996: allowing for ping to be disabled via org.teiid.checkPing system property
Modified: branches/7.7.x/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java
===================================================================
---
branches/7.7.x/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java 2014-08-26
13:46:34 UTC (rev 4654)
+++
branches/7.7.x/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java 2014-08-26
14:24:25 UTC (rev 4655)
@@ -53,6 +53,7 @@
import org.teiid.client.security.InvalidSessionException;
import org.teiid.client.security.SessionToken;
import org.teiid.core.util.ArgCheck;
+import org.teiid.core.util.PropertiesUtils;
import org.teiid.deployers.VDBRepository;
import org.teiid.dqp.internal.process.DQPCore;
import org.teiid.dqp.service.SessionService;
@@ -81,7 +82,7 @@
private long sessionExpirationTimeLimit = DEFAULT_SESSION_EXPIRATION;
private String authenticationType = AuthenticationType.CLEARTEXT.name();
private String gssSecurityDomain;
-
+ private static boolean CHECK_PING =
PropertiesUtils.getBooleanProperty(System.getProperties(),
"org.teiid.checkPing", true);
/*
* Injected state
*/
@@ -104,13 +105,13 @@
long currentTime = System.currentTimeMillis();
for (SessionMetadata info : sessionCache.values()) {
try {
- if (!info.isEmbedded() && currentTime - info.getLastPingTime() >
ServerConnection.PING_INTERVAL * 5) {
- LogManager.logInfo(LogConstants.CTX_SECURITY, RuntimePlugin.Util.getString(
"SessionServiceImpl.keepaliveFailed", info.getSessionId())); //$NON-NLS-1$
- closeSession(info.getSessionId());
- } else if (sessionExpirationTimeLimit > 0 && currentTime -
info.getCreatedTime() > sessionExpirationTimeLimit) {
- LogManager.logInfo(LogConstants.CTX_SECURITY, RuntimePlugin.Util.getString(
"SessionServiceImpl.expireSession", info.getSessionId())); //$NON-NLS-1$
- closeSession(info.getSessionId());
- }
+ if (CHECK_PING && !info.isEmbedded() && currentTime -
info.getLastPingTime() > ServerConnection.PING_INTERVAL * 5) {
+ LogManager.logInfo(LogConstants.CTX_SECURITY,
RuntimePlugin.Util.getString("SessionServiceImpl.keepaliveFailed",
info.getSessionId()));
+ closeSession(info.getSessionId());
+ } else if (sessionExpirationTimeLimit > 0 && currentTime -
info.getCreatedTime() > sessionExpirationTimeLimit) {
+ LogManager.logInfo(LogConstants.CTX_SECURITY, RuntimePlugin.Util.getString(
"SessionServiceImpl.expireSession", info.getSessionId())); //$NON-NLS-1$
+ closeSession(info.getSessionId());
+ }
} catch (Exception e) {
LogManager.logDetail(LogConstants.CTX_SECURITY, e, "error running session
monitor, unable to monitor:", info.getSessionId()); //$NON-NLS-1$
}
Show replies by date