8181832: Broken link in javax/sql/rowset/spi/package-summary.html
Reviewed-by: alanb, mchung
This commit is contained in:
parent
3dbda35ef5
commit
e5b666c845
@ -38,10 +38,7 @@ questions.
|
|||||||
|
|
||||||
The standard classes and interfaces that a third party vendor has to
|
The standard classes and interfaces that a third party vendor has to
|
||||||
use in its implementation of a synchronization provider. These classes and
|
use in its implementation of a synchronization provider. These classes and
|
||||||
interfaces are referred to as the Service Provider Interface (SPI). A vendor may
|
interfaces are referred to as the Service Provider Interface (SPI). To make it possible
|
||||||
have its implementation included on the JDBC web page that lists available
|
|
||||||
<code>SyncProvider</code> implementations by sending email to <code>jdbc@sun.com</code>.
|
|
||||||
Doing this helps make developers aware of the implementation. To make it possible
|
|
||||||
for a <code>RowSet</code> object to use an implementation, the vendor must register
|
for a <code>RowSet</code> object to use an implementation, the vendor must register
|
||||||
it with the <code>SyncFactory</code> singleton. (See the class comment for
|
it with the <code>SyncFactory</code> singleton. (See the class comment for
|
||||||
<code>SyncProvider</code> for a full explanation of the registration process and
|
<code>SyncProvider</code> for a full explanation of the registration process and
|
||||||
@ -108,19 +105,14 @@ occur.
|
|||||||
<P>
|
<P>
|
||||||
The lowest level of synchronization is simply writing any changes made to the
|
The lowest level of synchronization is simply writing any changes made to the
|
||||||
<code>RowSet</code> object to its underlying data source. The writer does
|
<code>RowSet</code> object to its underlying data source. The writer does
|
||||||
nothing to check for conflicts.
|
nothing to check for conflicts.
|
||||||
If there is a conflict and the data
|
If there is a conflict and the data
|
||||||
source values are overwritten, the changes other parties have made by to the data
|
source values are overwritten, the changes other parties have made by to the data
|
||||||
source are lost.
|
source are lost.
|
||||||
<P>
|
<P>
|
||||||
The <code>RIXMLProvider</code> implementation uses the lowest level
|
The <code>RIXMLProvider</code> implementation uses the lowest level
|
||||||
of synchronization and just writes <code>RowSet</code> changes to the data source.
|
of synchronization and just writes <code>RowSet</code> changes to the data source.
|
||||||
This is true because typically XML data sources do not enable transaction
|
|
||||||
techniques for maintaining the integrity of data. However, specific standards
|
|
||||||
groups have considered offering XML-based synchronization. For details, see
|
|
||||||
<PRE>
|
|
||||||
<a href="http://www.syncml.org">http://www.syncml.org</a>
|
|
||||||
</PRE>
|
|
||||||
<P>
|
<P>
|
||||||
For the next level up, the
|
For the next level up, the
|
||||||
writer checks to see if there are any conflicts, and if there are,
|
writer checks to see if there are any conflicts, and if there are,
|
||||||
@ -141,7 +133,7 @@ synchronized.
|
|||||||
It is a requirement that all disconnected <code>RowSet</code> objects
|
It is a requirement that all disconnected <code>RowSet</code> objects
|
||||||
(<code>CachedRowSet</code>, <code>FilteredRowSet</code>, <code>JoinRowSet</code>,
|
(<code>CachedRowSet</code>, <code>FilteredRowSet</code>, <code>JoinRowSet</code>,
|
||||||
and <code>WebRowSet</code> objects) obtain their <code>SyncProvider</code> objects
|
and <code>WebRowSet</code> objects) obtain their <code>SyncProvider</code> objects
|
||||||
from the <code>SyncFactory</code> mechanism.
|
from the <code>SyncFactory</code> mechanism.
|
||||||
<P>
|
<P>
|
||||||
The reference implementation (RI) provides two synchronization providers.
|
The reference implementation (RI) provides two synchronization providers.
|
||||||
<UL>
|
<UL>
|
||||||
@ -164,7 +156,7 @@ The reference implementation (RI) provides two synchronization providers.
|
|||||||
<code>RIXMLProvider</code> implementation does no checking at all for
|
<code>RIXMLProvider</code> implementation does no checking at all for
|
||||||
conflicts and simply writes any updated data in the
|
conflicts and simply writes any updated data in the
|
||||||
<code>WebRowSet</code> object to the underlying data source.
|
<code>WebRowSet</code> object to the underlying data source.
|
||||||
<code>WebRowSet</code> objects use this provider when they are
|
<code>WebRowSet</code> objects use this provider when they are
|
||||||
dealing with XML data.
|
dealing with XML data.
|
||||||
</UL>
|
</UL>
|
||||||
|
|
||||||
@ -198,9 +190,7 @@ specification for further details.
|
|||||||
<p>
|
<p>
|
||||||
Vendors may develop a <code>SyncProvider</code> implementation with any one of the possible
|
Vendors may develop a <code>SyncProvider</code> implementation with any one of the possible
|
||||||
levels of synchronization, thus giving <code>RowSet</code> objects a choice of
|
levels of synchronization, thus giving <code>RowSet</code> objects a choice of
|
||||||
synchronization mechanisms. A vendor can make its implementation available by
|
synchronization mechanisms.
|
||||||
registering the fully qualified class name with Oracle Corporation at
|
|
||||||
<code>jdbc@sun.com</code>. This process is discussed in further detail below.
|
|
||||||
|
|
||||||
<h3><a id="arch">2.0 Service Provider Interface Architecture</a></h3>
|
<h3><a id="arch">2.0 Service Provider Interface Architecture</a></h3>
|
||||||
<b>2.1 Overview</b>
|
<b>2.1 Overview</b>
|
||||||
@ -274,7 +264,7 @@ These policies are explored in more detail in the <a href="SyncFactory.html">
|
|||||||
A compliant <code>SyncProvider</code> implementation that is fully pluggable
|
A compliant <code>SyncProvider</code> implementation that is fully pluggable
|
||||||
into the <code>SyncFactory</code> <b>must</b> extend and implement all
|
into the <code>SyncFactory</code> <b>must</b> extend and implement all
|
||||||
abstract methods in the <a href="SyncProvider.html"><code>SyncProvider</code></a>
|
abstract methods in the <a href="SyncProvider.html"><code>SyncProvider</code></a>
|
||||||
class. In addition, an implementation <b>must</b> determine the
|
class. In addition, an implementation <b>must</b> determine the
|
||||||
grade, locking and updatable view capabilities defined in the
|
grade, locking and updatable view capabilities defined in the
|
||||||
<code>SyncProvider</code> class definition. One or more of the
|
<code>SyncProvider</code> class definition. One or more of the
|
||||||
<code>SyncProvider</code> description criteria <b>must</b> be supported. It
|
<code>SyncProvider</code> description criteria <b>must</b> be supported. It
|
||||||
@ -405,7 +395,7 @@ synchronization. These operation are shown in the following code fragment.
|
|||||||
case: SyncProvider.GRADE_LOCK_WHEN_MODIFIED
|
case: SyncProvider.GRADE_LOCK_WHEN_MODIFIED
|
||||||
// A pessimistic synchronization grade
|
// A pessimistic synchronization grade
|
||||||
break;
|
break;
|
||||||
case: SyncProvider.GRADE_NONE
|
case: SyncProvider.GRADE_NONE
|
||||||
// No synchronization with the originating data source provided
|
// No synchronization with the originating data source provided
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
@ -413,7 +403,7 @@ synchronization. These operation are shown in the following code fragment.
|
|||||||
switch (sync.getDataSourcLock() {
|
switch (sync.getDataSourcLock() {
|
||||||
case: SyncProvider.DATASOURCE_DB_LOCK
|
case: SyncProvider.DATASOURCE_DB_LOCK
|
||||||
// A lock is placed on the entire datasource that is used by the
|
// A lock is placed on the entire datasource that is used by the
|
||||||
// <code>RowSet</code> object
|
// <code>RowSet</code> object
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case: SyncProvider.DATASOURCE_NO_LOCK
|
case: SyncProvider.DATASOURCE_NO_LOCK
|
||||||
@ -490,14 +480,11 @@ The comment for the <code>SyncResolver</code> interface has more detail.
|
|||||||
<h3><a id="relspec">5.0 Related Specifications</a></h3>
|
<h3><a id="relspec">5.0 Related Specifications</a></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="http://docs.oracle.com/javase/jndi/tutorial/index.html">JNDI</a>
|
<li><a href="http://docs.oracle.com/javase/jndi/tutorial/index.html">JNDI</a>
|
||||||
<li><a href="{@docRoot}/../technotes/guides/logging/index.html">Java Logging
|
<li><a href="{@docRoot}/java/util/logging/package-summary.html">Java Logging
|
||||||
APIs</a>
|
APIs</a>
|
||||||
</ul>
|
</ul>
|
||||||
<h3><a id="reldocs">6.0 Related Documentation</a></h3>
|
<h3><a id="reldocs">6.0 Related Documentation</a></h3>
|
||||||
<ul>
|
<ul>
|
||||||
<li><a href="{@docRoot}/../technotes/tools/index.html#basic">System
|
|
||||||
properties</a>
|
|
||||||
<li>Resource Files
|
|
||||||
<li><a href="http://docs.oracle.com/javase/tutorial/jdbc/">DataSource for JDBC
|
<li><a href="http://docs.oracle.com/javase/tutorial/jdbc/">DataSource for JDBC
|
||||||
Connections</a>
|
Connections</a>
|
||||||
</ul>
|
</ul>
|
||||||
|
Loading…
Reference in New Issue
Block a user