Start line:  
End line:  

Snippet Preview

Snippet HTML Code

Stack Overflow Questions
 package com.splout.db.dnode;
 
 /*
  * #%L
  * Splout SQL Server
  * %%
  * Copyright (C) 2012 Datasalt Systems S.L.
  * %%
  * This program is free software: you can redistribute it and/or modify
 * it under the terms of the GNU Affero General Public License as published by
 * the Free Software Foundation, either version 3 of the License, or
 * (at your option) any later version.
 * 
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 * 
 * You should have received a copy of the GNU Affero General Public License
 * along with this program.  If not, see <http://www.gnu.org/licenses/>.
 * #L%
 */
An EHCache event listener that calls a finalization method in the value of the Cache which is a com.splout.db.common.SQLiteJDBCManager . We use an expiring cache in DNode for closing SQL connection pools that have not been used for some time. We want to close the pool when the item expires and that's what this class does.
public class CacheListener implements CacheEventListenerCloneable {
	private final static Log log = LogFactory.getLog(CacheListener.class);
	/*
	 * Here is where we close the connection pool
	 */
	protected void closeManager(Element paramElement) {
		.info("Close manager: " + paramElement);
		SQLite4JavaManager manager = (SQLite4JavaManagerparamElement.getObjectValue();
		manager.close();
	}
	public void notifyElementRemoved(Ehcache paramEhcacheElement paramElementthrows CacheException {
		.info("Element removed from DB cache: " + paramElement);
		closeManager(paramElement);
	}
	public void notifyElementExpired(Ehcache paramEhcacheElement paramElement) {
		.info("Element expired from DB cache: " + paramElement);
		closeManager(paramElement);
	}
	public void notifyElementEvicted(Ehcache paramEhcacheElement paramElement) {
		.info("Element evicted from DB cache: " + paramElement);
		closeManager(paramElement);
	}
	public void notifyElementPut(Ehcache paramEhcacheElement paramElementthrows CacheException {
		.info("Element put: " + paramElement);
	}
	public void notifyElementUpdated(Ehcache paramEhcacheElement paramElementthrows CacheException {
		.info("Element updated: " + paramElement);
	}
	public void notifyRemoveAll(Ehcache paramEhcache) {
		.info("Remove all!");
	}
	public void dispose() {
		.info("Dispose!");
	}
	public Object clone() throws CloneNotSupportedException {
		return super.clone();
	}
New to GrepCode? Check out our FAQ X