📄 cachemanager.java
字号:
if (iMax < pattern) { logger.fatal("Not enough cache databases configured for md5PatternLength = <" + md5PatternLength + ">."); System.exit(1); } for (int i = 0; i < iMax; i++) { Configuration cfg = (Configuration) cacheDbConfigVector.get(i); String jdbcUrl = cfg.getAttribute(JDBC_URL); String jdbcUsername = cfg.getAttribute(JDBC_USERNAME); String jdbcPassword = cfg.getAttribute(JDBC_PASSWORD); int jdbcConnections = cfg.getIntAttribute(JDBC_CONNECTIONS); pool = new JdbcConnectionPool(jdbcUrl, jdbcUsername, jdbcPassword, jdbcConnections); cachePools.add(i, pool); } for (int i = 0; i < 256; i++) { int low = i & 0x0f; int high = (i & 0xf0) >> 4; String key = "" + hexadecimal[high] + hexadecimal[low]; Integer value = new Integer(i % pattern); md5PatternIndex.put(key, value); } } /** Retrieves an instance of the CacheMnagerErrorHandler * @return an instance of the CacheMnagerErrorHandler */ protected CacheManagerErrorHandler errorHandler() { return errorHandler; } /** Retrieves a handle to the admin database * @return the handle to the admin database */ protected JdbcConnectionPool getAdminPool() // throws SQLException { return adminPool; } /** Retrieves the number of configured cache databases. * @return the number of configured cache databases */ protected int getCachePoolCount() { return cacheDbConfigVector.size(); } /** Retrieves one of the configured cache database handles * @param dbnum The number of the database handle * @return the requested database handle */ protected JdbcConnectionPool getCacheConnectionPool(int dbnum) { return (JdbcConnectionPool) cachePools.get(dbnum); } /** Retrieves the handle of cache database responsible for a distinct MD5 checksum * @param md5sum The MD5 sum for wich the database handle is needed * @return the requested database handle */ protected JdbcConnectionPool getCacheConnectionPool(String md5sum) { String key = md5sum.substring(md5sum.length() - 2); int dbnum = ((Integer) md5PatternIndex.get(key)).intValue(); return getCacheConnectionPool(dbnum); } /** Retrieves the configured name of the LDAP replication file. * @return the name of the LDAP replication file */ protected String replicationFile() { return replicationFile; } /** Retrieves the configured intervall to read the LDAP replication file * @return the configured intervall */ protected int refreshIntervall() { return refreshIntervall; } /** Retrieves the configured name of the SMTP server to use for sending error mails. * @return the name of the SMTP server */ protected String smtpServer() { return smtpServer; } /** Retrieves the configured port number of the SMTP server * @return the port number */ protected int smtpPort() { return smtpPort; } /** Retrieves the configured user name to use for SMTP connections * @return the user name */ protected String smtpUser() { return smtpUser; } /** Retrieves the configured password to use for SMTP connections * @return the password */ protected String smtpPassword() { return smtpPassword; } /** Retrieves the configured address to use for error mails. * @return the mail address */ protected String smtpMailTo() { return smtpMailTo; } /** Retrieves a ready-to-use LdapUtil object. * @return the LdapUtil object to use for LDAP requests */ protected LdapUtil getLdapUtil() { return ldapUtil; }}/** * $Log: CacheManager.java,v $ * Revision 1.26 2003/04/14 20:39:56 joerg * Initializing JdbcConnectionPools with pre-opened connections. * * Revision 1.25 2003/04/13 20:28:01 joerg * Package structure modified * * Revision 1.24 2003/04/13 20:16:41 joerg * Package structure modified * * Revision 1.23 2003/01/01 21:04:17 joerg * Copyright-Statement aktualisiert * * Revision 1.22 2002/12/30 22:26:37 joerg * RefreshTime jetzt in Sekunden statt Millisekunden. * * Revision 1.21 2002/12/27 20:20:42 joerg * JavaDoc aktualisiert. * Fehlermeldungen verbessert. * * Revision 1.20 2002/12/24 21:04:33 joerg * Umbau der Paketstruktur * iiitLdapPlugin integriert * JavaDoc-Kommentare weiter vervollstaendigt. * * Revision 1.19 2002/12/23 11:25:52 joerg * shutdown()-Methode hinzugefuegt. * * Revision 1.18 2002/12/21 19:55:03 joerg * Nicht mehr benoetigte Methoden entfernt, interne Methoden auf * private oder protected geaendert. * JavaDoc Kommentare ergaenzt. * * Revision 1.17 2002/12/19 15:54:33 joerg * Paket umbenannt in iiitLdapPlugin * * Revision 1.16 2002/12/09 21:15:51 joerg * AccessServerThreadPluginIf umbenannt in ThreadPluginIf * * Revision 1.15 2002/12/08 19:34:11 joerg * Auskommentierten Code entfernt * * Revision 1.14 2002/12/08 16:37:33 joerg * Aufraeumungsarbeiten nach dem grossen Umbau * * Revision 1.13 2002/12/08 16:09:46 joerg * Paket-Struktur ueberarbeitet * * Revision 1.12 2002/12/08 14:35:17 joerg * Plugin-Interface neu strukturiert * * Revision 1.11 2002/12/08 14:17:02 joerg * Fehler von der letzten Aenderung behoben * * Revision 1.10 2002/12/08 13:54:46 joerg * Das LdapPlugin wird jetzt hier direkt geladen und nicht mehr * ueber den AccessServer * * Revision 1.9 2002/11/27 22:32:23 joerg * Aufteilung der Cache-Daten auf verschiedene Datenbanken * * Revision 1.8 2002/11/27 12:13:49 joerg * Beim Erkennen fehlerhafte Ausdruecke kann jetzt automatisch * eine Fehler-Mail verschickt werden. * * Revision 1.7 2002/11/26 21:54:54 joerg * Interne Vereinfachungen * * Revision 1.6 2002/11/26 10:56:40 joerg * Package exprparser durch parser erstzt. * * Revision 1.5 2002/11/21 21:49:45 joerg * Umstellung auf JdbcConnectionPool * * Revision 1.4 2002/11/21 08:37:03 joerg * Auskommentierten Code beseitigt * * Revision 1.3 2002/11/20 20:41:29 joerg * Klassen fuer das HAndling der DB-Tabellen in Packages * de.iiit.AccessServer.db.* verschoben * * Revision 1.2 2002/11/20 20:27:17 joerg * Bezuege auf UserList entfernt * registerJdbcDriver nach de.iiit.util.JdbcUtil ausgelagert * * Revision 1.1 2002/11/18 22:07:46 joerg * Klasse CacheManager umbenannt in CacheManagerPlugin * * Revision 1.2 2002/11/18 21:21:52 joerg * LDAP-Anbindung auf LdapPlugin umgestellt. * * Revision 1.1 2002/11/18 10:17:49 joerg * Klassen des CacheManagers in eigenes Package verschoben * * Revision 1.1 2002/11/17 22:03:26 joerg * Neue Klassen fuer 2nd-level Cache * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -