chemistry-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
Subject svn commit: r796059 - /websites/staging/chemistry/trunk/content/java/developing/dev-server.html
Date Wed, 21 Sep 2011 09:44:52 GMT
Author: buildbot
Date: Wed Sep 21 09:44:51 2011
New Revision: 796059

Staging update by buildbot


Modified: websites/staging/chemistry/trunk/content/java/developing/dev-server.html
--- websites/staging/chemistry/trunk/content/java/developing/dev-server.html (original)
+++ websites/staging/chemistry/trunk/content/java/developing/dev-server.html Wed Sep 21 09:44:51
@@ -187,7 +187,7 @@ Apache Chemistry - OpenCMIS Server Frame
 <p>The OpenCMIS Server Framework provides a server implementation of both CMIS
 bindings, AtomPub and Web Services, and maps them to Java interfaces.
 Requests and data from CMIS clients are converted and pushed to a
-repository connector. The connector translates the CMIS calls into native
+repository connector. The connector then translates the CMIS calls into native
 repository calls.</p>
 <p><a name="OpenCMISServerFramework-RepositoryConnectorDevelopment"></a></p>
 <h2 id="repository_connector_development">Repository Connector Development</h2>
@@ -209,13 +209,16 @@ context. The class name has to be set in
 <p>The configuration file may contain more key-value pairs. They are passed to
 the <code>init</code> method of the <code>AbstractServiceFactory</code>
object when the
 servlet context starts up.</p>
-<p>For each request the <code>getService</code> method will be called and
-<code>CallContext</code> object will be passed. This <code>CallContext</code>
object contains
+<p>For each request the <code>getService</code> method is called by the
framework and a
+<code>CallContext</code> object is passed. This <code>CallContext</code>
object contains
 data about the request, such as the used binding, the repository id,
 username and password. The <code>getService</code> method must return an object
-implements the <code>CmisService</code> interface. This object will only be used
-this thread. When the object is not needed anymore, the <code>close</code> method
-the object will be called.</p>
+implements the <code>CmisService</code> interface.
+This object is used by framework only for this one request and only in this thread. 
+Therefore, the <code>CmisService</code> object need not to be thread-safe and
and can hold request specific data.
+When the framework is ready to send a response and does not need the <code>CmisService</code>
object anymore, 
+it calls the <code>close</code> method. The repository connector can override
this method to do repository specific clean ups
+(e.g. close a repository session, commit or rollback database transactions, remove temporary
files, update caches, etc.).</p>
 <p>It is up to the repository connector how these service objects are created
 and maintained. It is possible to create such an object for each request or
 keep an instance per thread in a <code>ThreadLocal</code> or manage service objects
in a

View raw message