Author: reto
Date: Sat Jun 18 14:26:46 2011
New Revision: 1137190
URL: http://svn.apache.org/viewvc?rev=1137190&view=rev
Log:
CLEREZZA-569: configurable networking timeout with default value of 3000 ms
Added:
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml
Modified:
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala
Added:
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml?rev=1137190&view=auto
==============================================================================
---
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml
(added)
+++
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/metatype/metatype.xml
Sat Jun 18 14:26:46 2011
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<metatype:MetaData xmlns:metatype="http://www.osgi.org/xmlns/metatype/v1.0.0"
localization="OSGI-INF/metatype/metatype">
+ <OCD id="org.apache.clerezza.rdf.storage.web.WebProxy"
+ name="Clerezza SCB Web Storage Provider"
+
description="%org.apache.clerezza.rdf.storage.web.WebProxy.description">
+ <AD id="network-timeout" type="int" default="false" name="Network
Timeout" description="Specifies the network timeout in ms."/>
+ </OCD>
+ <Designate pid="org.apache.clerezza.rdf.storage.web.WebProxy">
+ <Object ocdref="org.apache.clerezza.rdf.storage.web.WebProxy"/>
+ </Designate>
+</metatype:MetaData>
\ No newline at end of file
Modified:
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml?rev=1137190&r1=1137189&r2=1137190&view=diff
==============================================================================
---
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml
(original)
+++
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/resources/OSGI-INF/serviceComponents.xml
Sat Jun 18 14:26:46 2011
@@ -12,6 +12,7 @@
cardinality="1..n" policy="dynamic"
bind="bindWeightedTcProvider" unbind="unbindWeightedTcProvider"/>
<reference name="parser"
interface="org.apache.clerezza.rdf.core.serializedform.Parser"
cardinality="1..1" policy="static" bind="bindParser"
unbind="unbindParser"/>
+ <property
name="org.apache.clerezza.rdf.storage.web.network-timeout" value="3000"
type="Integer"/>
</scr:component>
</components>
Modified:
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala
URL:
http://svn.apache.org/viewvc/incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala?rev=1137190&r1=1137189&r2=1137190&view=diff
==============================================================================
---
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala
(original)
+++
incubator/clerezza/trunk/parent/rdf.storage.web/src/main/scala/WebProxy.scala
Sat Jun 18 14:26:46 2011
@@ -31,6 +31,7 @@ import org.slf4j.scala._
import org.apache.clerezza.rdf.core.access._
import org.apache.clerezza.rdf.core.impl.AbstractMGraph
import org.apache.clerezza.rdf.core._
+import java.sql.Time
/**
* The Web Proxy Service enables applications to request remote (and local)
graphs.
@@ -39,6 +40,10 @@ import org.apache.clerezza.rdf.core._
*/
class WebProxy extends WeightedTcProvider with Logging {
+ val networkTimeoutKey = "network-timeout"
+
+ private var networkTimeout: Int = _
+
private var tcProvider: TcProviderMultiplexer = new
TcProviderMultiplexer
/**
@@ -63,7 +68,7 @@ class WebProxy extends WeightedTcProvide
/**OSGI method, called on activation */
protected def activate(context: ComponentContext) = {
-
+ networkTimeout =
Integer.parseInt(context.getProperties.get(networkTimeoutKey).toString)
}
@@ -174,7 +179,11 @@ class WebProxy extends WeightedTcProvide
val url = new URL(name.getUnicodeString)
val connection = url.openConnection()
connection match {
- case hc: HttpURLConnection =>
hc.addRequestProperty("Accept", acceptHeader);
+ case hc: HttpURLConnection => {
+ hc.addRequestProperty("Accept",
acceptHeader)
+ hc.setReadTimeout(networkTimeout)
+ hc.setConnectTimeout(networkTimeout)
+ };
}
connection.connect()
val in = connection.getInputStream()