public class XMLConfigurator
extends org.xml.sax.helpers.DefaultHandler
A SAX 2 ContentHandler that can configure Proxool from an XML source.
This is just a ContentHandler, so you must associate it with a SAX parser for it to actually do anything.
If you have JAXP available JAXPConfigurator will do this for you.
Properties that you pass on to the delegate driver have to be treated specially. They must be contained within a <driver-properties> element.
See the Proxool properties for documentation on the available configuration properties.
Example configuration:
<proxool>
<alias>apple</alias>
<driver-url>jdbc:hsqldb:.</driver-url>
<driver-class>org.hsqldb.jdbcDriver</driver-class>
<driver-properties>
<property name="user" value="abc" />
<property name="password" value="def" />
</driver-properties>
<house-keeping-sleep-time>40000</house-keeping-sleep-time>
<house-keeping-test-sql>select CURRENT_DATE</house-keeping-test-sql>
<maximum-connection-count>10</maximum-connection-count>
<minimum-connection-count>3</minimum-connection-count>
<maximum-connection-lifetime>18000000</maximum-connection-lifetime> <!-- 5 hours -->
<simultaneous-build-throttle>5</simultaneous-build-throttle>
<recently-started-threshold>40000</recently-started-threshold>
<overload-without-refusal-lifetime>50000</overload-without-refusal-lifetime>
<maximum-active-time>60000</maximum-active-time>
<verbose>true</verbose>
<trace>true</trace>
<fatal-sql-exception>ORA-1234</fatal-sql-exception>
<prototype-count>2</prototype-count>
</proxool>
When the parser reaches the end of the <proxool> element the pool
is automatically registered. You can contain the <proxool> element
in any other elements as you wish. And the <proxool> element can
occur as many times as you wish. This allows you to use an XML file that
configures your whole application as the source. This configurator will
ignore everything apart from the elements contained within the <proxool>
element.
Validation
A couple of additional steps are required if you want your SAX parser to validate your Proxool xml confguration:
proxool-config element.
The document must adhere to the Proxool dtd.
DOCTYPE entry to your xml with a system id containing the absolute url to the Proxool
dtd. The Proxool jar contains a copy of the Proxool dtd in the confguration package. You can reference that with
a jar url like this:
JAXPConfigurator this is done by passing true as
the second arghument to any of the configure methods.
This class is not thread safe.
| Constructor and Description |
|---|
XMLConfigurator() |
| Modifier and Type | Method and Description |
|---|---|
void |
characters(char[] chars,
int start,
int length) |
void |
endElement(java.lang.String uri,
java.lang.String lname,
java.lang.String qname) |
void |
error(org.xml.sax.SAXParseException e) |
void |
fatalError(org.xml.sax.SAXParseException e) |
void |
startElement(java.lang.String uri,
java.lang.String lname,
java.lang.String qname,
org.xml.sax.Attributes attributes) |
void |
warning(org.xml.sax.SAXParseException e) |
public void startElement(java.lang.String uri,
java.lang.String lname,
java.lang.String qname,
org.xml.sax.Attributes attributes)
throws org.xml.sax.SAXException
startElement in interface org.xml.sax.ContentHandlerstartElement in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionContentHandler.startElement(java.lang.String, java.lang.String, java.lang.String, org.xml.sax.Attributes)public void characters(char[] chars,
int start,
int length)
throws org.xml.sax.SAXException
characters in interface org.xml.sax.ContentHandlercharacters in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionContentHandler.characters(char[], int, int)public void endElement(java.lang.String uri,
java.lang.String lname,
java.lang.String qname)
throws org.xml.sax.SAXException
endElement in interface org.xml.sax.ContentHandlerendElement in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionContentHandler.endElement(java.lang.String, java.lang.String, java.lang.String)public void warning(org.xml.sax.SAXParseException e)
throws org.xml.sax.SAXException
warning in interface org.xml.sax.ErrorHandlerwarning in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionErrorHandler.warning(SAXParseException)public void error(org.xml.sax.SAXParseException e)
throws org.xml.sax.SAXException
error in interface org.xml.sax.ErrorHandlererror in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionErrorHandler.error(SAXParseException)public void fatalError(org.xml.sax.SAXParseException e)
throws org.xml.sax.SAXException
fatalError in interface org.xml.sax.ErrorHandlerfatalError in class org.xml.sax.helpers.DefaultHandlerorg.xml.sax.SAXExceptionErrorHandler.fatalError(SAXParseException)