public abstract class SyncProvider extends Object
RowSet对象提供读/写能力。一个
SyncProvider实现类的类
SyncProvider抽象类。
一个SyncProvider实现都有一个唯一的ID标识,这是它的完全限定类名。此名称必须与SyncFactory SPI注册,从而提供给所有RowSet实现实现。在参考实现工厂机构采用这个名字来实例化的实现,它可以提供一个RowSet对象及其读者(一javax.sql.RowSetReader对象)和作者(一javax.sql.RowSetWriter对象)。
JDBC RowSet实现规范提供的SyncProvider抽象类两个参考实现:RIOptimisticProvider和RIXMLProvider,RIOptimisticProvider可以用RowSetReader对象和一个RowSetWriter对象的任何RowSet实现集。然而,只有RIXMLProvider实现可以设定一个XmlReader对象和XmlWriter对象。一个WebRowSet对象使用XmlReader对象以xml格式与数据填充本身读取数据。它使用XmlWriter对象写自己流或java.io.Writer XML格式的对象。
SyncProvider实现,以下几点应注意:
SyncProvider为名实施的是它的完全限定类名。SyncProvider实施的包中名为providers。例如,如果一个供应商叫弗莱德,公司提供了一个SyncProvider实现,你可以有以下:
供应商名称:弗莱德公司供应商的域名:com.fred软件名称:com.fred.providerssyncprovider实现类名称:highavailabilityprovider完全限定类名syncprovider实施:com.fred.providers.highavailabilityprovider
下面这行代码使用完全限定的名称与SyncFactory静态实例登记实施。
syncfactory registerprovider(。“COM。弗莱德。供应商。highavailabilityprovider”);
默认SyncProvider对象提供了参考实现使用下列名称:
com.sun.rowset.providers.rioptimisticprovider
供应商可以通过发送电子邮件jdbc@sun.com甲骨文公司登记一个SyncProvider实现类的名字。Oracle会维护一个数据库列表使用兼容的RowSet实现可用的SyncProvider实现。该数据库将是一个类似于已列出可用的JDBC驱动程序。
供应商应该参考参考实现同步提供额外的指导如何实施新的SyncProvider实施。
RowSet对象获取供应商Rowset对象可能在一个获得一个
SyncProvider对象以下两个方面:
CachedRowSet CRS =新CachedRowSet(“COM。弗莱德。供应商。highavailabilitysyncprovider”);
新cachedrowset() CachedRowSet CRS =;CRS。setsyncprovider(“COM。弗莱德。供应商。highavailabilitysyncprovider”);
setSyncProvider默认情况下,该RowSet同步提供者的参考实现是始终可用的java平台。如果没有其他可同步提供者已正确注册,该SyncFactory会自动生成默认的SyncProvider参考实现的一个实例。因此,在前面的代码片段,如果没有实现命名com.fred.providers.HighAvailabilitySyncProvider已与SyncFactory实例注册,CRS将在参考实现指定默认的供应商,这是com.sun.rowset.providers.RIOptimisticProvider。
RowSet对象和一个数据源或违反原始查询基础数据源的限制,这将导致所有断开的
RowSet实现和指定的
SyncProvider实现定义的行为。未定义行为等违规行为的发生提供了一个
SyncProvider实现确定自己的最佳行动过程更大的灵活性。
一个SyncProvider实现可以选择执行特定的处理程序处理查询违法行为的一个子集。然而如果一个原始查询违章或更一般的数据源的约束违反不被SyncProvider实施处理,所有SyncProvider对象必须把SyncProviderException。
RowSet对象来填充一个SQL查询,制定最初从一个SQL
VIEW。虽然在许多情况下,它是可能的一个基本视图进行更新,这样的更新需要额外的元数据,这可能会有所不同。的
SyncProvider类提供了两个常数,指示是否支持SQL
VIEW更新。
NONUPDATABLE_VIEW_SYNC -表明SyncProvider实现不使用SQL VIEW为RowSet对象的基础数据源支持同步。UPDATABLE_VIEW_SYNC -表明SyncProvider实施支持SQL VIEW作为基础数据源同步。默认的是一个RowSet对象不可更新,如果它是从一个SQL VIEW数据填充。
SyncProvider常数SyncProvider类提供三套常数作为返回值或参数
SyncProvider方法。
SyncProvider对象可以执行一个
RowSet对象及其基础数据源具有不同程度的护理之间的同步。常数的第一组表示如何处理同步处理。例如,
GRADE_NONE表明
SyncProvider对象将不采取任何关心哪些数据是有效的,只会写
RowSet数据到数据源。
GRADE_MODIFIED_AT_COMMIT表明供应商将只检查修改的数据的有效性。其他级别检查有效性或设置锁的所有数据,当数据被修改或加载。
SyncProvider对象
SyncProvider对象可以执行更新SQL VIEW SyncFactory,
SyncFactoryException
| Modifier and Type | Field and Description |
|---|---|
static int |
DATASOURCE_DB_LOCK
表明一个锁放在那就是利用这个
SyncProvider对象的
RowSet对象数据源的数据源。
|
static int |
DATASOURCE_NO_LOCK
指示没有锁保持在原始数据源上。
|
static int |
DATASOURCE_ROW_LOCK
表明锁放置在被用来填充,使用这种
SyncProvider对象的
RowSet对象原始的SQL语句摸排。
|
static int |
DATASOURCE_TABLE_LOCK
表明一个锁放在所有的表是用来填充,使用这种
SyncProvider对象的
RowSet对象原始的SQL语句感动。
|
static int |
GRADE_CHECK_ALL_AT_COMMIT
表示对源数据源的高级别乐观同步级别。
|
static int |
GRADE_CHECK_MODIFIED_AT_COMMIT
表示相对于原始数据源的低级别乐观同步级别。
|
static int |
GRADE_LOCK_WHEN_LOADED
表示相对于原始数据源的最悲观的同步级别。
|
static int |
GRADE_LOCK_WHEN_MODIFIED
表示相对于原始数据源的一个悲观的同步级。
|
static int |
GRADE_NONE
表明没有提供与原始数据源的同步。
|
static int |
NONUPDATABLE_VIEW_SYNC
表明
SyncProvider不实现
不支持同步
RowSet对象和SQL
VIEW用来填充它之间。
|
static int |
UPDATABLE_VIEW_SYNC
表明
SyncProvider支持
RowSet对象和SQL之间的同步
VIEW用来填充它。
|
| Constructor and Description |
|---|
SyncProvider()
创建一个默认的
SyncProvider对象。
|
| Modifier and Type | Method and Description |
|---|---|
abstract int |
getDataSourceLock()
返回当前数据源锁定程度在这
SyncProvider实施积极的。
|
abstract int |
getProviderGrade()
返回级同步
RowSet对象可以期望从这个
SyncProvider对象。
|
abstract String |
getProviderID()
返回该对象的唯一标识符
SyncProvider。
|
abstract RowSetReader |
getRowSetReader()
返回一个
javax.sql.RowSetReader对象,这可以用数据填充
RowSet对象。
|
abstract RowSetWriter |
getRowSetWriter()
返回一个
javax.sql.RowSetWriter对象,它可以用来写一
RowSet对象的数据返回到基础数据源。
|
abstract String |
getVendor()
返回该
SyncProvider实例的供应商名称
|
abstract String |
getVersion()
返回该
SyncProvider实例的发布版本。
|
abstract void |
setDataSourceLock(int datasource_lock)
设置一个锁定基础数据源的水平表示datasource_lock。
|
abstract int |
supportsUpdatableView()
是否这
SyncProvider实施可以执行同步之间的
RowSet对象和SQL
VIEW数据源中的数据对象有
RowSet。
|
public static final int GRADE_NONE
SyncProvider实现返回这个年级会尝试写更新的
RowSet对象基础数据源中没有任何数据的有效性检查。
public static final int GRADE_CHECK_MODIFIED_AT_COMMIT
SyncProvider实现返回这个等级将只检查行了。
public static final int GRADE_CHECK_ALL_AT_COMMIT
SyncProvider实现返回这个年级将检查所有的行,包括行没有改变。
public static final int GRADE_LOCK_WHEN_MODIFIED
SyncProvider实现回归这等级将锁定排在原始数据源。
public static final int GRADE_LOCK_WHEN_LOADED
SyncProvider实现返回这个级别将锁定整个表的查看和/或用来填充
RowSet对象的原始语句的影响。
public static final int DATASOURCE_NO_LOCK
SyncProvider实现设置,除非有
RowSet对象。
public static final int DATASOURCE_ROW_LOCK
SyncProvider对象的
RowSet对象原始的SQL语句摸排。
public static final int DATASOURCE_TABLE_LOCK
SyncProvider对象的
RowSet对象原始的SQL语句感动。
public static final int DATASOURCE_DB_LOCK
SyncProvider对象的
RowSet对象数据源的数据源。
public static final int UPDATABLE_VIEW_SYNC
SyncProvider支持
RowSet对象和SQL之间的同步
VIEW用来填充它。
public static final int NONUPDATABLE_VIEW_SYNC
SyncProvider不实现
不支持同步
RowSet对象和SQL
VIEW用来填充它之间。
public abstract String getProviderID()
SyncProvider。
SyncProvider对象
String对象
public abstract RowSetReader getRowSetReader()
javax.sql.RowSetReader对象,这可以用数据填充
RowSet对象。
javax.sql.RowSetReader对象
public abstract RowSetWriter getRowSetWriter()
javax.sql.RowSetWriter对象,它可以用来写一
RowSet对象的数据返回到基础数据源。
javax.sql.RowSetWriter对象
public abstract int getProviderGrade()
RowSet对象可以期望从这个
SyncProvider对象。
public abstract void setDataSourceLock(int datasource_lock)
throws SyncProviderException
SyncProvider通过增加或减少的乐观情绪提供了一个成功的同步调整自己的行为。
datasource_lock -下面的一个常数,指示数据源所需的严重性级别:
syncprovider.datasource_no_lock,syncprovider.datasource_row_lock,syncprovider.datasource_table_lock,syncprovider.datasource_db_lock,锁
SyncProviderException -如果不支持的数据源的锁定级别设置。
getDataSourceLock()
public abstract int getDataSourceLock()
throws SyncProviderException
SyncProvider实施积极的。
SyncProvider活性水平;下列之一:
syncprovider.datasource_no_lock,syncprovider.datasource_row_lock,syncprovider.datasource_table_lock,syncprovider.datasource_db_lock
SyncProviderException -如果出现错误,确定数据源的锁定级别。
setDataSourceLock(int)
public abstract int supportsUpdatableView()
SyncProvider实施可以执行同步之间的
RowSet对象和SQL
VIEW数据源中的数据对象有
RowSet。
int说这是否
SyncProvider对象支持更新SQL
VIEW;下列之一:syncprovider.updatable_view_sync,syncprovider.nonupdatable_view_sync
public abstract String getVersion()
SyncProvider实例的发布版本。
String详细的
SyncProvider实施发布版本
public abstract String getVendor()
SyncProvider实例的供应商名称
String详述此
SyncProvider实施供应商名称
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2014, Oracle and/or its affiliates. All rights reserved.