|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.data.oracle.OracleOCIDataStoreFactory
public class OracleOCIDataStoreFactory
Creates an Oracle datastore based on a thick OCI client connection, instead of the traditional (thin) jdbc connection. The thin JDBC connection was designed for clients requiring no more classes than just the classes12.jar (or ojdbc14.jar). The OCI JDBC drivers are based on the Oracle client software and rely mostly on the very fast C/C++ based OCI (Oracle Call Interface) runtime.
This leads to an easy way to speed up GeoTools when gt2 is running on the same computer as the oracle install, as the OCI drivers are already there. And I believe if a computer has the OCI correctly installed and configure it can be used on remote computers, with the faster connection. This just takes more work by the admin. Server applications like GeoServer will often be on the same computer as the databse, so it makes sense to offer admins the advantage of using the OCI jdbc driver.
Instead of the instance, host, port requirments of the normal oracle factory this driver just requires the 'alias', which refers to values defined by the Oracle Net Configuration assistant and stored in $ORACLE_HOME/NETWORK/ADMIN/tnsnames.ora. We have also had luck on the same computer with just leaving 'alias' as an empty string, and it seems to have a reasonable default behavior.
This factory should be registered in the META-INF/ folder, under services/ in the DataStoreFactorySpi file.
Nested Class Summary |
---|
Nested classes/interfaces inherited from interface org.geotools.data.DataAccessFactory |
---|
DataAccessFactory.Param |
Field Summary | |
---|---|
static DataAccessFactory.Param |
MAXCONN
|
static DataAccessFactory.Param |
MINCONN
|
static DataAccessFactory.Param |
VALIDATECONN
|
Constructor Summary | |
---|---|
OracleOCIDataStoreFactory()
Creates a new instance of OracleOCIDataStoreFactory |
Method Summary | |
---|---|
boolean |
canProcess(java.util.Map params)
Determines whether DataStore created by this factory can process the parameters. |
DataStore |
createDataStore(java.util.Map params)
Construct a postgis data store using the params. |
DataStore |
createNewDataStore(java.util.Map params)
Oracle cannot create a new database. |
static javax.sql.DataSource |
getDefaultDataSource(java.lang.String alias,
java.lang.String user,
java.lang.String passwd,
int maxActive,
int minIdle,
boolean validate)
|
java.lang.String |
getDescription()
Describe the nature of the datastore constructed by this factory. |
java.lang.String |
getDisplayName()
Name suitable for display to end user. |
java.util.Map |
getImplementationHints()
Returns the implementation hints. |
DataAccessFactory.Param[] |
getParametersInfo()
Describe parameters. |
boolean |
isAvailable()
Returns whether the OracleDataStoreFactory would actually be able to generate a DataStore. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final DataAccessFactory.Param MAXCONN
public static final DataAccessFactory.Param MINCONN
public static final DataAccessFactory.Param VALIDATECONN
Constructor Detail |
---|
public OracleOCIDataStoreFactory()
Method Detail |
---|
public boolean canProcess(java.util.Map params)
Required Parameters are:
dbtype
- must equal "oracle"
host
port
user
passwd
instance
There are no defaults since each parameter must be explicitly defined by the user, or another DataSourceFactorySpi should be used. This behaviour is defined in the DataStoreFactorySpi contract.
canProcess
in interface DataAccessFactory
params
- The parameter to check.
public DataStore createDataStore(java.util.Map params) throws java.io.IOException
createDataStore
in interface DataAccessFactory
createDataStore
in interface DataStoreFactorySpi
params
- The full set of information needed to construct a live
data source. Should have dbtype equal to postgis, as well as
host, user, passwd, database, and table.
java.io.IOException
- DOCUMENT ME!
DataSourceException
- Thrown if there were any problems creating
or connecting the datasource.public static javax.sql.DataSource getDefaultDataSource(java.lang.String alias, java.lang.String user, java.lang.String passwd, int maxActive, int minIdle, boolean validate) throws DataSourceException
DataSourceException
public DataStore createNewDataStore(java.util.Map params) throws java.io.IOException
createNewDataStore
in interface DataStoreFactorySpi
params
-
java.io.IOException
- DOCUMENT ME!
java.lang.UnsupportedOperationException
- Cannot create new databasepublic java.lang.String getDisplayName()
DataAccessFactory
A non localized display name for this data store type.
getDisplayName
in interface DataAccessFactory
public java.lang.String getDescription()
getDescription
in interface DataAccessFactory
public boolean isAvailable()
isAvailable
in interface DataAccessFactory
public DataAccessFactory.Param[] getParametersInfo()
getParametersInfo
in interface DataAccessFactory
DataAccessFactory.getParametersInfo()
public java.util.Map getImplementationHints()
getImplementationHints
in interface Factory
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |