[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