Package org.postgresql.core
Class ConnectionFactory
- java.lang.Object
-
- org.postgresql.core.ConnectionFactory
-
- Direct Known Subclasses:
ConnectionFactoryImpl
public abstract class ConnectionFactory extends java.lang.Object
Handles protocol-specific connection setup.
-
-
Field Summary
Fields Modifier and Type Field Description private static java.util.logging.Logger
LOGGER
-
Constructor Summary
Constructors Constructor Description ConnectionFactory()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected void
closeStream(PGStream newStream)
Safely close the given stream.static QueryExecutor
openConnection(HostSpec[] hostSpecs, java.util.Properties info)
Establishes and initializes a new connection.abstract QueryExecutor
openConnectionImpl(HostSpec[] hostSpecs, java.util.Properties info)
Implementation ofopenConnection(org.postgresql.util.HostSpec[], java.util.Properties)
for a particular protocol version.
-
-
-
Method Detail
-
openConnection
public static QueryExecutor openConnection(HostSpec[] hostSpecs, java.util.Properties info) throws java.sql.SQLException
Establishes and initializes a new connection.If the "protocolVersion" property is specified, only that protocol version is tried. Otherwise, all protocols are tried in order, falling back to older protocols as necessary.
Currently, protocol versions 3 (7.4+) is supported.
- Parameters:
hostSpecs
- at least one host and port to connect to; multiple elements for round-robin failoverinfo
- extra properties controlling the connection; notably, "password" if present supplies the password to authenticate with.- Returns:
- the new, initialized, connection
- Throws:
java.sql.SQLException
- if the connection could not be established.
-
openConnectionImpl
public abstract QueryExecutor openConnectionImpl(HostSpec[] hostSpecs, java.util.Properties info) throws java.sql.SQLException
Implementation ofopenConnection(org.postgresql.util.HostSpec[], java.util.Properties)
for a particular protocol version. Implemented by subclasses ofConnectionFactory
.- Parameters:
hostSpecs
- at least one host and port to connect to; multiple elements for round-robin failoverinfo
- extra properties controlling the connection; notably, "password" if present supplies the password to authenticate with.- Returns:
- the new, initialized, connection, or
null
if this protocol version is not supported by the server. - Throws:
java.sql.SQLException
- if the connection could not be established for a reason other than protocol version incompatibility.
-
closeStream
protected void closeStream(PGStream newStream)
Safely close the given stream.- Parameters:
newStream
- The stream to close.
-
-