クラス org.objectweb.cjdbc.controller.xml.DatabasesParser

すべてのメンバ一覧

説明

Parses an XML content conforming to C-JDBC.dtd and configure the given C-JDBC Controller accordingly.

作者:
Emmanuel Cecchet

Mathieu Peltier

Nicolas Modrzyk

バージョン:
1.0

DatabasesParser.java133 行で定義されています。

Public メソッド

 DatabasesParser (Controller controller) throws SAXException
 DatabasesParser (Controller controller, String virtualName, boolean autoEnable, String checkPoint) throws SAXException
void readXML (String xml) throws IOException, SAXException
void readXML (String xml, boolean validateBeforeParsing) throws IOException, SAXException
void fatalError (SAXParseException e) throws SAXException
void error (SAXParseException e) throws SAXException
InputSource resolveEntity (String publicId, String systemId) throws SAXException
void prepareDB (String virtualName, boolean autoEnable, String checkPoint)
void startDocument () throws SAXException
void endDocument () throws SAXException
void startElement (String uri, String localName, String name, Attributes atts) throws SAXException
void endElement (String uri, String localName, String name) throws SAXException

スタティック変数

Trace logger

Private メソッド

void prepareHandler (Controller controller) throws SAXException
void newVirtualDatabase (Attributes atts) throws SAXException
void newDistribution (Attributes atts) throws SAXException
void newBackendRecoveryPolicy (Attributes atts) throws SAXException
void newControllerName (Attributes atts) throws SAXException
void newSQLMonitoring (Attributes atts)
void newSQLMonitoringRule (Attributes atts) throws SAXException
void newDatabaseBackend (Attributes atts)
void newRewritingRule (Attributes atts) throws SAXException
void newAuthenticationManager (Attributes atts)
void newAdminLogin (Attributes atts)
void newVirtualLogin (Attributes atts)
void newRealLogin (Attributes atts) throws SAXException
void newRequestManager (Attributes atts) throws SAXException
void newSingleDBScheduler (Attributes atts) throws SAXException
void newRAIDb0Scheduler (Attributes atts) throws SAXException
void newRAIDb1Scheduler (Attributes atts) throws SAXException
void newRAIDb2Scheduler (Attributes atts) throws SAXException
void newMetadataCache (Attributes atts) throws SAXException
void newParsingCache (Attributes atts) throws SAXException
void newResultCache (Attributes atts) throws SAXException
void newResultCacheRule (Attributes atts) throws SAXException
void newDefaultResultCacheRule (Attributes atts) throws SAXException
void newRelaxedCaching (Attributes atts)
void newSingleDBRequestLoadBalancer (Attributes atts) throws SAXException
void newParallelDBLeastPendingRequestsFirst (Attributes atts) throws SAXException
void newParallelDBRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb0LoadBalancer (Attributes atts) throws SAXException
void newRAIDb1LoadBalancer (Attributes atts) throws SAXException
void newRAIDb1RoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb1WeightedRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb1LeastPendingRequestsFirst (Attributes atts) throws SAXException
void newRAIDb1ecLoadBalancer (Attributes atts) throws SAXException
void newRAIDb1ecRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb1ecWeightedRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb2LoadBalancer (Attributes atts) throws SAXException
void newRAIDb2RoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb2WeightedRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb2LeastPendingRequestsFirst (Attributes atts) throws SAXException
void newRAIDb2ecLoadBalancer (Attributes atts)
void newRAIDb2ecRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newRAIDb2ecWeightedRoundRobinLoadBalancer (Attributes atts) throws SAXException
void newWaitForCompletion (Attributes atts) throws SAXException
void newErrorChecking (Attributes atts) throws SAXException
void newCreateTable (Attributes atts) throws SAXException
void newBackendName (Attributes atts) throws SAXException
void newBackendWeight (Attributes atts) throws SAXException
void newJDBCRecoveryLog (Attributes atts) throws SAXException
void newJDBCRecoveryLogTable (Attributes atts) throws SAXException
void newJDBCRecoveryCheckpointTable (Attributes atts) throws SAXException
void newJDBCRecoveryBackendTable (Attributes atts) throws SAXException
void newFileRecoveryLog (Attributes atts) throws SAXException
void newConnectionManager (Attributes atts) throws SAXException
void newSimpleConnectionManager (Attributes atts)
void newFailFastPoolConnectionManager (Attributes atts) throws SAXException
void newRandomWaitPoolConnectionManager (Attributes atts) throws SAXException
void newVariablePoolConnectionManager (Attributes atts) throws SAXException
void newDatabaseTable (Attributes atts) throws SAXException
void newDatabaseSchema (Attributes atts)
void newDatabaseColumn (Attributes atts)
void newDatabaseProcedure (Attributes atts)
void newDatabaseProcedureColumn (Attributes atts)

Private 変数

XMLReader parser
Controller controller
Hashtable dbToPrepare = null
boolean skipDatabase = false
VirtualDatabase currentVirtualDatabase = null
DatabaseBackend currentBackend
DatabaseBackendUser currentDatabaseBackendUser
AuthenticationManager currentAuthenticationManager
AbstractScheduler currentRequestScheduler
AbstractResultCache currentResultCache
MetadataCache currentMetadataCache = null
ParsingCache currentParsingCache = null
ResultCacheRule currentResultCacheRule
String currentQueryPattern
AbstractLoadBalancer currentLoadBalancer
long currentTimestampResolution
JDBCRecoveryLog currentRecoveryLog
VirtualDatabaseUser currentVirtualUser
String databaseSchemaDynamicLevel
DatabaseSchema currentDatabaseSchema
DatabaseTable currentTable
DatabaseProcedure currentProcedure
int numberOfColumns
String connectionManagerVLogin
WaitForCompletionPolicy currentWaitForCompletionPolicy
long beginTimeout
long commitTimeout
long rollbackTimeout
int requestTimeout
boolean caseSensitiveParsing
CreateTablePolicy currentCreateTablePolicy
CreateTableRule currentCreateTableRule
ArrayList backendNameList
ErrorCheckingPolicy currentErrorCheckingPolicy
int currentNbOfConcurrentReads
BackendRecoveryPolicy currentBackendRecoveryPolicy

Static Private 変数

final String C_JDBC_DTD_FILE = "c-jdbc.dtd"


コンストラクタとデストラクタ

org.objectweb.cjdbc.controller.xml.DatabasesParser.DatabasesParser Controller  controller  )  throws SAXException
 

Creates a new DatabasesParser instance. This method Instanciates also a new DatabasesParser.

引数:
controller Controller to load the Virtual Database into
例外:
SAXException if an error occurs

DatabasesParser.java201 行で定義されています。

参照先 org.objectweb.cjdbc.controller.xml.DatabasesParser.prepareHandler().

00202   {
00203     prepareHandler(controller);
00204   }

org.objectweb.cjdbc.controller.xml.DatabasesParser.DatabasesParser Controller  controller,
String  virtualName,
boolean  autoEnable,
String  checkPoint
throws SAXException
 

Creates a new DatabasesParser instance. This method Instanciates also a new DatabasesParser. This instance will look only for the specified database.

引数:
controller Controller to load the Virtual Database into
virtualName the specified VirtualDatabase to load.
autoEnable autoenable switch
checkPoint checkpoint information
例外:
SAXException if an error occurs

DatabasesParser.java218 行で定義されています。

参照先 org.objectweb.cjdbc.controller.xml.DatabasesParser.prepareDB(), と org.objectweb.cjdbc.controller.xml.DatabasesParser.prepareHandler().

00220   {
00221     prepareHandler(controller);
00222     // Test if a name has been specified. Otherwise skip.
00223     if (virtualName != null)
00224       prepareDB(virtualName, autoEnable, checkPoint);
00225   }


メソッド

void org.objectweb.cjdbc.controller.xml.DatabasesParser.endDocument  )  throws SAXException
 

Finalizes parsing of a document.

例外:
SAXException unspecialized error

DatabasesParser.java380 行で定義されています。

00381   {
00382     logger.info(Translate.get("virtualdatabase.xml.done"));
00383   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.endElement String  uri,
String  localName,
String  name
throws SAXException
 

DatabasesParser for end of element.

引数:
uri name space URI
localName local name
name element raw name
例外:
SAXException if an error occurs

DatabasesParser.java598 行で定義されています。

参照先 org.objectweb.cjdbc.controller.cache.result.ResultCacheRule.setCacheBehavior(), org.objectweb.cjdbc.controller.requestmanager.RequestManager.setCaseSensitiveParsing(), org.objectweb.cjdbc.controller.requestmanager.RequestManager.setMetadataCache(), と org.objectweb.cjdbc.controller.requestmanager.RequestManager.setParsingCache().

00600   {
00601     logger.debug(Translate.get("virtualdatabase.xml.parsing.end", name));
00602     // Test if skip is needed
00603     if (skipDatabase)
00604       return;
00605 
00606     // Virtual database
00607     if (name.equals(DatabasesXmlTags.ELT_VirtualDatabase))
00608     {
00609       if (logger.isDebugEnabled())
00610         logger.debug(Translate.get("virtualdatabase.xml.add.virtualdatabase"));
00611 
00612       if (currentVirtualDatabase != null)
00613       {
00614         try
00615         {
00616           if (currentVirtualDatabase instanceof DistributedVirtualDatabase)
00617             ((DistributedVirtualDatabase) currentVirtualDatabase).joinGroup();
00618           if (dbToPrepare == null)
00619           {
00620             controller.addVirtualDatabase(currentVirtualDatabase);
00621           }
00622           else
00623           {
00624             boolean autoEnable = new Boolean((String) dbToPrepare
00625                 .get("autoEnable")).booleanValue();
00626             String checkPoint = (String) dbToPrepare.get("checkPoint");
00627             // checkPoint is store as "" in Hashtable
00628             // but methods to enable backend requires checkPoint to be null
00629             // if no recovery from checkpoint
00630             checkPoint = checkPoint.equalsIgnoreCase("") ? null : checkPoint;
00631             controller.addVirtualDatabase(currentVirtualDatabase, autoEnable,
00632                 checkPoint);
00633           }
00634         }
00635         catch (Exception e)
00636         {
00637           String msg = Translate.get("controller.add.virtualdatabase.failed");
00638           if (e instanceof RuntimeException)
00639             logger.error(msg, e);
00640           else
00641             logger.error(msg);
00642         }
00643       }
00644       currentVirtualDatabase = null;
00645     }
00646 
00647     // Request manager
00648     else if (name.equals(DatabasesXmlTags.ELT_RequestManager))
00649     {
00650       if (logger.isDebugEnabled())
00651         logger.debug(Translate.get("virtualdatabase.xml.requestmanager.set"));
00652 
00653       if (currentVirtualDatabase != null)
00654       {
00655         RequestManager requestManager = null;
00656 
00657         try
00658         {
00659           if (currentVirtualDatabase.isDistributed())
00660           {
00661             switch (currentLoadBalancer.getRAIDbLevel())
00662             {
00663               case RAIDbLevels.SingleDB :
00664                 requestManager = new SingleDBDistributedRequestManager(
00665                     (DistributedVirtualDatabase) currentVirtualDatabase,
00666                     currentRequestScheduler, currentResultCache,
00667                     currentLoadBalancer, currentRecoveryLog, beginTimeout,
00668                     commitTimeout, rollbackTimeout);
00669                 break;
00670               case RAIDbLevels.RAIDb1 :
00671                 requestManager = new RAIDb1DistributedRequestManager(
00672                     (DistributedVirtualDatabase) currentVirtualDatabase,
00673                     currentRequestScheduler, currentResultCache,
00674                     currentLoadBalancer, currentRecoveryLog, beginTimeout,
00675                     commitTimeout, rollbackTimeout);
00676                 break;
00677               case RAIDbLevels.RAIDb2 :
00678                 requestManager = new RAIDb2DistributedRequestManager(
00679                     (DistributedVirtualDatabase) currentVirtualDatabase,
00680                     currentRequestScheduler, currentResultCache,
00681                     currentLoadBalancer, currentRecoveryLog, beginTimeout,
00682                     commitTimeout, rollbackTimeout);
00683                 break;
00684               default :
00685                 String msg = Translate.get(
00686                     "virtualdatabase.xml.no.distributed.requestmanager",
00687                     currentLoadBalancer.getRAIDbLevel());
00688                 logger.error(msg);
00689                 throw new SAXException(msg);
00690             }
00691           }
00692           else
00693             requestManager = new RequestManager(currentVirtualDatabase,
00694                 currentRequestScheduler, currentResultCache,
00695                 currentLoadBalancer, currentRecoveryLog, beginTimeout,
00696                 commitTimeout, rollbackTimeout);
00697 
00698           if (requestManager != null)
00699           {
00700             if (currentParsingCache != null)
00701               requestManager.setParsingCache(currentParsingCache);
00702             if (currentMetadataCache != null)
00703               requestManager.setMetadataCache(currentMetadataCache);
00704             requestManager.setCaseSensitiveParsing(caseSensitiveParsing);
00705           }
00706 
00707           currentVirtualDatabase.setRequestManager(requestManager);
00708         }
00709         catch (Exception e)
00710         {
00711           String msg = Translate
00712               .get("virtualdatabase.xml.requestmanager.creation.failed");
00713           logger.error(msg, e);
00714           throw new SAXException(msg, e);
00715         }
00716       }
00717     }
00718 
00719     // Database backend
00720     else if (name.equals(DatabasesXmlTags.ELT_DatabaseBackend))
00721     {
00722       if (currentBackend != null)
00723       {
00724         try
00725         {
00726           currentVirtualDatabase.addBackend(currentBackend, false);
00727         }
00728         catch (Exception e)
00729         {
00730           String msg = Translate.get("virtualdatabase.xml.backend.add.failed");
00731           logger.error(msg + " (" + e + ")");
00732           throw new SAXException(msg, e);
00733         }
00734       }
00735       currentBackend = null;
00736     }
00737 
00738     // Authentication manager
00739     else if (name.equals(DatabasesXmlTags.ELT_AuthenticationManager))
00740     {
00741       if (currentVirtualDatabase != null)
00742       {
00743         currentVirtualDatabase
00744             .setAuthenticationManager(currentAuthenticationManager);
00745       }
00746     }
00747 
00748     // Request cache
00749     else if (name.equals(DatabasesXmlTags.ELT_RequestCache))
00750     {
00751       if (currentResultCache != null)
00752       { // Set default result cache rule if missing
00753         if (currentResultCache.getDefaultRule() == null)
00754         {
00755           ResultCacheRule defaultRule = null;
00756           try
00757           {
00758             defaultRule = new ResultCacheRule("", false, false, 1000);
00759           }
00760           catch (RESyntaxException impossible)
00761           {
00762           }
00763           defaultRule.setCacheBehavior(new EagerCaching());
00764           currentResultCache.setDefaultRule(defaultRule);
00765         }
00766       }
00767     }
00768     else if (name.equals(DatabasesXmlTags.ELT_DefaultResultCacheRule))
00769     {
00770       currentResultCache.setDefaultRule(currentResultCacheRule);
00771     }
00772 
00773     // Database schema
00774     else if (name.equals(DatabasesXmlTags.ELT_DatabaseStaticSchema))
00775     {
00776       if (currentDatabaseSchema != null)
00777       {
00778         if (currentBackend != null)
00779         {
00780           try
00781           {
00782             currentBackend.setDatabaseSchema(currentDatabaseSchema, true);
00783           }
00784           catch (Exception e)
00785           {
00786             logger.error(Translate
00787                 .get("virtualdatabase.xml.backend.set.schema.failed"), e);
00788           }
00789         }
00790         else
00791         {
00792           try
00793           {
00794             currentVirtualDatabase.setDatabaseSchema(currentDatabaseSchema,
00795                 true);
00796           }
00797           catch (Exception e)
00798           {
00799             logger.error(Translate
00800                 .get("virtualdatabase.xml.virtualdatabase.set.schema.failed"),
00801                 e);
00802           }
00803         }
00804         currentDatabaseSchema = null;
00805       }
00806     }
00807 
00808     // Database table
00809     else if (name.equals(DatabasesXmlTags.ELT_DatabaseTable))
00810     {
00811       if (currentTable != null)
00812       {
00813         try
00814         {
00815           ArrayList cols = currentTable.getColumns();
00816           if (cols == null)
00817             logger.warn(Translate.get("virtualdatabase.xml.table.no.column",
00818                 currentTable.getName()));
00819           else if (cols.size() != numberOfColumns)
00820             logger.warn(Translate.get(
00821                 "virtualdatabase.xml.table.column.mismatch", new String[]{
00822                     String.valueOf(numberOfColumns), currentTable.getName(),
00823                     String.valueOf(cols.size())}));
00824 
00825           currentDatabaseSchema.addTable(currentTable);
00826           if (logger.isDebugEnabled())
00827             logger.debug(Translate.get("virtualdatabase.xml.table.add",
00828                 currentTable.getName()));
00829         }
00830         catch (Exception e)
00831         {
00832           logger
00833               .error(Translate.get("virtualdatabase.xml.table.add.failed"), e);
00834         }
00835         currentTable = null;
00836       }
00837     }
00838 
00839     else if (name.equals(DatabasesXmlTags.ELT_DatabaseProcedure))
00840     {
00841       if (currentProcedure != null)
00842       {
00843         try
00844         {
00845 
00846           currentDatabaseSchema.addProcedure(currentProcedure);
00847           if (logger.isDebugEnabled())
00848             logger.debug(Translate.get("virtualdatabase.xml.procedure.add",
00849                 currentProcedure.getName()));
00850         }
00851         catch (Exception e)
00852         {
00853           logger.error(Translate
00854               .get("virtualdatabase.xml.procedure.add.failed"), e);
00855         }
00856         currentProcedure = null;
00857       }
00858     }
00859 
00860     // CreateTable rule
00861     else if (name.equals(DatabasesXmlTags.ELT_CreateTable))
00862     {
00863       if (currentCreateTablePolicy != null)
00864       {
00865         if (logger.isDebugEnabled())
00866           logger.debug(Translate.get("virtualdatabase.xml.create.table.add",
00867               currentCreateTableRule.getInformation()));
00868         currentCreateTablePolicy.addRule(currentCreateTableRule);
00869       }
00870     }
00871 
00872     // RAIDb-0 load balancer
00873     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_0))
00874     {
00875       if (logger.isDebugEnabled())
00876         logger.debug(Translate
00877             .get("virtualdatabase.xml.loadbalancer.raidb0.set"));
00878 
00879       if (currentCreateTablePolicy.getDefaultRule() == null)
00880       {
00881         if (logger.isDebugEnabled())
00882           logger.debug(Translate
00883               .get("virtualdatabase.xml.create.table.default"));
00884         CreateTableRule rule = new CreateTableRoundRobin();
00885         currentCreateTablePolicy.addRule(rule);
00886       }
00887       try
00888       {
00889         currentLoadBalancer = new RAIDb0(currentVirtualDatabase,
00890             currentCreateTablePolicy);
00891       }
00892       catch (SQLException e)
00893       {
00894         String msg = Translate
00895             .get("virtualdatabase.xml.loadbalancer.raidb0.failed");
00896         logger.error(msg, e);
00897         throw new SAXException(msg, e);
00898       }
00899     }
00900 
00901     // JDBC Recovery Log
00902     else if (name.equals(DatabasesXmlTags.ELT_RecoveryLog))
00903     {
00904       if (logger.isDebugEnabled())
00905         logger.debug(Translate
00906             .get("virtualdatabase.xml.recoverylog.cheking.tables"));
00907       {
00908         currentRecoveryLog.checkRecoveryLogTables();
00909         // Set the last transaction id of the scheduler from the recovery logs
00910         try
00911         {
00912           currentRequestScheduler.initializeTransactionId(currentRecoveryLog
00913               .getLastTransactionId() + 1);
00914         }
00915         catch (Exception e)
00916         {
00917           String msg = Translate
00918               .get("virtualdatabase.xml.scheduler.initialization.failed");
00919           logger.error(msg, e);
00920           throw new SAXException(msg);
00921         }
00922       }
00923     }
00924   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.error SAXParseException  e  )  throws SAXException
 

Handles notification of a recoverable parser error.

引数:
e the warning information encoded as an exception.
例外:
SAXException any SAX exception, possibly wrapping another exception

DatabasesParser.java320 行で定義されています。

00321   {
00322     logger.error(Translate.get("virtualdatabase.xml.parsing.error",
00323         new String[]{e.getPublicId(), String.valueOf(e.getLineNumber()),
00324             String.valueOf(e.getColumnNumber()), e.getMessage()}));
00325     throw e;
00326   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.fatalError SAXParseException  e  )  throws SAXException
 

Handles notification of a non-recoverable parser error.

引数:
e the warning information encoded as an exception.
例外:
SAXException any SAX exception, possibly wrapping another exception.

DatabasesParser.java305 行で定義されています。

参照先 org.objectweb.cjdbc.common.log.Trace.error().

00306   {
00307     logger.error(Translate.get("virtualdatabase.xml.parsing.fatal",
00308         new String[]{e.getPublicId(), String.valueOf(e.getLineNumber()),
00309             String.valueOf(e.getColumnNumber()), e.getMessage()}));
00310     throw e;
00311   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newAdminLogin Attributes  atts  )  [private]
 

Sets the administrator user of the currentAuthenticationManager using the parsed attributs.

引数:
atts parsed attributes

DatabasesParser.java1249 行で定義されています。

01250   {
01251     String aLogin = atts.getValue(DatabasesXmlTags.ATT_aLogin);
01252     String aPassword = atts.getValue(DatabasesXmlTags.ATT_aPassword);
01253 
01254     if (logger.isDebugEnabled())
01255       logger.debug(Translate.get(
01256           "virtualdatabase.xml.authentication.login.admin.add", new String[]{
01257               aLogin, aPassword}));
01258     currentAuthenticationManager.setAdminUser(new VirtualDatabaseUser(aLogin,
01259         aPassword));
01260   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newAuthenticationManager Attributes  atts  )  [private]
 

Sets currentAuthenticationManageras a new AuthenticationManager.

引数:
atts not used attributes

DatabasesParser.java1238 行で定義されています。

01239   {
01240     currentAuthenticationManager = new AuthenticationManager();
01241   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newBackendName Attributes  atts  )  throws SAXException [private]
 

Adds a backend name to the current backendNameList.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2429 行で定義されています。

02430   {
02431     String name = atts.getValue(DatabasesXmlTags.ATT_name);
02432     if (logger.isDebugEnabled())
02433       logger.debug(Translate
02434           .get("virtualdatabase.xml.backend.policy.add", name));
02435     backendNameList.add(name);
02436   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newBackendRecoveryPolicy Attributes  atts  )  throws SAXException [private]
 

Adds a new BackendRecoveryPolicy using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1043 行で定義されています。

01044   {
01045     String backendName = atts.getValue(DatabasesXmlTags.ATT_backendName);
01046     String recoveryPolicyString = atts
01047         .getValue(DatabasesXmlTags.ATT_recoveryPolicy);
01048 
01049     boolean recoveryPolicy;
01050     if (recoveryPolicyString.equals(DatabasesXmlTags.VAL_on))
01051       recoveryPolicy = true;
01052     else if (recoveryPolicyString.equals(DatabasesXmlTags.VAL_off))
01053       recoveryPolicy = false;
01054     else
01055       throw new SAXException(
01056           Translate
01057               .get(
01058                   "virtualdatabase.xml.virtualdatabase.distributed.recoverOnFailure.bad.value",
01059                   recoveryPolicyString));
01060 
01061     currentBackendRecoveryPolicy = new BackendRecoveryPolicy(backendName,
01062         recoveryPolicy);
01063     ((DistributedVirtualDatabase) currentVirtualDatabase)
01064         .addBackendRecoveryPolicy(currentBackendRecoveryPolicy);
01065   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newBackendWeight Attributes  atts  )  throws SAXException [private]
 

Sets the weight of the currentLoadBalancerusing the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2445 行で定義されています。

02446   {
02447     String name = atts.getValue(DatabasesXmlTags.ATT_name);
02448     try
02449     {
02450       int weight = Integer.parseInt(atts.getValue(DatabasesXmlTags.ATT_weight));
02451 
02452       if (logger.isDebugEnabled())
02453         logger.debug(Translate.get("virtualdatabase.xml.backend.weigth.set",
02454             new String[]{String.valueOf(weight), name}));
02455 
02456       currentLoadBalancer.setWeight(name, weight);
02457     }
02458     catch (Exception e)
02459     {
02460       String msg = Translate.get("virtualdatabase.xml.backend.weigth.failed",
02461           name);
02462       logger.error(msg, e);
02463       throw new SAXException(msg, e);
02464     }
02465   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newConnectionManager Attributes  atts  )  throws SAXException [private]
 

Sets the currentRecoveryLog as new JDBCRecoveryLog using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2655 行で定義されています。

02656   {
02657     connectionManagerVLogin = atts.getValue(DatabasesXmlTags.ATT_vLogin);
02658 
02659     // Check that the virtual login has been defined
02660     if (!currentAuthenticationManager
02661         .isValidVirtualLogin(connectionManagerVLogin))
02662     {
02663       String msg = Translate.get(
02664           "virtualdatabase.xml.connectionmanager.vlogin.undefined",
02665           new String[]{connectionManagerVLogin, currentBackend.getName()});
02666       logger.error(msg);
02667       throw new SAXException(msg);
02668     }
02669 
02670     // Get database real user
02671     currentDatabaseBackendUser = currentAuthenticationManager
02672         .getDatabaseBackendUser(connectionManagerVLogin, currentBackend
02673             .getName());
02674 
02675     if (currentDatabaseBackendUser == null)
02676     {
02677       String msg = Translate.get(
02678           "virtualdatabase.xml.connectionmanager.rlogin.undefined",
02679           new String[]{currentBackend.getName(), connectionManagerVLogin});
02680       logger.error(msg);
02681       throw new SAXException(msg);
02682     }
02683   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newControllerName Attributes  atts  )  throws SAXException [private]
 

Adds a new ControllerName to the current BackendRecoveryPolicy using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error ocuurs

DatabasesParser.java1074 行で定義されています。

01075   {
01076     String name = atts.getValue(DatabasesXmlTags.ATT_name);
01077     try
01078     {
01079       currentBackendRecoveryPolicy.addController(name);
01080     }
01081     catch (ControllerException e)
01082     {
01083       throw new SAXException(e);
01084     }
01085   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newCreateTable Attributes  atts  )  throws SAXException [private]
 

Add a CreateTable rule.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2403 行で定義されています。

02404   {
02405     String tableName = atts.getValue(DatabasesXmlTags.ATT_tableName);
02406     String nbOfNodes = atts.getValue(DatabasesXmlTags.ATT_numberOfNodes);
02407     String policy = atts.getValue(DatabasesXmlTags.ATT_policy);
02408     backendNameList = new ArrayList();
02409     if (policy.equals(DatabasesXmlTags.VAL_random))
02410       currentCreateTableRule = new CreateTableRandom(backendNameList);
02411     else if (policy.equals(DatabasesXmlTags.VAL_roundRobin))
02412       currentCreateTableRule = new CreateTableRoundRobin(backendNameList);
02413     else if (policy.equals(DatabasesXmlTags.VAL_all))
02414       currentCreateTableRule = new CreateTableAll(backendNameList);
02415     else
02416       throw new SAXException(Translate.get(
02417           "virtualdatabase.xml.create.table.unsupported", policy));
02418 
02419     currentCreateTableRule.setNumberOfNodes(Integer.parseInt(nbOfNodes));
02420     currentCreateTableRule.setTableName(tableName);
02421   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDatabaseBackend Attributes  atts  )  [private]
 

Sets currentBackendas a new DatabaseBackend using the parsed attributes.

引数:
atts parsed attributes

DatabasesParser.java1159 行で定義されています。

01160   {
01161     String name = atts.getValue(DatabasesXmlTags.ATT_name);
01162     String driverClassName = atts.getValue(DatabasesXmlTags.ATT_driver);
01163     String driverPath = atts.getValue(DatabasesXmlTags.ATT_driverPath);
01164     String url = atts.getValue(DatabasesXmlTags.ATT_url);
01165     String connectionTestStatement = atts
01166         .getValue(DatabasesXmlTags.ATT_connectionTestStatement);
01167 
01168     if (logger.isDebugEnabled())
01169     {
01170       logger.debug(Translate.get("virtualdatabase.xml.backend.create",
01171           new String[]{name, driverClassName, url, connectionTestStatement}));
01172       if (driverPath == null)
01173       {
01174         logger.debug("no driver path defined for backend.");
01175       }
01176       else
01177       {
01178         logger.debug("using driver path " + driverPath);
01179       }
01180     }
01181     currentBackend = new DatabaseBackend(name, driverPath, driverClassName,
01182         url, connectionTestStatement);
01183   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDatabaseColumn Attributes  atts  )  [private]
 

Adds to currentTablea new DatabaseColumn using the parsed attributes.

引数:
atts parsed attributes

DatabasesParser.java2928 行で定義されています。

02929   {
02930     String columnName = atts.getValue(DatabasesXmlTags.ATT_columnName);
02931     String isUnique = atts.getValue(DatabasesXmlTags.ATT_isUnique);
02932 
02933     if (logger.isDebugEnabled())
02934       logger.debug(Translate.get("virtualdatabase.xml.schema.column.add",
02935           new String[]{columnName, String.valueOf(isUnique)}));
02936 
02937     currentTable.addColumn(new DatabaseColumn(columnName, isUnique
02938         .equals(DatabasesXmlTags.VAL_true)));
02939   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDatabaseProcedure Attributes  atts  )  [private]
 

DatabasesParser.java2941 行で定義されています。

02942   {
02943     String procedureName = atts.getValue(DatabasesXmlTags.ATT_name);
02944     String returnType = atts.getValue(DatabasesXmlTags.ATT_returnType);
02945     if (logger.isDebugEnabled())
02946       logger.debug(Translate.get("virtualdatabase.xml.schema.procedure.add",
02947           new String[]{procedureName, returnType}));
02948 
02949     currentProcedure = new DatabaseProcedure(procedureName, "",
02950         DatabaseProcedure.getTypeFromString(returnType));
02951   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDatabaseProcedureColumn Attributes  atts  )  [private]
 

DatabasesParser.java2953 行で定義されています。

02954   {
02955     String paramName = atts.getValue(DatabasesXmlTags.ATT_name);
02956     String nullable = atts.getValue(DatabasesXmlTags.ATT_nullable);
02957     String type = atts.getValue(DatabasesXmlTags.ATT_paramType);
02958     if (logger.isDebugEnabled())
02959       logger.debug(Translate.get(
02960           "virtualdatabase.xml.schema.procedure.parameter.add", new String[]{
02961               paramName, nullable, type}));
02962     currentProcedure.addParameter(new DatabaseProcedureParameter(paramName,
02963         DatabaseProcedureParameter.getColumnTypeFromString(type),
02964         DatabaseProcedureParameter.getNullFromString(nullable)));
02965   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDatabaseSchema Attributes  atts  )  [private]
 

DatabasesParser.java2915 行で定義されています。

02916   {
02917     String dynamicLevel = atts.getValue(DatabasesXmlTags.ATT_dynamicPrecision);
02918     currentBackend.setDynamicPrecision(DatabaseBackendSchemaConstants
02919         .getDynamicSchemaLevel(dynamicLevel));
02920   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDatabaseTable Attributes  atts  )  throws SAXException [private]
 

Sets currentTableas a new DatabaseTable using the parsed attributs.

引数:
atts parsed attributes
例外:
SAXException if error occurs

DatabasesParser.java2891 行で定義されています。

02892   {
02893     String tableName = atts.getValue(DatabasesXmlTags.ATT_tableName);
02894     String nbOfColumns = atts.getValue(DatabasesXmlTags.ATT_nbOfColumns);
02895 
02896     if (logger.isDebugEnabled())
02897       logger.debug(Translate.get("virtualdatabase.xml.schema.table.add",
02898           new String[]{tableName, String.valueOf(nbOfColumns)}));
02899 
02900     numberOfColumns = Integer.parseInt(nbOfColumns);
02901 
02902     try
02903     {
02904       currentTable = new DatabaseTable(tableName, numberOfColumns);
02905     }
02906     catch (NumberFormatException e)
02907     {
02908       String msg = Translate.get("virtualdatabase.xml.schema.table.failed",
02909           tableName);
02910       logger.error(msg, e);
02911       throw new SAXException(msg, e);
02912     }
02913   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDefaultResultCacheRule Attributes  atts  )  throws SAXException [private]
 

Set the DefaultResultCacheRule using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1702 行で定義されています。

01703   {
01704     try
01705     {
01706       currentTimestampResolution = Long.parseLong(atts
01707           .getValue(DatabasesXmlTags.ATT_timestampResolution)) / 1000;
01708     }
01709     catch (Exception e)
01710     {
01711       String msg = Translate
01712           .get("virtualdatabase.invalid.timestamp.resolution");
01713       currentTimestampResolution = 1000;
01714     }
01715     // Create a fake rule
01716     try
01717     {
01718       currentResultCacheRule = new ResultCacheRule("", false, false,
01719           currentTimestampResolution);
01720     }
01721     catch (RESyntaxException e)
01722     {
01723       throw new SAXException(Translate.get(
01724           "virtualdatabase.xml.cache.rule.default.invalid", e));
01725     }
01726   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newDistribution Attributes  atts  )  throws SAXException [private]
 

Sets currentVirtualDatabaseas a new DistributedVirtalDatabase using the parsed attributes.

引数:
atts parsed attributes

DatabasesParser.java1007 行で定義されています。

01008   {
01009     String groupName = atts.getValue(DatabasesXmlTags.ATT_groupName);
01010     if (groupName == null)
01011       groupName = currentVirtualDatabase.getName();
01012 
01013     if (logger.isDebugEnabled())
01014       logger.debug(Translate.get(
01015           "virtualdatabase.xml.virtualdatabase.distributed.create",
01016           new String[]{currentVirtualDatabase.getName(), groupName}));
01017     try
01018     {
01019       currentVirtualDatabase = new DistributedVirtualDatabase(controller
01020           .getName(), currentVirtualDatabase.getName(), groupName,
01021           currentVirtualDatabase.getMaxNbOfConnections(),
01022           currentVirtualDatabase.isPoolConnectionThreads(),
01023           currentVirtualDatabase.getMinNbOfThreads(), currentVirtualDatabase
01024               .getMaxNbOfThreads(), currentVirtualDatabase
01025               .getMaxThreadIdleTime(), currentVirtualDatabase.getBlobFilter());
01026     }
01027     catch (Exception e)
01028     {
01029       String msg = Translate
01030           .get("virtualdatabase.xml.virtualdatabase.distributed.failed");
01031       logger.error(msg, e);
01032       throw new SAXException(msg, e);
01033     }
01034   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newErrorChecking Attributes  atts  )  throws SAXException [private]
 

Add an ErrorChecking policy.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2380 行で定義されています。

02381   {
02382     String nbOfNodes = atts.getValue(DatabasesXmlTags.ATT_numberOfNodes);
02383     String policy = atts.getValue(DatabasesXmlTags.ATT_policy);
02384     if (policy.equals(DatabasesXmlTags.VAL_random))
02385       currentErrorCheckingPolicy = new ErrorCheckingRandom(Integer
02386           .parseInt(nbOfNodes));
02387     else if (policy.equals(DatabasesXmlTags.VAL_roundRobin))
02388       currentErrorCheckingPolicy = new ErrorCheckingRoundRobin(Integer
02389           .parseInt(nbOfNodes));
02390     else if (policy.equals(DatabasesXmlTags.VAL_all))
02391       currentErrorCheckingPolicy = new ErrorCheckingAll();
02392     else
02393       throw new SAXException(Translate.get(
02394           "virtualdatabase.xml.loadbalancer.errorchecking.unsupported", policy));
02395   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newFailFastPoolConnectionManager Attributes  atts  )  throws SAXException [private]
 

Adds a new FailFastPoolConnectionManager to currentBackendusing the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2714 行で定義されています。

02716   {
02717     try
02718     {
02719       int poolSize = Integer.parseInt(atts
02720           .getValue(DatabasesXmlTags.ATT_poolSize));
02721 
02722       // sanity check
02723       if (poolSize < 1)
02724         throw new IllegalArgumentException(
02725             Translate
02726                 .get("virtualdatabase.xml.connectionmanager.failfast.failed.parameter"));
02727 
02728       if (logger.isDebugEnabled())
02729         logger.debug(Translate.get(
02730             "virtualdatabase.xml.connectionmanager.failfast.add", new String[]{
02731                 currentBackend.getName(), connectionManagerVLogin,
02732                 String.valueOf(poolSize),
02733                 currentDatabaseBackendUser.getLogin(),
02734                 currentDatabaseBackendUser.getPassword()}));
02735 
02736       currentBackend.addConnectionManager(connectionManagerVLogin,
02737           new FailFastPoolConnectionManager(currentBackend.getURL(),
02738               currentBackend.getName(), currentDatabaseBackendUser.getLogin(),
02739               currentDatabaseBackendUser.getPassword(), currentBackend
02740                   .getDriverPath(), currentBackend.getDriverClassName(),
02741               poolSize));
02742     }
02743     catch (Exception e)
02744     {
02745       String msg = Translate.get(
02746           "virtualdatabase.xml.connectionmanager.failfast.failed",
02747           currentBackend.getName());
02748       logger.error(msg, e);
02749       throw new SAXException(msg, e);
02750     }
02751   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newFileRecoveryLog Attributes  atts  )  throws SAXException [private]
 

Sets the currentRecoveryLog as new FileRecoveryLog using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2639 行で定義されています。

02640   {
02641     String msg = "FileRecoveryLog is not yet implemented";
02642     logger.error(msg);
02643     throw new SAXException(msg);
02644   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newJDBCRecoveryBackendTable Attributes  atts  )  throws SAXException [private]
 

Sets the backend log table create statement for the current JDBCRecoveryLog using the BackendLogTable parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2597 行で定義されています。

02598   {
02599     try
02600     {
02601       String tableName = atts.getValue(DatabasesXmlTags.ATT_tableName);
02602       String checkpointNameType = atts
02603           .getValue(DatabasesXmlTags.ATT_checkpointNameColumnType);
02604       String databaseNameType = atts
02605           .getValue(DatabasesXmlTags.ATT_databaseNameColumnType);
02606       String backendNameType = atts
02607           .getValue(DatabasesXmlTags.ATT_backendNameColumnType);
02608       String extraStatement = atts
02609           .getValue(DatabasesXmlTags.ATT_extraStatementDefinition);
02610 
02611       if (currentRecoveryLog == null)
02612       {
02613         String msg = Translate
02614             .get("virtualdatabase.xml.recoverylog.jdbc.backendtable.setnull");
02615         logger.error(msg);
02616         throw new SAXException(msg);
02617       }
02618       else
02619         currentRecoveryLog.setBackendTableCreateStatement(tableName,
02620             checkpointNameType, backendNameType, databaseNameType,
02621             extraStatement);
02622     }
02623     catch (Exception e)
02624     {
02625       String msg = Translate
02626           .get("virtualdatabase.xml.recoverylog.jdbc.backendtable.failed");
02627       logger.error(msg, e);
02628       throw new SAXException(msg, e);
02629     }
02630   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newJDBCRecoveryCheckpointTable Attributes  atts  )  throws SAXException [private]
 

Sets the recovery log table create statement for the current JDBCRecoveryLog using the RecoveryLogTable parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2556 行で定義されています。

02558   {
02559     try
02560     {
02561       String tableName = atts.getValue(DatabasesXmlTags.ATT_tableName);
02562       String nameType = atts
02563           .getValue(DatabasesXmlTags.ATT_checkpointNameColumnType);
02564       String requestIdType = atts
02565           .getValue(DatabasesXmlTags.ATT_requestIdColumnType);
02566       String extraStatement = atts
02567           .getValue(DatabasesXmlTags.ATT_extraStatementDefinition);
02568 
02569       if (currentRecoveryLog == null)
02570       {
02571         String msg = Translate
02572             .get("virtualdatabase.xml.recoverylog.jdbc.checkpointtable.setnull");
02573         logger.error(msg);
02574         throw new SAXException(msg);
02575       }
02576       else
02577         currentRecoveryLog.setCheckpointTableCreateStatement(tableName,
02578             nameType, requestIdType, extraStatement);
02579     }
02580     catch (Exception e)
02581     {
02582       String msg = Translate
02583           .get("virtualdatabase.xml.recoverylog.jdbc.checkpointtable.failed");
02584       logger.error(msg, e);
02585       throw new SAXException(msg, e);
02586     }
02587   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newJDBCRecoveryLog Attributes  atts  )  throws SAXException [private]
 

Sets the currentRecoveryLog as new JDBCRecoveryLog using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2476 行で定義されています。

02477   {
02478     try
02479     {
02480       String driverClassName = atts.getValue(DatabasesXmlTags.ATT_driver);
02481       String driverPath = atts.getValue(DatabasesXmlTags.ATT_driverPath);
02482       String url = atts.getValue(DatabasesXmlTags.ATT_url);
02483       String login = atts.getValue(DatabasesXmlTags.ATT_login);
02484       String password = atts.getValue(DatabasesXmlTags.ATT_password);
02485       String timeout = atts.getValue(DatabasesXmlTags.ATT_requestTimeout);
02486       // Convert to ms
02487       requestTimeout = Integer.parseInt(timeout) * 1000;
02488 
02489       if (logger.isDebugEnabled())
02490         logger.debug(Translate.get(
02491             "virtualdatabase.xml.recoverylog.jdbc.create", new String[]{
02492                 driverClassName, url, login, password,
02493                 String.valueOf(requestTimeout)}));
02494 
02495       currentRecoveryLog = new JDBCRecoveryLog(driverPath,
02496           driverClassName, url, login, password, requestTimeout);
02497       //currentRecoveryLog.setBackendTableCreateStatement();
02498     }
02499     catch (Exception e)
02500     {
02501       String msg = Translate.get("virtualdatabase.xml.recoverylog.jdbc.failed");
02502       logger.error(msg, e);
02503       throw new SAXException(msg, e);
02504     }
02505   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newJDBCRecoveryLogTable Attributes  atts  )  throws SAXException [private]
 

Sets the recovery log table create statement for the current JDBCRecoveryLog using the RecoveryLogTable parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2515 行で定義されています。

02516   {
02517     try
02518     {
02519       String tableName = atts.getValue(DatabasesXmlTags.ATT_tableName);
02520       String idType = atts.getValue(DatabasesXmlTags.ATT_idColumnType);
02521       String vloginType = atts.getValue(DatabasesXmlTags.ATT_vloginColumnType);
02522       String sqlType = atts.getValue(DatabasesXmlTags.ATT_sqlColumnType);
02523       String transactionIdType = atts
02524           .getValue(DatabasesXmlTags.ATT_transactionIdColumnType);
02525       String extraStatement = atts
02526           .getValue(DatabasesXmlTags.ATT_extraStatementDefinition);
02527 
02528       if (currentRecoveryLog == null)
02529       {
02530         String msg = Translate
02531             .get("virtualdatabase.xml.recoverylog.jdbc.recoverytable.setnull");
02532         logger.error(msg);
02533         throw new SAXException(msg);
02534       }
02535       else
02536         currentRecoveryLog.setLogTableCreateStatement(tableName, idType,
02537             vloginType, sqlType, transactionIdType, extraStatement);
02538     }
02539     catch (Exception e)
02540     {
02541       String msg = Translate
02542           .get("virtualdatabase.xml.recoverylog.jdbc.recoverytable.failed");
02543       logger.error(msg, e);
02544       throw new SAXException(msg, e);
02545     }
02546   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newMetadataCache Attributes  atts  )  throws SAXException [private]
 

Sets currentMetadataCacheas a new MetadataCache using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1530 行で定義されています。

01531   {
01532     try
01533     {
01534       int maxMetadata = Integer.parseInt(atts
01535           .getValue(DatabasesXmlTags.ATT_maxNbOfMetadata));
01536       int maxField = Integer.parseInt(atts
01537           .getValue(DatabasesXmlTags.ATT_maxNbOfField));
01538       currentMetadataCache = new MetadataCache(maxMetadata, maxField);
01539     }
01540     catch (Exception e)
01541     {
01542       String msg = Translate.get(
01543           "virtualdatabase.xml.metadata.cache.create.failed", e);
01544       logger.error(msg, e);
01545       throw new SAXException(msg, e);
01546     }
01547   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newParallelDBLeastPendingRequestsFirst Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new ParallelDB_RR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1785 行で定義されています。

01787   {
01788     if (logger.isDebugEnabled())
01789       logger.debug(Translate
01790           .get("virtualdatabase.xml.loadbalancer.paralleldb_rr.set"));
01791 
01792     try
01793     {
01794       currentLoadBalancer = new ParallelDB_RR(currentVirtualDatabase);
01795     }
01796     catch (SQLException e)
01797     {
01798       String msg = Translate
01799           .get("virtualdatabase.xml.loadbalancer.paralleldb_rr.failed");
01800       logger.error(msg, e);
01801       throw new SAXException(msg, e);
01802     }
01803   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newParallelDBRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new ParallelDB_LPRF using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1812 行で定義されています。

01814   {
01815     if (logger.isDebugEnabled())
01816       logger.debug(Translate
01817           .get("virtualdatabase.xml.loadbalancer.paralleldb_lprf.set"));
01818 
01819     try
01820     {
01821       currentLoadBalancer = new ParallelDB_LPRF(currentVirtualDatabase);
01822     }
01823     catch (SQLException e)
01824     {
01825       String msg = Translate
01826           .get("virtualdatabase.xml.loadbalancer.paralleldb_lprf.failed");
01827       logger.error(msg, e);
01828       throw new SAXException(msg, e);
01829     }
01830   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newParsingCache Attributes  atts  )  throws SAXException [private]
 

Sets currentParsingCacheas a new ParsingCache using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1556 行で定義されています。

01557   {
01558     String backgroundParsingString = atts
01559         .getValue(DatabasesXmlTags.ATT_backgroundParsing);
01560     boolean backgroundParsing;
01561 
01562     if (backgroundParsingString != null)
01563       backgroundParsing = backgroundParsingString
01564           .equals(DatabasesXmlTags.VAL_true);
01565     else
01566       backgroundParsing = false;
01567 
01568     String maxEntriesString = atts
01569         .getValue(DatabasesXmlTags.ATT_maxNbOfEntries);
01570     int maxEntries = Integer.parseInt(maxEntriesString);
01571 
01572     try
01573     {
01574       currentParsingCache = new ParsingCache(maxEntries, backgroundParsing);
01575     }
01576     catch (Exception e)
01577     {
01578       String msg = Translate.get(
01579           "virtualdatabase.xml.parsing.cache.create.failed", e);
01580       logger.error(msg, e);
01581       throw new SAXException(msg, e);
01582     }
01583   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb0LoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb0 using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1843 行で定義されています。

01844   {
01845     currentCreateTablePolicy = new CreateTablePolicy();
01846     currentCreateTableRule = null;
01847   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb0Scheduler Attributes  atts  )  throws SAXException [private]
 

Sets currentRequestScheduleras a new RAIDb0QueryLevelScheduler using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1409 行で定義されています。

01410   {
01411     String level = atts.getValue(DatabasesXmlTags.ATT_level);
01412 
01413     if (level.equals(DatabasesXmlTags.VAL_query))
01414     {
01415       if (logger.isDebugEnabled())
01416         logger.debug(Translate
01417             .get("virtualdatabase.xml.scheduler.raidb0.create.query"));
01418       currentRequestScheduler = new RAIDb0QueryLevelScheduler();
01419     }
01420     else if (level.equals(DatabasesXmlTags.VAL_pessimisticTransaction))
01421     {
01422       if (logger.isDebugEnabled())
01423         logger.debug(Translate
01424             .get("virtualdatabase.xml.scheduler.raidb0.create.pessimistic"));
01425       currentRequestScheduler = new RAIDb0PessimisticTransactionLevelScheduler();
01426     }
01427     else
01428       throw new SAXException(Translate.get(
01429           "virtualdatabase.xml.scheduler.raidb0.unsupported", level));
01430   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1ecLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1ec using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1996 行で定義されています。

01997   {
01998     String nbOfConcurrentReads = atts
01999         .getValue(DatabasesXmlTags.ATT_nbOfConcurrentReads);
02000     currentNbOfConcurrentReads = Integer.parseInt(nbOfConcurrentReads);
02001     currentErrorCheckingPolicy = null;
02002     currentWaitForCompletionPolicy = null;
02003     try
02004     {
02005       currentTimestampResolution = Long.parseLong(atts
02006           .getValue(DatabasesXmlTags.ATT_timestampResolution));
02007     }
02008     catch (Exception e)
02009     {
02010       String msg = Translate
02011           .get("virtualdatabase.invalid.timestamp.resolution");
02012       logger.error(msg);
02013       throw new SAXException(msg);
02014     }
02015 
02016   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1ecRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1ec_RR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2025 行で定義されています。

02027   {
02028     if (currentWaitForCompletionPolicy == null)
02029       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02030 
02031     if (logger.isDebugEnabled())
02032     {
02033       logger.debug(Translate
02034           .get("virtualdatabase.xml.loadbalancer.raidb1ec_rr.set"));
02035       logger.debug(Translate.get(
02036           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02037           currentWaitForCompletionPolicy.getInformation()));
02038     }
02039 
02040     try
02041     {
02042       currentLoadBalancer = new RAIDb1ec_RR(currentVirtualDatabase,
02043           currentWaitForCompletionPolicy, currentErrorCheckingPolicy,
02044           currentNbOfConcurrentReads, currentTimestampResolution);
02045       if (logger.isDebugEnabled())
02046         logger.debug(Translate.get(
02047             "virtualdatabase.xml.loadbalancer.errorchecking.policy",
02048             currentErrorCheckingPolicy.getInformation()));
02049     }
02050     catch (SQLException e)
02051     {
02052       String msg = Translate
02053           .get("virtualdatabase.xml.loadbalancer.raidb1ec_rr.failed");
02054       logger.error(msg, e);
02055       throw new SAXException(msg, e);
02056     }
02057   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1ecWeightedRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1ec_WRR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2066 行で定義されています。

02068   {
02069     if (currentWaitForCompletionPolicy == null)
02070       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02071 
02072     if (logger.isDebugEnabled())
02073     {
02074       logger.debug(Translate
02075           .get("virtualdatabase.xml.loadbalancer.raidb1ec_wrr.set"));
02076       logger.debug(Translate.get(
02077           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02078           currentWaitForCompletionPolicy.getInformation()));
02079     }
02080 
02081     try
02082     {
02083       currentLoadBalancer = new RAIDb1ec_WRR(currentVirtualDatabase,
02084           currentWaitForCompletionPolicy, currentErrorCheckingPolicy,
02085           currentNbOfConcurrentReads, currentTimestampResolution);
02086       if (logger.isDebugEnabled())
02087         logger.debug(Translate.get(
02088             "virtualdatabase.xml.loadbalancer.errorchecking.policy",
02089             currentErrorCheckingPolicy.getInformation()));
02090     }
02091     catch (SQLException e)
02092     {
02093       String msg = Translate
02094           .get("virtualdatabase.xml.loadbalancer.raidb1ec_wrr.failed");
02095       logger.error(msg, e);
02096       throw new SAXException(msg, e);
02097     }
02098   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1LeastPendingRequestsFirst Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1_LPRF using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1956 行で定義されています。

01958   {
01959     if (currentWaitForCompletionPolicy == null)
01960       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
01961 
01962     if (logger.isDebugEnabled())
01963     {
01964       logger.debug(Translate
01965           .get("virtualdatabase.xml.loadbalancer.raidb1_lprf.set"));
01966       logger.debug(Translate.get(
01967           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
01968           currentWaitForCompletionPolicy.getInformation()));
01969     }
01970 
01971     try
01972     {
01973       currentLoadBalancer = new RAIDb1_LPRF(currentVirtualDatabase,
01974           currentWaitForCompletionPolicy, currentTimestampResolution);
01975     }
01976     catch (SQLException e)
01977     {
01978       String msg = Translate
01979           .get("virtualdatabase.xml.loadbalancer.raidb1_lprf.failed");
01980       logger.error(msg, e);
01981       throw new SAXException(msg, e);
01982     }
01983   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1LoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1 using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1860 行で定義されています。

01861   {
01862     currentWaitForCompletionPolicy = null;
01863     try
01864     {
01865       currentTimestampResolution = Long.parseLong(atts
01866           .getValue(DatabasesXmlTags.ATT_timestampResolution));
01867     }
01868     catch (Exception e)
01869     {
01870       String msg = Translate
01871           .get("virtualdatabase.invalid.timestamp.resolution");
01872       logger.error(msg);
01873       throw new SAXException(msg);
01874     }
01875   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1RoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1_RR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1884 行で定義されています。

01886   {
01887     if (currentWaitForCompletionPolicy == null)
01888       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
01889 
01890     if (logger.isDebugEnabled())
01891     {
01892       logger.debug(Translate
01893           .get("virtualdatabase.xml.loadbalancer.raidb1_rr.set"));
01894       logger.debug(Translate.get(
01895           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
01896           currentWaitForCompletionPolicy.getInformation()));
01897     }
01898 
01899     try
01900     {
01901       currentLoadBalancer = new RAIDb1_RR(currentVirtualDatabase,
01902           currentWaitForCompletionPolicy, currentTimestampResolution);
01903     }
01904     catch (SQLException e)
01905     {
01906       String msg = Translate
01907           .get("virtualdatabase.xml.loadbalancer.raidb1_rr.failed");
01908       logger.error(msg, e);
01909       throw new SAXException(msg, e);
01910     }
01911   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1Scheduler Attributes  atts  )  throws SAXException [private]
 

Sets currentRequestScheduleras a new RAIDb1QueryLevelScheduler using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1440 行で定義されています。

01441   {
01442     String level = atts.getValue(DatabasesXmlTags.ATT_level);
01443 
01444     // RAIDb-1 Query level
01445     if (level.equals(DatabasesXmlTags.VAL_query))
01446     {
01447       if (logger.isDebugEnabled())
01448         logger.debug(Translate
01449             .get("virtualdatabase.xml.scheduler.raidb1.create.query"));
01450       currentRequestScheduler = new RAIDb1QueryLevelScheduler();
01451     }
01452     // RAIDb-1 Optimistic Query level
01453     else if (level.equals(DatabasesXmlTags.VAL_optimisticQuery))
01454     {
01455       if (logger.isDebugEnabled())
01456         logger
01457             .debug(Translate
01458                 .get("virtualdatabase.xml.scheduler.raidb1.create.query.optimistic"));
01459       currentRequestScheduler = new RAIDb1OptimisticQueryLevelScheduler();
01460     }
01461     // RAIDb-1 Optimistic Transaction level
01462     else if (level.equals(DatabasesXmlTags.VAL_optimisticTransaction))
01463     {
01464       if (logger.isDebugEnabled())
01465         logger.debug(Translate
01466             .get("virtualdatabase.xml.scheduler.raidb1.create.optimistic"));
01467       currentRequestScheduler = new RAIDb1OptimisticTransactionLevelScheduler();
01468     }
01469     // RAIDb-1 Pessimistic Transaction level
01470     else if (level.equals(DatabasesXmlTags.VAL_pessimisticTransaction))
01471     {
01472       if (logger.isDebugEnabled())
01473         logger.debug(Translate
01474             .get("virtualdatabase.xml.scheduler.raidb1.create.pessimistic"));
01475       currentRequestScheduler = new RAIDb1PessimisticTransactionLevelScheduler();
01476     }
01477     else
01478     {
01479       throw new SAXException(Translate.get(
01480           "virtualdatabase.xml.scheduler.raidb1.unsupported", level));
01481     }
01482   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb1WeightedRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb1_WRR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1920 行で定義されています。

01922   {
01923     if (currentWaitForCompletionPolicy == null)
01924       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
01925 
01926     if (logger.isDebugEnabled())
01927     {
01928       logger.debug(Translate
01929           .get("virtualdatabase.xml.loadbalancer.raidb1_wrr.set"));
01930       logger.debug(Translate.get(
01931           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
01932           currentWaitForCompletionPolicy.getInformation()));
01933     }
01934 
01935     try
01936     {
01937       currentLoadBalancer = new RAIDb1_WRR(currentVirtualDatabase,
01938           currentWaitForCompletionPolicy, currentTimestampResolution);
01939     }
01940     catch (SQLException e)
01941     {
01942       String msg = Translate
01943           .get("virtualdatabase.xml.loadbalancer.raidb1_wrr.failed");
01944       logger.error(msg, e);
01945       throw new SAXException(msg, e);
01946     }
01947   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2ecLoadBalancer Attributes  atts  )  [private]
 

Sets currentLoadBalanceras a new RAIDb2ec using the parsed attributes.

引数:
atts parsed attributes

DatabasesParser.java2254 行で定義されています。

02255   {
02256     currentErrorCheckingPolicy = null;
02257     currentWaitForCompletionPolicy = null;
02258     currentCreateTablePolicy = new CreateTablePolicy();
02259     currentCreateTableRule = null;
02260   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2ecRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb2ec_RR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2269 行で定義されています。

02271   {
02272     if (currentWaitForCompletionPolicy == null)
02273       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02274 
02275     if (logger.isDebugEnabled())
02276     {
02277       logger.debug(Translate
02278           .get("virtualdatabase.xml.loadbalancer.raidb2_rr.set"));
02279       logger.debug(Translate.get(
02280           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02281           currentWaitForCompletionPolicy.getInformation()));
02282     }
02283 
02284     try
02285     {
02286       currentLoadBalancer = new RAIDb2ec_RR(currentVirtualDatabase,
02287           currentWaitForCompletionPolicy, currentCreateTablePolicy,
02288           currentErrorCheckingPolicy, currentNbOfConcurrentReads,
02289           currentTimestampResolution);
02290       if (logger.isDebugEnabled())
02291         logger.debug(Translate.get(
02292             "virtualdatabase.xml.loadbalancer.errorchecking.policy",
02293             currentErrorCheckingPolicy.getInformation()));
02294     }
02295     catch (SQLException e)
02296     {
02297       String msg = Translate
02298           .get("virtualdatabase.xml.loadbalancer.raidb2ec_rr.failed");
02299       logger.error(msg, e);
02300       throw new SAXException(msg, e);
02301     }
02302   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2ecWeightedRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb2ec_WRR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2311 行で定義されています。

02313   {
02314     if (currentWaitForCompletionPolicy == null)
02315       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02316 
02317     if (logger.isDebugEnabled())
02318     {
02319       logger.debug(Translate
02320           .get("virtualdatabase.xml.loadbalancer.raidb2_wrr.set"));
02321       logger.debug(Translate.get(
02322           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02323           currentWaitForCompletionPolicy.getInformation()));
02324     }
02325 
02326     try
02327     {
02328       currentLoadBalancer = new RAIDb2ec_WRR(currentVirtualDatabase,
02329           currentWaitForCompletionPolicy, currentCreateTablePolicy,
02330           currentErrorCheckingPolicy, currentNbOfConcurrentReads,
02331           currentTimestampResolution);
02332       if (logger.isDebugEnabled())
02333         logger.debug(Translate.get(
02334             "virtualdatabase.xml.loadbalancer.errorchecking.policy",
02335             currentErrorCheckingPolicy.getInformation()));
02336     }
02337     catch (SQLException e)
02338     {
02339       String msg = Translate
02340           .get("virtualdatabase.xml.loadbalancer.raidb2ec_wrr.failed");
02341       logger.error(msg, e);
02342       throw new SAXException(msg, e);
02343     }
02344   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2LeastPendingRequestsFirst Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb2_LPRF using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2214 行で定義されています。

02216   {
02217     if (currentWaitForCompletionPolicy == null)
02218       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02219     Translate.get("jgfqsdfkjhsdlfhj");
02220     if (logger.isDebugEnabled())
02221     {
02222       logger.debug(Translate
02223           .get("virtualdatabase.xml.loadbalancer.raidb2_lprf.set"));
02224       logger.debug(Translate.get(
02225           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02226           currentWaitForCompletionPolicy.getInformation()));
02227     }
02228 
02229     try
02230     {
02231       currentLoadBalancer = new RAIDb2_LPRF(currentVirtualDatabase,
02232           currentWaitForCompletionPolicy, currentCreateTablePolicy,
02233           currentTimestampResolution);
02234     }
02235     catch (SQLException e)
02236     {
02237       String msg = Translate
02238           .get("virtualdatabase.xml.loadbalancer.raidb2_lprf.failed");
02239       logger.error(msg, e);
02240       throw new SAXException(msg, e);
02241     }
02242   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2LoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb2 using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2111 行で定義されています。

02112   {
02113     currentWaitForCompletionPolicy = null;
02114     currentCreateTablePolicy = new CreateTablePolicy();
02115     // Add a default rule to create table on all nodes
02116     currentCreateTablePolicy.addRule(new CreateTableAll());
02117     currentCreateTableRule = null;
02118     try
02119     {
02120       currentTimestampResolution = Long.parseLong(atts
02121           .getValue(DatabasesXmlTags.ATT_timestampResolution));
02122     }
02123     catch (Exception e)
02124     {
02125       String msg = Translate
02126           .get("virtualdatabase.invalid.timestamp.resolution");
02127       logger.error(msg);
02128       throw new SAXException(msg);
02129     }
02130 
02131   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2RoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb2_RR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2140 行で定義されています。

02142   {
02143     if (currentWaitForCompletionPolicy == null)
02144       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02145 
02146     if (logger.isDebugEnabled())
02147     {
02148       logger.debug(Translate
02149           .get("virtualdatabase.xml.loadbalancer.raidb2_rr.set"));
02150       logger.debug(Translate.get(
02151           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02152           currentWaitForCompletionPolicy.getInformation()));
02153     }
02154 
02155     try
02156     {
02157       currentLoadBalancer = new RAIDb2_RR(currentVirtualDatabase,
02158           currentWaitForCompletionPolicy, currentCreateTablePolicy,
02159           currentTimestampResolution);
02160     }
02161     catch (SQLException e)
02162     {
02163       String msg = Translate
02164           .get("virtualdatabase.xml.loadbalancer.raidb2_rr.failed");
02165       logger.error(msg, e);
02166       throw new SAXException(msg, e);
02167     }
02168   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2Scheduler Attributes  atts  )  throws SAXException [private]
 

Sets currentRequestScheduleras a new RAIDb2QueryLevelScheduler using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1492 行で定義されています。

01493   {
01494     String level = atts.getValue(DatabasesXmlTags.ATT_level);
01495 
01496     // RAIDb-2 Query level
01497     if (level.equals(DatabasesXmlTags.VAL_query))
01498     {
01499       if (logger.isDebugEnabled())
01500         logger.debug(Translate
01501             .get("virtualdatabase.xml.scheduler.raidb2.create.query"));
01502       currentRequestScheduler = new RAIDb2QueryLevelScheduler();
01503     }
01504     // RAIDb-2 Pessimistic Transaction level
01505     else if (level.equals(DatabasesXmlTags.VAL_pessimisticTransaction))
01506     {
01507       if (logger.isDebugEnabled())
01508         logger.debug(Translate
01509             .get("virtualdatabase.xml.scheduler.raidb2.create.pessimistic"));
01510       currentRequestScheduler = new RAIDb2PessimisticTransactionLevelScheduler();
01511     }
01512     else
01513     {
01514       throw new SAXException(Translate.get(
01515           "virtualdatabase.xml.scheduler.raidb2.unsupported", level));
01516     }
01517   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRAIDb2WeightedRoundRobinLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new RAIDb2_WRR using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2177 行で定義されています。

02179   {
02180     if (currentWaitForCompletionPolicy == null)
02181       currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02182 
02183     if (logger.isDebugEnabled())
02184     {
02185       logger.debug(Translate
02186           .get("virtualdatabase.xml.loadbalancer.raidb2_wrr.set"));
02187       logger.debug(Translate.get(
02188           "virtualdatabase.xml.loadbalancer.waitforcompletion.rule",
02189           currentWaitForCompletionPolicy.getInformation()));
02190     }
02191 
02192     try
02193     {
02194       currentLoadBalancer = new RAIDb2_WRR(currentVirtualDatabase,
02195           currentWaitForCompletionPolicy, currentCreateTablePolicy,
02196           currentTimestampResolution);
02197     }
02198     catch (SQLException e)
02199     {
02200       String msg = Translate
02201           .get("virtualdatabase.xml.loadbalancer.raidb2_wrr.failed");
02202       logger.error(msg, e);
02203       throw new SAXException(msg, e);
02204     }
02205   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRandomWaitPoolConnectionManager Attributes  atts  )  throws SAXException [private]
 

Adds a new RandomWaitPoolConnectionManager to currentBackendusing the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2760 行で定義されています。

02762   {
02763     try
02764     {
02765       int poolSize = Integer.parseInt(atts
02766           .getValue(DatabasesXmlTags.ATT_poolSize));
02767       String timeoutString = atts.getValue(DatabasesXmlTags.ATT_timeout);
02768       int timeout = 0;
02769 
02770       if (timeoutString != null) // Timeout is IMPLIED and
02771         // may be null
02772         timeout = Integer.parseInt(timeoutString);
02773 
02774       // sanity check
02775       if (timeout < 0 || poolSize < 1)
02776         throw new IllegalArgumentException(
02777             Translate
02778                 .get("virtualdatabase.xml.connectionmanager.randomwait.failed.parameter"));
02779 
02780       if (logger.isDebugEnabled())
02781         logger.debug(Translate.get(
02782             "virtualdatabase.xml.connectionmanager.randomwait.add",
02783             new String[]{currentBackend.getName(), connectionManagerVLogin,
02784                 String.valueOf(poolSize), String.valueOf(timeout),
02785                 currentDatabaseBackendUser.getLogin(),
02786                 currentDatabaseBackendUser.getPassword()}));
02787 
02788       currentBackend.addConnectionManager(connectionManagerVLogin,
02789           new RandomWaitPoolConnectionManager(currentBackend.getURL(),
02790               currentBackend.getName(), currentDatabaseBackendUser.getLogin(),
02791               currentDatabaseBackendUser.getPassword(), currentBackend
02792                   .getDriverPath(), currentBackend.getDriverClassName(),
02793               poolSize, timeout));
02794     }
02795     catch (Exception e)
02796     {
02797       String msg = Translate.get(
02798           "virtualdatabase.xml.connectionmanager.randomwait.failed",
02799           currentBackend.getName());
02800       logger.error(msg, e);
02801       throw new SAXException(msg, e);
02802     }
02803   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRealLogin Attributes  atts  )  throws SAXException [private]
 

Associates a new real database backend user to the virtual database user currentVirtualUserin the currentAuthenticationManager using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1291 行で定義されています。

01292   {
01293     String backendName = atts.getValue(DatabasesXmlTags.ATT_backendName);
01294     String rLogin = atts.getValue(DatabasesXmlTags.ATT_rLogin);
01295     String rPassword = atts.getValue(DatabasesXmlTags.ATT_rPassword);
01296     DatabaseBackendUser user = new DatabaseBackendUser(backendName, rLogin,
01297         rPassword);
01298 
01299     if (logger.isDebugEnabled())
01300       logger.debug(Translate.get(
01301           "virtualdatabase.xml.authentication.login.real.add", new String[]{
01302               rLogin, rPassword, backendName}));
01303 
01304     try
01305     {
01306       currentAuthenticationManager.addRealUser(currentVirtualUser.getLogin(),
01307           user);
01308     }
01309     catch (AuthenticationManagerException e)
01310     {
01311       String msg = Translate
01312           .get("virtualdatabase.xml.authentication.login.real.add.failed");
01313       logger.error(msg, e);
01314       throw new SAXException(msg, e);
01315     }
01316   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRelaxedCaching Attributes  atts  )  [private]
 

Add a new RelaxedCaching behavior to the current ResultCacheRule.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1735 行で定義されています。

01736   {
01737     Hashtable options = new Hashtable();
01738     for (int i = 0; i < atts.getLength(); i++)
01739       options.put(atts.getQName(i), atts.getValue(i));
01740     currentResultCacheRule
01741         .setCacheBehavior(ResultCacheFactory.getCacheBehaviorInstance(
01742             DatabasesXmlTags.ELT_RelaxedCaching, options));
01743   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRequestManager Attributes  atts  )  throws SAXException [private]
 

Sets the beginTimeout,commitTimeoutand rollbackTimeouttimeouts (in ms) using the parsed attributes.

引数:
atts element attributes
例外:
SAXException if an error occurs

DatabasesParser.java1327 行で定義されています。

01328   {
01329     try
01330     {
01331       String begin = atts.getValue(DatabasesXmlTags.ATT_beginTimeout);
01332       String commit = atts.getValue(DatabasesXmlTags.ATT_commitTimeout);
01333       String rollback = atts.getValue(DatabasesXmlTags.ATT_rollbackTimeout);
01334       String caseSensitiveParsingString = atts
01335           .getValue(DatabasesXmlTags.ATT_caseSensitiveParsing);
01336 
01337       // Convert to ms
01338       beginTimeout = Long.parseLong(begin) * 1000L;
01339       commitTimeout = Long.parseLong(commit) * 1000L;
01340       rollbackTimeout = Long.parseLong(rollback) * 1000L;
01341 
01342       if (caseSensitiveParsingString != null)
01343         caseSensitiveParsing = caseSensitiveParsingString
01344             .equals(DatabasesXmlTags.VAL_true);
01345       else
01346         caseSensitiveParsing = false;
01347 
01348       if (logger.isDebugEnabled())
01349         logger.debug(Translate.get(
01350             "virtualdatabase.xml.requestmanager.parameters", new String[]{
01351                 String.valueOf(beginTimeout), String.valueOf(commitTimeout),
01352                 String.valueOf(rollbackTimeout)}));
01353     }
01354     catch (NumberFormatException e)
01355     {
01356       String msg = Translate
01357           .get("virtualdatabase.xml.requestmanager.timeout.failed");
01358       logger.error(msg, e);
01359       throw new SAXException(msg, e);
01360     }
01361   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newResultCache Attributes  atts  )  throws SAXException [private]
 

Sets currentResultCacheas a new ResultCache using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1592 行で定義されています。

01593   {
01594     String granularity = atts.getValue(DatabasesXmlTags.ATT_granularity);
01595     String maxEntriesString = atts
01596         .getValue(DatabasesXmlTags.ATT_maxNbOfEntries);
01597     String pendingTimeoutString = atts
01598         .getValue(DatabasesXmlTags.ATT_pendingTimeout);
01599 
01600     if (logger.isDebugEnabled())
01601       logger.debug(Translate.get("virtualdatabase.xml.cache.create",
01602           granularity));
01603 
01604     try
01605     {
01606       int maxEntries = Integer.parseInt(maxEntriesString);
01607       int pendingTimeout = Integer.parseInt(pendingTimeoutString);
01608 
01609       int granularityValue;
01610       if (granularity.equals(DatabasesXmlTags.VAL_table))
01611         granularityValue = CachingGranularities.TABLE;
01612       else if (granularity.equals(DatabasesXmlTags.VAL_database))
01613         granularityValue = CachingGranularities.DATABASE;
01614       else if (granularity.equals(DatabasesXmlTags.VAL_column))
01615         granularityValue = CachingGranularities.COLUMN;
01616       else if (granularity.equals(DatabasesXmlTags.VAL_columnUnique))
01617         granularityValue = CachingGranularities.COLUMN_UNIQUE;
01618       else
01619         throw new InstantiationException(Translate.get(
01620             "virtualdatabase.xml.cache.unsupported", granularity));
01621 
01622       currentResultCache = ResultCacheFactory.getCacheInstance(
01623           granularityValue, maxEntries, pendingTimeout);
01624 
01625     }
01626     catch (Exception e)
01627     {
01628       String msg = Translate.get("virtualdatabase.xml.cache.create.failed",
01629           granularity);
01630       logger.error(msg, e);
01631       throw new SAXException(msg, e);
01632     }
01633   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newResultCacheRule Attributes  atts  )  throws SAXException [private]
 

Add a new ResultCacheRule using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1641 行で定義されています。

01642   {
01643     String queryString = atts.getValue(DatabasesXmlTags.ATT_queryPattern);
01644 
01645     String caseSensitiveString = atts
01646         .getValue(DatabasesXmlTags.ATT_caseSensitive);
01647     String applyToSkeletonString = atts
01648         .getValue(DatabasesXmlTags.ATT_applyToSkeleton);
01649     long timestampResolution;
01650     try
01651     {
01652       timestampResolution = Long.parseLong(atts
01653           .getValue(DatabasesXmlTags.ATT_timestampResolution));
01654       timestampResolution *= 1000;
01655     }
01656     catch (Exception e)
01657     {
01658       logger
01659           .warn(Translate.get("virtualdatabase.invalid.timestamp.resolution"));
01660       timestampResolution = 1000;
01661     }
01662 
01663     boolean caseSensitive;
01664     if (caseSensitiveString != null)
01665       caseSensitive = caseSensitiveString.equals(DatabasesXmlTags.VAL_true);
01666     else
01667       caseSensitive = false;
01668     boolean applyToSkeleton;
01669     if (applyToSkeletonString != null)
01670       applyToSkeleton = applyToSkeletonString.equals(DatabasesXmlTags.VAL_true);
01671     else
01672       applyToSkeleton = false;
01673     boolean monitoring;
01674 
01675     // Create the rule
01676     try
01677     {
01678       currentResultCacheRule = new ResultCacheRule(queryString, caseSensitive,
01679           applyToSkeleton, timestampResolution);
01680     }
01681     catch (RESyntaxException e1)
01682     {
01683       String msg = Translate.get("virtualdatabase.xml.cache.rule.invalid", e1);
01684       logger.error(msg);
01685       throw new SAXException(msg);
01686     }
01687 
01688     if (logger.isDebugEnabled())
01689       logger.debug(Translate.get("virtualdatabase.xml.cache.rule.add",
01690           new String[]{atts.getValue(DatabasesXmlTags.ATT_queryPattern),
01691               String.valueOf(caseSensitive), applyToSkeletonString,
01692               String.valueOf(timestampResolution)}));
01693     currentResultCache.addCachingRule(currentResultCacheRule);
01694   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newRewritingRule Attributes  atts  )  throws SAXException [private]
 

Adds a AbstractRewritingRule to the current DatabaseBackend.

引数:
atts parsed attributes

DatabasesParser.java1190 行で定義されています。

01191   {
01192     String queryPattern = atts.getValue(DatabasesXmlTags.ATT_queryPattern);
01193     String rewrite = atts.getValue(DatabasesXmlTags.ATT_rewrite);
01194     String matchingType = atts.getValue(DatabasesXmlTags.ATT_matchingType);
01195     String caseSensitiveString = atts
01196         .getValue(DatabasesXmlTags.ATT_caseSensitive);
01197     String stopOnMatchString = atts.getValue(DatabasesXmlTags.ATT_stopOnMatch);
01198 
01199     boolean caseSensitive;
01200     if (caseSensitiveString != null)
01201       caseSensitive = caseSensitiveString.equals(DatabasesXmlTags.VAL_true);
01202     else
01203       caseSensitive = false;
01204     boolean stopOnMatch;
01205     if (stopOnMatchString != null)
01206       stopOnMatch = stopOnMatchString.equals(DatabasesXmlTags.VAL_true);
01207     else
01208       stopOnMatch = false;
01209 
01210     // Create the rule and add it
01211     AbstractRewritingRule rule;
01212     if (matchingType.equals(DatabasesXmlTags.VAL_simple))
01213       rule = new SimpleRewritingRule(queryPattern, rewrite, caseSensitive,
01214           stopOnMatch);
01215     else if (matchingType.equals(DatabasesXmlTags.VAL_pattern))
01216       rule = new PatternRewritingRule(queryPattern, rewrite, caseSensitive,
01217           stopOnMatch);
01218     else
01219       throw new SAXException(Translate.get(
01220           "virtualdatabase.xml.rewritingrule.unsupported.matching",
01221           matchingType));
01222 
01223     if (logger.isDebugEnabled())
01224       logger.debug(Translate.get("virtualdatabase.xml.rewritingrule.add",
01225           new String[]{queryPattern, rewrite, String.valueOf(caseSensitive),
01226               String.valueOf(stopOnMatch)}));
01227     currentBackend.addRewritingRule(rule);
01228   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newSimpleConnectionManager Attributes  atts  )  [private]
 

Adds a new SimpleConnectionManager to currentBackendusing the parsed attributes.

引数:
atts parsed attributes

DatabasesParser.java2691 行で定義されています。

02692   {
02693     if (logger.isDebugEnabled())
02694       logger.debug(Translate.get(
02695           "virtualdatabase.xml.connectionmanager.simple.add", new String[]{
02696               currentBackend.getName(), connectionManagerVLogin,
02697               currentDatabaseBackendUser.getLogin(),
02698               currentDatabaseBackendUser.getPassword()}));
02699 
02700     currentBackend.addConnectionManager(connectionManagerVLogin,
02701         new SimpleConnectionManager(currentBackend.getURL(), currentBackend
02702             .getName(), currentDatabaseBackendUser.getLogin(),
02703             currentDatabaseBackendUser.getPassword(), currentBackend
02704                 .getDriverPath(), currentBackend.getDriverClassName()));
02705   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newSingleDBRequestLoadBalancer Attributes  atts  )  throws SAXException [private]
 

Sets currentLoadBalanceras a new SingleDB using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1754 行で定義されています。

01756   {
01757     if (logger.isDebugEnabled())
01758       logger.debug(Translate
01759           .get("virtualdatabase.xml.loadbalancer.singledb.set"));
01760 
01761     try
01762     {
01763       currentLoadBalancer = new SingleDB(currentVirtualDatabase);
01764     }
01765     catch (SQLException e)
01766     {
01767       String msg = Translate
01768           .get("virtualdatabase.xml.loadbalancer.singledb.failed");
01769       logger.error(msg, e);
01770       throw new SAXException(msg, e);
01771     }
01772   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newSingleDBScheduler Attributes  atts  )  throws SAXException [private]
 

Sets currentRequestScheduleras a new SingleDBQueryLevelScheduler using the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java1373 行で定義されています。

01374   {
01375     String level = atts.getValue(DatabasesXmlTags.ATT_level);
01376 
01377     // SingleDB Query Level
01378     if (level.equals(DatabasesXmlTags.VAL_query))
01379     {
01380       if (logger.isDebugEnabled())
01381         logger.debug(Translate
01382             .get("virtualdatabase.xml.scheduler.singledb.create.query"));
01383       currentRequestScheduler = new SingleDBQueryLevelScheduler();
01384     }
01385 
01386     // SingleDB Pessimistic Transaction Level
01387     else if (level.equals(DatabasesXmlTags.VAL_pessimisticTransaction))
01388     {
01389       if (logger.isDebugEnabled())
01390         logger.debug(Translate
01391             .get("virtualdatabase.xml.scheduler.singledb.create.pessimistic"));
01392       currentRequestScheduler = new SingleDBPessimisticTransactionLevelScheduler();
01393     }
01394     else
01395     {
01396       throw new SAXException(Translate.get(
01397           "virtualdatabase.xml.scheduler.singledb.unsupported", level));
01398     }
01399   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newSQLMonitoring Attributes  atts  )  [private]
 

Sets a new SQLMonitoring to the current virtual database.

引数:
atts parsed attributes

DatabasesParser.java1094 行で定義されています。

参照先 org.objectweb.cjdbc.controller.monitoring.SQLMonitoring.setDefaultRule().

01095   {
01096     String monitoringString = atts
01097         .getValue(DatabasesXmlTags.ATT_defaultMonitoring);
01098     boolean monitoring;
01099     if (monitoringString != null)
01100       monitoring = monitoringString.equals(DatabasesXmlTags.VAL_on);
01101     else
01102       monitoring = false;
01103 
01104     SQLMonitoring sqlMonitor = new SQLMonitoring(currentVirtualDatabase
01105         .getName());
01106     sqlMonitor.setDefaultRule(monitoring);
01107     currentVirtualDatabase.setSQLMonitor(sqlMonitor);
01108   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newSQLMonitoringRule Attributes  atts  )  throws SAXException [private]
 

Add a new SQLMonitoringRule to the current SQL monitor.

引数:
atts parsed attributes

DatabasesParser.java1115 行で定義されています。

01116   {
01117     String queryPattern = atts.getValue(DatabasesXmlTags.ATT_queryPattern);
01118     String caseSensitiveString = atts
01119         .getValue(DatabasesXmlTags.ATT_caseSensitive);
01120     String applyToSkeletonString = atts
01121         .getValue(DatabasesXmlTags.ATT_applyToSkeleton);
01122     String monitoringString = atts.getValue(DatabasesXmlTags.ATT_monitoring);
01123 
01124     boolean caseSensitive;
01125     if (caseSensitiveString != null)
01126       caseSensitive = caseSensitiveString.equals(DatabasesXmlTags.VAL_true);
01127     else
01128       caseSensitive = false;
01129     boolean applyToSkeleton;
01130     if (applyToSkeletonString != null)
01131       applyToSkeleton = applyToSkeletonString.equals(DatabasesXmlTags.VAL_true);
01132     else
01133       applyToSkeleton = false;
01134     boolean monitoring;
01135     if (monitoringString != null)
01136       monitoring = monitoringString.equals(DatabasesXmlTags.VAL_on);
01137     else
01138       monitoring = false;
01139 
01140     // Create the rule and add it
01141     SQLMonitoringRule rule = new SQLMonitoringRule(queryPattern, caseSensitive,
01142         applyToSkeleton, monitoring);
01143 
01144     if (logger.isDebugEnabled())
01145       logger.debug(Translate.get("virtualdatabase.xml.sqlmonitoring.rule.add",
01146           new String[]{queryPattern, String.valueOf(caseSensitive),
01147               applyToSkeletonString, String.valueOf(monitoring)}));
01148     currentVirtualDatabase.getSQLMonitor().addRule(rule);
01149   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newVariablePoolConnectionManager Attributes  atts  )  throws SAXException [private]
 

Adds a new VariablePoolConnectionManager to currentBackendusing the parsed attributes.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2812 行で定義されています。

02814   {
02815     try
02816     {
02817       int initPoolSize = Integer.parseInt(atts
02818           .getValue(DatabasesXmlTags.ATT_initPoolSize));
02819 
02820       int minPoolSize = initPoolSize;
02821       // minPoolSize is IMPLIED and may be null
02822       String attr = atts.getValue(DatabasesXmlTags.ATT_minPoolSize);
02823       if (attr != null)
02824         minPoolSize = Integer.parseInt(attr);
02825 
02826       // maxPoolSize is IMPLIED and may be null
02827       int maxPoolSize = VariablePoolConnectionManager.DEFAULT_MAX_POOL_SIZE;
02828       attr = atts.getValue(DatabasesXmlTags.ATT_maxPoolSize);
02829       if (attr != null)
02830         maxPoolSize = Integer.parseInt(attr);
02831 
02832       String timeoutString = atts.getValue(DatabasesXmlTags.ATT_idleTimeout);
02833       int idleTimeout = VariablePoolConnectionManager.DEFAULT_IDLE_TIMEOUT;
02834       if (timeoutString != null) // idleTimeout is IMPLIED
02835         // and may be null
02836         idleTimeout = Integer.parseInt(timeoutString);
02837 
02838       timeoutString = atts.getValue(DatabasesXmlTags.ATT_waitTimeout);
02839       int waitTimeout = VariablePoolConnectionManager.DEFAULT_WAIT_TIMEOUT;
02840       if (timeoutString != null) // waitTimeout is IMPLIED
02841         // and may be null
02842         waitTimeout = Integer.parseInt(timeoutString);
02843 
02844       // sanity checks
02845       if (minPoolSize < 0 || maxPoolSize < 0
02846           || (maxPoolSize != 0 && minPoolSize > maxPoolSize)
02847           || (maxPoolSize != 0 && initPoolSize > maxPoolSize)
02848           || initPoolSize < minPoolSize)
02849         throw new IllegalArgumentException(
02850             Translate
02851                 .get("virtualdatabase.xml.connectionmanager.variable.failed.parameter"));
02852 
02853       if (logger.isDebugEnabled())
02854         logger.debug(Translate.get(
02855             "virtualdatabase.xml.connectionmanager.randomwait.add",
02856             new String[]{currentBackend.getName(), connectionManagerVLogin,
02857                 String.valueOf(initPoolSize), String.valueOf(minPoolSize),
02858                 String.valueOf(maxPoolSize), String.valueOf(idleTimeout),
02859                 String.valueOf(waitTimeout),
02860                 currentDatabaseBackendUser.getLogin(),
02861                 currentDatabaseBackendUser.getPassword()}));
02862 
02863       currentBackend
02864           .addConnectionManager(connectionManagerVLogin,
02865               new VariablePoolConnectionManager(currentBackend.getURL(),
02866                   currentBackend.getName(), currentDatabaseBackendUser
02867                       .getLogin(), currentDatabaseBackendUser.getPassword(),
02868                   currentBackend.getDriverPath(), currentBackend
02869                       .getDriverClassName(), initPoolSize, minPoolSize,
02870                   maxPoolSize, idleTimeout, waitTimeout));
02871     }
02872     catch (Exception e)
02873     {
02874       String msg = Translate.get(
02875           "virtualdatabase.xml.connectionmanager.variable.failed",
02876           currentBackend.getName());
02877       logger.error(msg, e);
02878       throw new SAXException(msg, e);
02879     }
02880   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newVirtualDatabase Attributes  atts  )  throws SAXException [private]
 

Sets currentVirtualDatabaseas a new VirtualDatabase using the parsed attributes. An exception is thrown in particular if a virtual database with the same name is already registered in the controller.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java938 行で定義されています。

00939   {
00940     String name = atts.getValue(DatabasesXmlTags.ATT_name);
00941     String maxNbOfConnections = atts
00942         .getValue(DatabasesXmlTags.ATT_maxNbOfConnections);
00943     String poolThreads = atts.getValue(DatabasesXmlTags.ATT_poolThreads);
00944     String minNbOfThreads = atts.getValue(DatabasesXmlTags.ATT_minNbOfThreads);
00945     String maxNbOfThreads = atts.getValue(DatabasesXmlTags.ATT_maxNbOfThreads);
00946     String maxThreadIdleTime = atts
00947         .getValue(DatabasesXmlTags.ATT_maxThreadIdleTime);
00948     String sqlDumpLength = atts.getValue(DatabasesXmlTags.ATT_sqlDumpLength);
00949     String blobEncodingMethod = atts
00950         .getValue(DatabasesXmlTags.ATT_blobEncodingMethod);
00951 
00952     if (controller.hasVirtualDatabase(name))
00953     {
00954       String msg = Translate.get(
00955           "virtualdatabase.xml.virtualdatabase.already.exists", name);
00956       logger.error(msg);
00957       throw new SAXException(msg);
00958     }
00959 
00960     try
00961     {
00962       // Process the attributes
00963       int maxConnections = Integer.parseInt(maxNbOfConnections);
00964       boolean pool = poolThreads.equals(DatabasesXmlTags.VAL_true);
00965       int minThreads = Integer.parseInt(minNbOfThreads);
00966       int maxThreads = Integer.parseInt(maxNbOfThreads);
00967       // converts in ms
00968       long threadIdleTime = Long.parseLong(maxThreadIdleTime) * 1000L;
00969       int dumpLength = Integer.parseInt(sqlDumpLength);
00970       AbstractBlobFilter blobFilter = null;
00971       if (blobEncodingMethod.equals(DatabasesXmlTags.VAL_none))
00972         blobFilter = new NoneBlobFilter();
00973       else if (blobEncodingMethod.equals(DatabasesXmlTags.VAL_hexa))
00974         blobFilter = new HexaBlobFilter();
00975       else
00976       {
00977         String msg = Translate.get(
00978             "virtualdatabase.xml.virtualdatabase.blobfilter.unsupported",
00979             blobEncodingMethod);
00980         logger.error(msg);
00981         throw new SAXException(msg);
00982       }
00983       if (logger.isDebugEnabled())
00984         logger.debug(Translate.get(
00985             "virtualdatabase.xml.virtualdatabase.create", name));
00986       currentVirtualDatabase = new VirtualDatabase(controller.getName(), name,
00987           maxConnections, pool, minThreads, maxThreads, threadIdleTime,
00988           dumpLength, blobFilter);
00989 
00990     }
00991     catch (Exception e)
00992     {
00993       String msg = Translate.get("virtualdatabase.xml.virtualdatabase.failed");
00994       logger.error(msg, e);
00995       throw new SAXException(msg, e);
00996     }
00997   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newVirtualLogin Attributes  atts  )  [private]
 

Sets currentVirtualUseras a new VirtualDatabaseUser using the parsed attributes and adds this new virtual database user to the currentAuthenticationManager.

引数:
atts parsed attributes

DatabasesParser.java1270 行で定義されています。

01271   {
01272     String vLogin = atts.getValue(DatabasesXmlTags.ATT_vLogin);
01273     String vPassword = atts.getValue(DatabasesXmlTags.ATT_vPassword);
01274     currentVirtualUser = new VirtualDatabaseUser(vLogin, vPassword);
01275 
01276     if (logger.isDebugEnabled())
01277       logger.debug(Translate.get(
01278           "virtualdatabase.xml.authentication.login.virtual.add", new String[]{
01279               vLogin, vPassword}));
01280     currentAuthenticationManager.addVirtualUser(currentVirtualUser);
01281   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.newWaitForCompletion Attributes  atts  )  throws SAXException [private]
 

Set the WaitForCompletion policy.

引数:
atts parsed attributes
例外:
SAXException if an error occurs

DatabasesParser.java2356 行で定義されています。

02357   {
02358     String policy = atts.getValue(DatabasesXmlTags.ATT_policy);
02359     currentWaitForCompletionPolicy = new WaitForCompletionPolicy();
02360 
02361     if (policy.equals(DatabasesXmlTags.VAL_first))
02362       currentWaitForCompletionPolicy.setPolicy(WaitForCompletionPolicy.FIRST);
02363     else if (policy.equals(DatabasesXmlTags.VAL_majority))
02364       currentWaitForCompletionPolicy
02365           .setPolicy(WaitForCompletionPolicy.MAJORITY);
02366     else if (policy.equals(DatabasesXmlTags.VAL_all))
02367       currentWaitForCompletionPolicy.setPolicy(WaitForCompletionPolicy.ALL);
02368     else
02369       throw new SAXException(Translate.get(
02370           "virtualdatabase.xml.loadbalancer.waitforcompletion.unsupported",
02371           policy));
02372   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.prepareDB String  virtualName,
boolean  autoEnable,
String  checkPoint
 

If this method is called. Only the specified DB of the Xml file will be loaded.

引数:
virtualName VirtualDatabase name
autoEnable autoenable switch
checkPoint checkpoint for recovery

DatabasesParser.java356 行で定義されています。

参照元 org.objectweb.cjdbc.controller.xml.DatabasesParser.DatabasesParser().

00358   {
00359     dbToPrepare = new Hashtable(3);
00360     dbToPrepare.put("virtualName", virtualName);
00361     dbToPrepare.put("autoEnable", "" + autoEnable);
00362     dbToPrepare.put("checkPoint", checkPoint);
00363   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.prepareHandler Controller  controller  )  throws SAXException [private]
 

DatabasesParser.java227 行で定義されています。

参照元 org.objectweb.cjdbc.controller.xml.DatabasesParser.DatabasesParser().

00228   {
00229     // Instantiate a new parser
00230     parser = XMLReaderFactory.createXMLReader();
00231 
00232     this.controller = controller;
00233 
00234     // Activate validation
00235     parser.setFeature("http://xml.org/sax/features/validation", true);
00236 
00237     // Install error handler
00238     parser.setErrorHandler(this);
00239 
00240     // Install document handler
00241     parser.setContentHandler(this);
00242 
00243     // Install local entity resolver
00244     parser.setEntityResolver(this);
00245   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.readXML String  xml,
boolean  validateBeforeParsing
throws IOException, SAXException
 

Validate an XML content according to C-JDBC DTD.

引数:
xml content
validateBeforeParsing if true validate the document before the parsing
例外:
IOException if an error occurs
SAXException if an error occurs

DatabasesParser.java269 行で定義されています。

参照先 org.objectweb.cjdbc.controller.xml.DatabasesParser.C_JDBC_DTD_FILE, org.objectweb.cjdbc.common.log.Trace.debug(), org.objectweb.cjdbc.common.log.Trace.error(), org.objectweb.cjdbc.common.xml.XmlValidator.getExceptions(), org.objectweb.cjdbc.common.log.Trace.isDebugEnabled(), org.objectweb.cjdbc.common.xml.XmlValidator.isDtdValid, org.objectweb.cjdbc.common.xml.XmlValidator.isValid(), と org.objectweb.cjdbc.common.xml.XmlValidator.isXmlValid.

00271   {
00272     if (validateBeforeParsing)
00273     {
00274       XmlValidator validator = new XmlValidator(C_JDBC_DTD_FILE, xml);
00275       if (logger.isDebugEnabled())
00276       {
00277         if (validator.isDtdValid())
00278           logger.debug(Translate.get("virtualdatabase.xml.dtd.validated"));
00279         if (validator.isXmlValid())
00280           logger.debug(Translate.get("virtualdatabase.xml.document.validated"));
00281       }
00282       if (!validator.isDtdValid())
00283         logger.error(Translate.get("virtualdatabase.xml.dtd.not.validated"));
00284       if (!validator.isXmlValid())
00285         logger.error(Translate
00286             .get("virtualdatabase.xml.document.not.validated"));
00287 
00288       ArrayList errors = validator.getExceptions();
00289       for (int i = 0; i < errors.size(); i++)
00290         logger.error(((Exception) errors.get(i)).getMessage());
00291 
00292       if (!validator.isValid())
00293         throw new SAXException(ExceptionTypes.XML_DOCUMENT_INVALID);
00294     }
00295     this.readXML(xml);
00296   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.readXML String  xml  )  throws IOException, SAXException
 

Parses an XML content according to C-JDBC DTD.

引数:
xml a String containing the XML content to parse
例外:
SAXException if an error occurs
IOException if an error occurs

DatabasesParser.java254 行で定義されています。

参照元 org.objectweb.cjdbc.controller.core.Controller.addVirtualDatabases().

00255   {
00256     InputSource input = new InputSource(new StringReader(xml));
00257     parser.parse(input);
00258   }

InputSource org.objectweb.cjdbc.controller.xml.DatabasesParser.resolveEntity String  publicId,
String  systemId
throws SAXException
 

Allows to parse the document with a local copy of the DTD whatever the original DOCTYPE found. Warning, this method is called only if the XML document contains a DOCTYPE.

参照:
org.xml.sax.EntityResolver#resolveEntity(java.lang.String, java.lang.String)

DatabasesParser.java336 行で定義されています。

00338   {
00339     InputStream stream = DatabasesXmlTags.class.getResourceAsStream("/"
00340         + C_JDBC_DTD_FILE);
00341     if (stream == null)
00342       throw new SAXException("Cannot find C-JDBC DTD file '" + C_JDBC_DTD_FILE
00343           + "' in classpath");
00344 
00345     return new InputSource(stream);
00346   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.startDocument  )  throws SAXException
 

Initializes parsing of a document.

例外:
SAXException unspecialized error

DatabasesParser.java370 行で定義されています。

00371   {
00372     logger.info(Translate.get("virtualdatabase.xml.start"));
00373   }

void org.objectweb.cjdbc.controller.xml.DatabasesParser.startElement String  uri,
String  localName,
String  name,
Attributes  atts
throws SAXException
 

Analyzes an element first line.

引数:
uri name space URI
localName local name
name element raw name
atts element attributes
例外:
SAXException if an error occurs

DatabasesParser.java394 行で定義されています。

00396   {
00397     logger.debug(Translate.get("virtualdatabase.xml.parsing.start", name));
00398 
00399     // Virtual database
00400     if (name.equals(DatabasesXmlTags.ELT_VirtualDatabase))
00401     {
00402       if (dbToPrepare == null)
00403       {
00404         // Prepare all databases
00405         newVirtualDatabase(atts);
00406       }
00407       else
00408       {
00409         // Only prepare one database
00410         String virtualName = atts.getValue(DatabasesXmlTags.ATT_name);
00411         if (virtualName.equalsIgnoreCase((String) dbToPrepare
00412             .get("virtualName")))
00413         {
00414           // This is the database that we want to prepare
00415           skipDatabase = false;
00416           newVirtualDatabase(atts);
00417         }
00418         else
00419         {
00420           // Skip to next one
00421           skipDatabase = true;
00422         }
00423       }
00424     }
00425     // Skip to next definition of a virtualDatabase ?
00426     if (skipDatabase)
00427       return;
00428 
00429     // Distribution
00430     else if (name.equals(DatabasesXmlTags.ELT_Distribution))
00431       newDistribution(atts);
00432     else if (name.equals(DatabasesXmlTags.ELT_BackendRecoveryPolicy))
00433       newBackendRecoveryPolicy(atts);
00434     else if (name.equals(DatabasesXmlTags.ELT_ControllerName))
00435       newControllerName(atts);
00436 
00437     // Monitoring
00438     else if (name.equals(DatabasesXmlTags.ELT_SQLMonitoring))
00439       newSQLMonitoring(atts);
00440     else if (name.equals(DatabasesXmlTags.ELT_SQLMonitoringRule))
00441       newSQLMonitoringRule(atts);
00442 
00443     // Database backend
00444     else if (name.equals(DatabasesXmlTags.ELT_DatabaseBackend))
00445       newDatabaseBackend(atts);
00446     else if (name.equals(DatabasesXmlTags.ELT_RewritingRule))
00447       newRewritingRule(atts);
00448 
00449     // Authentication manager
00450     else if (name.equals(DatabasesXmlTags.ELT_AuthenticationManager))
00451       newAuthenticationManager(atts);
00452     else if (name.equals(DatabasesXmlTags.ELT_AdminLogin))
00453       newAdminLogin(atts);
00454     else if (name.equals(DatabasesXmlTags.ELT_VirtualLogin))
00455       newVirtualLogin(atts);
00456     else if (name.equals(DatabasesXmlTags.ELT_RealLogin))
00457       newRealLogin(atts);
00458 
00459     // Request manager
00460     else if (name.equals(DatabasesXmlTags.ELT_RequestManager))
00461       newRequestManager(atts);
00462 
00463     // Request schedulers
00464     else if (name.equals(DatabasesXmlTags.ELT_SingleDBScheduler))
00465       newSingleDBScheduler(atts);
00466     else if (name.equals(DatabasesXmlTags.ELT_RAIDb0Scheduler))
00467       newRAIDb0Scheduler(atts);
00468     else if (name.equals(DatabasesXmlTags.ELT_RAIDb1Scheduler))
00469       newRAIDb1Scheduler(atts);
00470     else if (name.equals(DatabasesXmlTags.ELT_RAIDb2Scheduler))
00471       newRAIDb2Scheduler(atts);
00472 
00473     // Request caches
00474     else if (name.equals(DatabasesXmlTags.ELT_MetadataCache))
00475       newMetadataCache(atts);
00476     else if (name.equals(DatabasesXmlTags.ELT_ParsingCache))
00477       newParsingCache(atts);
00478     else if (name.equals(DatabasesXmlTags.ELT_ResultCache))
00479       newResultCache(atts);
00480     else if (name.equals(DatabasesXmlTags.ELT_DefaultResultCacheRule))
00481       newDefaultResultCacheRule(atts);
00482     else if (name.equals(DatabasesXmlTags.ELT_ResultCacheRule))
00483       newResultCacheRule(atts);
00484     else if (name.equals(DatabasesXmlTags.ELT_NoCaching))
00485       currentResultCacheRule.setCacheBehavior(ResultCacheFactory
00486           .getCacheBehaviorInstance(DatabasesXmlTags.ELT_NoCaching, null));
00487     else if (name.equals(DatabasesXmlTags.ELT_EagerCaching))
00488       currentResultCacheRule.setCacheBehavior(ResultCacheFactory
00489           .getCacheBehaviorInstance(DatabasesXmlTags.ELT_EagerCaching, null));
00490     else if (name.equals(DatabasesXmlTags.ELT_RelaxedCaching))
00491       newRelaxedCaching(atts);
00492 
00493     // Request load balancers
00494     else if (name.equals(DatabasesXmlTags.ELT_SingleDB))
00495       newSingleDBRequestLoadBalancer(atts);
00496     else if (name.equals(DatabasesXmlTags.ELT_ParallelDB_RoundRobin))
00497       newParallelDBRoundRobinLoadBalancer(atts);
00498     else if (name
00499         .equals(DatabasesXmlTags.ELT_ParallelDB_LeastPendingRequestsFirst))
00500       newParallelDBLeastPendingRequestsFirst(atts);
00501     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_0))
00502       newRAIDb0LoadBalancer(atts);
00503     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1))
00504       newRAIDb1LoadBalancer(atts);
00505     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1_RoundRobin))
00506       newRAIDb1RoundRobinLoadBalancer(atts);
00507     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1_WeightedRoundRobin))
00508       newRAIDb1WeightedRoundRobinLoadBalancer(atts);
00509     else if (name
00510         .equals(DatabasesXmlTags.ELT_RAIDb_1_LeastPendingRequestsFirst))
00511       newRAIDb1LeastPendingRequestsFirst(atts);
00512     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1ec))
00513       newRAIDb1ecLoadBalancer(atts);
00514     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1ec_RoundRobin))
00515       newRAIDb1ecRoundRobinLoadBalancer(atts);
00516     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_1ec_WeightedRoundRobin))
00517       newRAIDb1ecWeightedRoundRobinLoadBalancer(atts);
00518     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2))
00519       newRAIDb2LoadBalancer(atts);
00520     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2_RoundRobin))
00521       newRAIDb2RoundRobinLoadBalancer(atts);
00522     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2_WeightedRoundRobin))
00523       newRAIDb2WeightedRoundRobinLoadBalancer(atts);
00524     else if (name
00525         .equals(DatabasesXmlTags.ELT_RAIDb_2_LeastPendingRequestsFirst))
00526       newRAIDb2LeastPendingRequestsFirst(atts);
00527     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2ec))
00528       newRAIDb2ecLoadBalancer(atts);
00529     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2ec_RoundRobin))
00530       newRAIDb2ecRoundRobinLoadBalancer(atts);
00531     else if (name.equals(DatabasesXmlTags.ELT_RAIDb_2ec_WeightedRoundRobin))
00532       newRAIDb2ecWeightedRoundRobinLoadBalancer(atts);
00533 
00534     // Policies
00535     else if (name.equals(DatabasesXmlTags.ELT_WaitForCompletion))
00536       newWaitForCompletion(atts);
00537     else if (name.equals(DatabasesXmlTags.ELT_ErrorChecking))
00538       newErrorChecking(atts);
00539     else if (name.equals(DatabasesXmlTags.ELT_CreateTable))
00540       newCreateTable(atts);
00541     else if (name.equals(DatabasesXmlTags.ELT_BackendName))
00542       newBackendName(atts);
00543     else if (name.equals(DatabasesXmlTags.ELT_BackendWeight))
00544       newBackendWeight(atts);
00545 
00546     // Recovery log
00547     else if (name.equals(DatabasesXmlTags.ELT_FileRecoveryLog))
00548       newFileRecoveryLog(atts);
00549     else if (name.equals(DatabasesXmlTags.ELT_JDBCRecoveryLog))
00550       newJDBCRecoveryLog(atts);
00551     else if (name.equals(DatabasesXmlTags.ELT_RecoveryLogTable))
00552       newJDBCRecoveryLogTable(atts);
00553     else if (name.equals(DatabasesXmlTags.ELT_CheckpointTable))
00554       newJDBCRecoveryCheckpointTable(atts);
00555     else if (name.equals(DatabasesXmlTags.ELT_BackendTable))
00556       newJDBCRecoveryBackendTable(atts);
00557 
00558     // Connection managers
00559     else if (name.equals(DatabasesXmlTags.ELT_ConnectionManager))
00560       newConnectionManager(atts);
00561     else if (name.equals(DatabasesXmlTags.ELT_SimpleConnectionManager))
00562       newSimpleConnectionManager(atts);
00563     else if (name.equals(DatabasesXmlTags.ELT_FailFastPoolConnectionManager))
00564       newFailFastPoolConnectionManager(atts);
00565     else if (name.equals(DatabasesXmlTags.ELT_RandomWaitPoolConnectionManager))
00566       newRandomWaitPoolConnectionManager(atts);
00567     else if (name.equals(DatabasesXmlTags.ELT_VariablePoolConnectionManager))
00568       newVariablePoolConnectionManager(atts);
00569 
00570     // Database schema
00571     else if (name.equals(DatabasesXmlTags.ELT_DatabaseSchema))
00572       newDatabaseSchema(atts);
00573     else if (name.equals(DatabasesXmlTags.ELT_DatabaseStaticSchema))
00574       currentDatabaseSchema = new DatabaseSchema();
00575 
00576     // Database table (inside a DatabaseSchema)
00577     else if (name.equals(DatabasesXmlTags.ELT_DatabaseTable))
00578       newDatabaseTable(atts);
00579 
00580     // Table column (inside a DatabaseSchema/DatabaseTable)
00581     else if (name.equals(DatabasesXmlTags.ELT_DatabaseColumn))
00582       newDatabaseColumn(atts);
00583 
00584     else if (name.equals(DatabasesXmlTags.ELT_DatabaseProcedure))
00585       newDatabaseProcedure(atts);
00586     else if (name.equals(DatabasesXmlTags.ELT_DatabaseProcedureColumn))
00587       newDatabaseProcedureColumn(atts);
00588   }


変数

ArrayList org.objectweb.cjdbc.controller.xml.DatabasesParser.backendNameList [private]
 

DatabasesParser.java186 行で定義されています。

long org.objectweb.cjdbc.controller.xml.DatabasesParser.beginTimeout [private]
 

DatabasesParser.java177 行で定義されています。

final String org.objectweb.cjdbc.controller.xml.DatabasesParser.C_JDBC_DTD_FILE = "c-jdbc.dtd" [static, private]
 

C-JDBC DTD file name (must be found in classpath).

DatabasesParser.java136 行で定義されています。

参照元 org.objectweb.cjdbc.controller.xml.DatabasesParser.readXML().

boolean org.objectweb.cjdbc.controller.xml.DatabasesParser.caseSensitiveParsing [private]
 

DatabasesParser.java182 行で定義されています。

long org.objectweb.cjdbc.controller.xml.DatabasesParser.commitTimeout [private]
 

DatabasesParser.java178 行で定義されています。

String org.objectweb.cjdbc.controller.xml.DatabasesParser.connectionManagerVLogin [private]
 

DatabasesParser.java174 行で定義されています。

Controller org.objectweb.cjdbc.controller.xml.DatabasesParser.controller [private]
 

C-JDBC controller to setup.

DatabasesParser.java147 行で定義されています。

AuthenticationManager org.objectweb.cjdbc.controller.xml.DatabasesParser.currentAuthenticationManager [private]
 

DatabasesParser.java157 行で定義されています。

DatabaseBackend org.objectweb.cjdbc.controller.xml.DatabasesParser.currentBackend [private]
 

DatabasesParser.java155 行で定義されています。

BackendRecoveryPolicy org.objectweb.cjdbc.controller.xml.DatabasesParser.currentBackendRecoveryPolicy [private]
 

DatabasesParser.java191 行で定義されています。

CreateTablePolicy org.objectweb.cjdbc.controller.xml.DatabasesParser.currentCreateTablePolicy [private]
 

DatabasesParser.java184 行で定義されています。

CreateTableRule org.objectweb.cjdbc.controller.xml.DatabasesParser.currentCreateTableRule [private]
 

DatabasesParser.java185 行で定義されています。

DatabaseBackendUser org.objectweb.cjdbc.controller.xml.DatabasesParser.currentDatabaseBackendUser [private]
 

DatabasesParser.java156 行で定義されています。

DatabaseSchema org.objectweb.cjdbc.controller.xml.DatabasesParser.currentDatabaseSchema [private]
 

DatabasesParser.java169 行で定義されています。

ErrorCheckingPolicy org.objectweb.cjdbc.controller.xml.DatabasesParser.currentErrorCheckingPolicy [private]
 

DatabasesParser.java187 行で定義されています。

AbstractLoadBalancer org.objectweb.cjdbc.controller.xml.DatabasesParser.currentLoadBalancer [private]
 

DatabasesParser.java164 行で定義されています。

MetadataCache org.objectweb.cjdbc.controller.xml.DatabasesParser.currentMetadataCache = null [private]
 

DatabasesParser.java160 行で定義されています。

int org.objectweb.cjdbc.controller.xml.DatabasesParser.currentNbOfConcurrentReads [private]
 

DatabasesParser.java189 行で定義されています。

ParsingCache org.objectweb.cjdbc.controller.xml.DatabasesParser.currentParsingCache = null [private]
 

DatabasesParser.java161 行で定義されています。

DatabaseProcedure org.objectweb.cjdbc.controller.xml.DatabasesParser.currentProcedure [private]
 

DatabasesParser.java171 行で定義されています。

String org.objectweb.cjdbc.controller.xml.DatabasesParser.currentQueryPattern [private]
 

DatabasesParser.java163 行で定義されています。

JDBCRecoveryLog org.objectweb.cjdbc.controller.xml.DatabasesParser.currentRecoveryLog [private]
 

DatabasesParser.java166 行で定義されています。

AbstractScheduler org.objectweb.cjdbc.controller.xml.DatabasesParser.currentRequestScheduler [private]
 

DatabasesParser.java158 行で定義されています。

AbstractResultCache org.objectweb.cjdbc.controller.xml.DatabasesParser.currentResultCache [private]
 

DatabasesParser.java159 行で定義されています。

ResultCacheRule org.objectweb.cjdbc.controller.xml.DatabasesParser.currentResultCacheRule [private]
 

DatabasesParser.java162 行で定義されています。

DatabaseTable org.objectweb.cjdbc.controller.xml.DatabasesParser.currentTable [private]
 

DatabasesParser.java170 行で定義されています。

long org.objectweb.cjdbc.controller.xml.DatabasesParser.currentTimestampResolution [private]
 

DatabasesParser.java165 行で定義されています。

VirtualDatabase org.objectweb.cjdbc.controller.xml.DatabasesParser.currentVirtualDatabase = null [private]
 

DatabasesParser.java154 行で定義されています。

VirtualDatabaseUser org.objectweb.cjdbc.controller.xml.DatabasesParser.currentVirtualUser [private]
 

DatabasesParser.java167 行で定義されています。

WaitForCompletionPolicy org.objectweb.cjdbc.controller.xml.DatabasesParser.currentWaitForCompletionPolicy [private]
 

DatabasesParser.java175 行で定義されています。

String org.objectweb.cjdbc.controller.xml.DatabasesParser.databaseSchemaDynamicLevel [private]
 

DatabasesParser.java168 行で定義されています。

Hashtable org.objectweb.cjdbc.controller.xml.DatabasesParser.dbToPrepare = null [private]
 

dbToPrepare is used if only a specified database has to be loaded

DatabasesParser.java150 行で定義されています。

Trace org.objectweb.cjdbc.controller.xml.DatabasesParser.logger [static, package]
 

初期値:

 Trace
                                                             .getLogger(DatabasesParser.class
                                                                 .getName())
Logger instance.

DatabasesParser.java142 行で定義されています。

int org.objectweb.cjdbc.controller.xml.DatabasesParser.numberOfColumns [private]
 

DatabasesParser.java172 行で定義されています。

XMLReader org.objectweb.cjdbc.controller.xml.DatabasesParser.parser [private]
 

XML parser.

DatabasesParser.java139 行で定義されています。

int org.objectweb.cjdbc.controller.xml.DatabasesParser.requestTimeout [private]
 

DatabasesParser.java180 行で定義されています。

long org.objectweb.cjdbc.controller.xml.DatabasesParser.rollbackTimeout [private]
 

DatabasesParser.java179 行で定義されています。

boolean org.objectweb.cjdbc.controller.xml.DatabasesParser.skipDatabase = false [private]
 

setter for jumping from one VirtualDatabase definition to the next one

DatabasesParser.java152 行で定義されています。


このクラスの説明は次のファイルから生成されました:
CJDBCversion1.0rc6に対してWed May 5 18:03:15 2004に生成されました。 doxygen 1.3.6