[teiid-commits] teiid SVN: r1518 - in trunk: runtime/src/main/java/com/metamatrix/platform/security/session/service and 1 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Thu Oct 1 20:36:59 EDT 2009
Author: shawkins
Date: 2009-10-01 20:36:59 -0400 (Thu, 01 Oct 2009)
New Revision: 1518
Modified:
trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java
trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java
trunk/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java
Log:
TEIID-867 local clients now by-pass ping altogether
Modified: trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java 2009-10-01 21:23:46 UTC (rev 1517)
+++ trunk/engine/src/main/java/com/metamatrix/platform/security/api/service/SessionServiceInterface.java 2009-10-02 00:36:59 UTC (rev 1518)
@@ -156,4 +156,6 @@
*/
public void register(SessionListener listener);
+ public void setLocalSession(MetaMatrixSessionID sessionID);
+
}
Modified: trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java
===================================================================
--- trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java 2009-10-01 21:23:46 UTC (rev 1517)
+++ trunk/runtime/src/main/java/com/metamatrix/platform/security/session/service/SessionServiceImpl.java 2009-10-02 00:36:59 UTC (rev 1518)
@@ -345,4 +345,12 @@
this.sessionListener = listener;
}
+ @Override
+ public void setLocalSession(MetaMatrixSessionID sessionID) {
+ MetaMatrixSessionInfo info = this.sessionCache.get(sessionID);
+ if (info != null) {
+ info.setLastPingTime(Long.MAX_VALUE);
+ }
+ }
+
}
Modified: trunk/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java 2009-10-01 21:23:46 UTC (rev 1517)
+++ trunk/runtime/src/main/java/org/teiid/transport/LocalServerConnection.java 2009-10-02 00:36:59 UTC (rev 1518)
@@ -27,8 +27,6 @@
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
import java.util.Properties;
-import java.util.Timer;
-import java.util.TimerTask;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import java.util.concurrent.TimeUnit;
@@ -56,57 +54,25 @@
private boolean shutdown;
private DQPWorkContext workContext;
private ClassLoader classLoader;
- ClientServiceRegistry clientServices;
- SessionServiceInterface sessionService;
- private Timer pingTimer;
+ private ClientServiceRegistry clientServices;
+ private SessionServiceInterface sessionService;
private ILogon logon;
-
-
public LocalServerConnection(Properties connectionProperties, ClientServiceRegistry clientServices, SessionServiceInterface sessionService) throws CommunicationException, ConnectionException{
-
this.clientServices = clientServices;
-
+ this.sessionService = sessionService;
//Initialize the workContext
workContext = new DQPWorkContext();
DQPWorkContext.setWorkContext(workContext);
-
- this.result = authenticate(connectionProperties);
-
this.classLoader = Thread.currentThread().getContextClassLoader();
-
- this.sessionService = sessionService;
-
this.logon = this.getService(ILogon.class);
- this.pingTimer = new Timer("LocalPing", true); //$NON-NLS-1$
-
- schedulePing();
+ this.result = authenticate(connectionProperties);
}
- private void schedulePing() {
- if (this.pingTimer != null) {
- this.pingTimer.schedule(new TimerTask() {
- @Override
- public void run() {
- try {
- if (isOpen()) {
- logon.ping();
- return;
- }
- } catch (InvalidSessionException e) {
- shutdown(false);
- } catch (MetaMatrixComponentException e) {
- shutdown();
- }
- this.cancel();
- }
- }, PING_INTERVAL, PING_INTERVAL);
- }
- }
-
public synchronized LogonResult authenticate(Properties connProps) throws ConnectionException, CommunicationException {
try {
LogonResult logonResult = this.logon.logon(connProps);
+ this.sessionService.setLocalSession(logonResult.getSessionID());
return logonResult;
} catch (LogonException e) {
// Propagate the original message as it contains the message we want
More information about the teiid-commits
mailing list