You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by tv...@apache.org on 2026/03/19 17:44:05 UTC
(commons-jcs) 10/11: Change type of RemoteHttpCacheAttributes.socketTimeout and
This is an automated email from the ASF dual-hosted git repository.
tv pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/commons-jcs.git
commit b5e315b8f51ad67cd825d7cdac94f783090d035b
Author: Thomas Vandahl <tv...@apache.org>
AuthorDate: Thu Mar 19 18:28:38 2026 +0100
Change type of RemoteHttpCacheAttributes.socketTimeout and
connectionTimeout to Duration
---
.../remote/AbstractRemoteAuxiliaryCache.java | 4 +--
.../auxiliary/remote/RemoteCacheAttributes.java | 8 ++---
.../remote/http/client/AbstractHttpClient.java | 4 +--
.../http/client/RemoteHttpCacheAttributes.java | 34 ++++++++++++----------
.../TimeoutConfigurableRMISocketFactory.java | 12 ++++----
.../server/RemoteCacheServerFactoryUnitTest.java | 8 ++---
.../src/test/test-conf/TestRemoteClient.ccf | 2 +-
src/site/xdoc/CacheEventLogging.xml | 2 +-
src/site/xdoc/JDBCDiskCacheProperties.xml | 4 +--
src/site/xdoc/RemoteCacheProperties.xml | 16 ++++++++++
src/site/xdoc/RemoteHttpCacheProperties.xml | 8 ++---
src/site/xdoc/UpgradingFrom3x.xml | 25 ++++++++++++++++
src/site/xdoc/UsingJCSBasicWeb.xml | 3 --
13 files changed, 85 insertions(+), 45 deletions(-)
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
index 022f14be..ab8f013d 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/AbstractRemoteAuxiliaryCache.java
@@ -95,7 +95,7 @@ public abstract class AbstractRemoteAuxiliaryCache<K, V>
}
// use a pool if it is greater than 0
- log.debug( "GetTimeoutMillis() = {0}",
+ log.debug( "GetTimeout() = {0}",
() -> getAuxiliaryCacheAttributes().getGetTimeout() );
if (!getAuxiliaryCacheAttributes().getGetTimeout().isNegative())
@@ -367,7 +367,7 @@ public abstract class AbstractRemoteAuxiliaryCache<K, V>
/**
* Synchronously get from the remote cache; if failed, replace the remote handle with a zombie.
* <p>
- * Use threadpool to timeout if a value is set for GetTimeoutMillis
+ * Use threadpool to timeout if a value is set for GetTimeout
* <p>
* If we are a cluster client, we need to leave the Element in its serialized form. Cluster
* clients cannot deserialize objects. Cluster clients get ICacheElementSerialized objects from
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheAttributes.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheAttributes.java
index 5f50edc9..5bbf1b52 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheAttributes.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/RemoteCacheAttributes.java
@@ -193,11 +193,11 @@ public class RemoteCacheAttributes
}
/**
- * @param millis
+ * @param getTimeout
*/
- public void setGetTimeoutMillis( final int millis )
+ public void setGetTimeout( final Duration getTimeout )
{
- getTimeout = Duration.ofMillis(millis);
+ this.getTimeout = getTimeout;
}
/**
@@ -247,7 +247,7 @@ public class RemoteCacheAttributes
{
final StringBuilder buf = new StringBuilder(super.toString());
buf.append( "\n receive = [" + isReceive() + "]" );
- buf.append( "\n getTimeoutMillis = [" + getGetTimeout() + "]" );
+ buf.append( "\n getTimeout = [" + getGetTimeout() + "]" );
buf.append( "\n threadPoolName = [" + getThreadPoolName() + "]" );
buf.append( "\n localClusterConsistency = [" + isLocalClusterConsistency() + "]" );
buf.append( "\n zombieQueueMaxSize = [" + getZombieQueueMaxSize() + "]" );
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/AbstractHttpClient.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/AbstractHttpClient.java
index 3e244850..f326646d 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/AbstractHttpClient.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/AbstractHttpClient.java
@@ -95,8 +95,8 @@ public abstract class AbstractHttpClient
}
builder.setDefaultRequestConfig(RequestConfig.custom()
- .setConnectTimeout(getRemoteHttpCacheAttributes().getConnectionTimeoutMillis())
- .setSocketTimeout(getRemoteHttpCacheAttributes().getSocketTimeoutMillis())
+ .setConnectTimeout((int)getRemoteHttpCacheAttributes().getConnectionTimeout().toMillis())
+ .setSocketTimeout((int)getRemoteHttpCacheAttributes().getSocketTimeout().toMillis())
// By default we instruct HttpClient to ignore cookies.
.setCookieSpec(CookieSpecs.IGNORE_COOKIES)
.build());
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
index aa7f90f6..87b4ef8f 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/http/client/RemoteHttpCacheAttributes.java
@@ -1,5 +1,7 @@
package org.apache.commons.jcs4.auxiliary.remote.http.client;
+import java.time.Duration;
+
/*
* Licensed to the Apache Software Foundation (ASF) under one
* or more contributor license agreements. See the NOTICE file
@@ -38,10 +40,10 @@ public class RemoteHttpCacheAttributes
private int maxConnectionsPerHost = 100;
/** The socket timeout. */
- private int socketTimeoutMillis = 3000;
+ private Duration socketTimeout = Duration.ofSeconds(3);
/** The socket connections timeout */
- private int connectionTimeoutMillis = 5000;
+ private Duration connectionTimeout = Duration.ofSeconds(5);
/** HTTP version to use. */
private String httpVersion = DEFAULT_HTTP_VERSION;
@@ -62,11 +64,11 @@ public class RemoteHttpCacheAttributes
private String remoteHttpClientClassName = DEFAULT_REMOTE_HTTP_CLIENT_CLASS_NAME;
/**
- * @return the connectionTimeoutMillis
+ * @return the connectionTimeout
*/
- public int getConnectionTimeoutMillis()
+ public Duration getConnectionTimeout()
{
- return connectionTimeoutMillis;
+ return connectionTimeout;
}
/**
@@ -94,11 +96,11 @@ public class RemoteHttpCacheAttributes
}
/**
- * @return the socketTimeoutMillis
+ * @return the socketTimeout
*/
- public int getSocketTimeoutMillis()
+ public Duration getSocketTimeout()
{
- return socketTimeoutMillis;
+ return socketTimeout;
}
/**
@@ -134,11 +136,11 @@ public class RemoteHttpCacheAttributes
}
/**
- * @param connectionTimeoutMillis the connectionTimeoutMillis to set
+ * @param connectionTimeout the connectionTimeout to set
*/
- public void setConnectionTimeoutMillis( final int connectionTimeoutMillis )
+ public void setConnectionTimeout( final Duration connectionTimeout )
{
- this.connectionTimeoutMillis = connectionTimeoutMillis;
+ this.connectionTimeout = connectionTimeout;
}
/**
@@ -190,11 +192,11 @@ public class RemoteHttpCacheAttributes
}
/**
- * @param socketTimeoutMillis the socketTimeoutMillis to set
+ * @param socketTimeout the socketTimeout to set
*/
- public void setSocketTimeoutMillis( final int socketTimeoutMillis )
+ public void setSocketTimeout( final Duration socketTimeout )
{
- this.socketTimeoutMillis = socketTimeoutMillis;
+ this.socketTimeout = socketTimeout;
}
/**
@@ -214,9 +216,9 @@ public class RemoteHttpCacheAttributes
final StringBuilder buf = new StringBuilder();
buf.append( "\n RemoteHttpCacheAttributes" );
buf.append( "\n maxConnectionsPerHost = [" + getMaxConnectionsPerHost() + "]" );
- buf.append( "\n socketTimeoutMillis = [" + getSocketTimeoutMillis() + "]" );
+ buf.append( "\n socketTimeout = [" + getSocketTimeout() + "]" );
buf.append( "\n httpVersion = [" + getHttpVersion() + "]" );
- buf.append( "\n connectionTimeoutMillis = [" + getConnectionTimeoutMillis() + "]" );
+ buf.append( "\n connectionTimeout = [" + getConnectionTimeout() + "]" );
buf.append( "\n includeCacheNameAsParameter = [" + isIncludeCacheNameAsParameter() + "]" );
buf.append( "\n includeKeysAndPatternsAsParameter = [" + isIncludeKeysAndPatternsAsParameter() + "]" );
buf.append( "\n includeRequestTypeasAsParameter = [" + isIncludeRequestTypeasAsParameter() + "]" );
diff --git a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
index 10a28395..d911da25 100644
--- a/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
+++ b/commons-jcs4-core/src/main/java/org/apache/commons/jcs4/auxiliary/remote/server/TimeoutConfigurableRMISocketFactory.java
@@ -81,7 +81,7 @@ public class TimeoutConfigurableRMISocketFactory
/**
* @return the openTimeout
*/
- public Duration getOpenTimeoutDuration()
+ public Duration getOpenTimeout()
{
return openTimeout;
}
@@ -89,7 +89,7 @@ public class TimeoutConfigurableRMISocketFactory
/**
* @return the readTimeout
*/
- public Duration getReadTimeoutDuration()
+ public Duration getReadTimeout()
{
return readTimeout;
}
@@ -97,16 +97,16 @@ public class TimeoutConfigurableRMISocketFactory
/**
* @param openTimeout the openTimeout to set
*/
- public void setOpenTimeout( final int openTimeout )
+ public void setOpenTimeout( final Duration openTimeout )
{
- this.openTimeout = Duration.ofMillis(openTimeout);
+ this.openTimeout = openTimeout;
}
/**
* @param readTimeout the readTimeout to set
*/
- public void setReadTimeout( final int readTimeout )
+ public void setReadTimeout( final Duration readTimeout )
{
- this.readTimeout = Duration.ofMillis(readTimeout);
+ this.readTimeout = readTimeout;
}
}
diff --git a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java
index 55f5a33c..f8e01f6f 100644
--- a/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java
+++ b/commons-jcs4-core/src/test/java/org/apache/commons/jcs4/auxiliary/remote/server/RemoteCacheServerFactoryUnitTest.java
@@ -57,8 +57,8 @@ class RemoteCacheServerFactoryUnitTest
void testConfigureObjectSpecificCustomFactory_withProperty_TimeoutConfigurableRMIScoketFactory()
{
// SETUP
- final long readTimeout = 1234;
- final long openTimeout = 1234;
+ final Duration readTimeout = Duration.ofMillis(1234);
+ final Duration openTimeout = Duration.ofMillis(1234);
final Properties props = new Properties();
props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX, TimeoutConfigurableRMISocketFactory.class.getName() );
props.put( IRemoteCacheConstants.CUSTOM_RMI_SOCKET_FACTORY_PROPERTY_PREFIX + ".readTimeout", String.valueOf( readTimeout ) );
@@ -70,9 +70,9 @@ class RemoteCacheServerFactoryUnitTest
// VERIFY
assertNotNull( result, "Should have a custom socket factory." );
assertInstanceOf(TimeoutConfigurableRMISocketFactory.class, result, "Should be a TimeoutConfigurableRMISocketFactory");
- assertEquals( readTimeout, ((TimeoutConfigurableRMISocketFactory) result).getReadTimeoutDuration().toMillis(),
+ assertEquals( readTimeout, ((TimeoutConfigurableRMISocketFactory) result).getReadTimeout(),
"Wrong readTimeout" );
- assertEquals( openTimeout, ((TimeoutConfigurableRMISocketFactory) result).getOpenTimeoutDuration().toMillis(),
+ assertEquals( openTimeout, ((TimeoutConfigurableRMISocketFactory) result).getOpenTimeout(),
"Wrong readTimeout" );
}
diff --git a/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf b/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf
index 54e0f78c..db86dd8b 100644
--- a/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf
+++ b/commons-jcs4-core/src/test/test-conf/TestRemoteClient.ccf
@@ -34,6 +34,6 @@ jcs.auxiliary.RC.attributes.RemoveUponRemotePut=false
# jcs.auxiliary.RC.attributes.RemoteServiceName=RemoteCache
# -1 means no timeout, this is the default
# if the timeout is -1, no threadpool will be used.
-jcs.auxiliary.RC.attributes.GetTimeoutMillis=-1
+jcs.auxiliary.RC.attributes.GetTimeout=PT-0.001s
# jcs.auxiliary.RC.attributes.ThreadPoolName=remote_cache_client
# jcs.auxiliary.RC.attributes.GetOnly=false
diff --git a/src/site/xdoc/CacheEventLogging.xml b/src/site/xdoc/CacheEventLogging.xml
index f0f55cea..c42d2ea7 100644
--- a/src/site/xdoc/CacheEventLogging.xml
+++ b/src/site/xdoc/CacheEventLogging.xml
@@ -45,7 +45,7 @@ jcs.auxiliary.RC.attributes.RemoveUponRemotePut=false
# jcs.auxiliary.RC.attributes.RemoteServiceName=RemoteCache
# -1 means no timeout, this is the default
# if the timeout is -1, no threadpool will be used.
-jcs.auxiliary.RC.attributes.GetTimeoutMillis=500
+jcs.auxiliary.RC.attributes.GetTimeout=PT0.5s
jcs.auxiliary.RC.attributes.ThreadPoolName=remote_cache_client
jcs.auxiliary.RC.attributes.GetOnly=false
jcs.auxiliary.RC.cacheeventlogger=org.apache.commons.jcs4.engine.logging.CacheEventLoggerDebugLogger
diff --git a/src/site/xdoc/JDBCDiskCacheProperties.xml b/src/site/xdoc/JDBCDiskCacheProperties.xml
index 5cdc7554..7456f70b 100644
--- a/src/site/xdoc/JDBCDiskCacheProperties.xml
+++ b/src/site/xdoc/JDBCDiskCacheProperties.xml
@@ -121,9 +121,9 @@
</tr>
<tr>
<td>jndiTTL</td>
- <td>The time between two JNDI lookups in ms.</td>
+ <td>The time between two JNDI lookups</td>
<td>N</td>
- <td>0</td>
+ <td>PT0s (no caching)</td>
</tr>
<tr>
<td>tableName</td>
diff --git a/src/site/xdoc/RemoteCacheProperties.xml b/src/site/xdoc/RemoteCacheProperties.xml
index fc6ec957..1004ac4d 100644
--- a/src/site/xdoc/RemoteCacheProperties.xml
+++ b/src/site/xdoc/RemoteCacheProperties.xml
@@ -111,6 +111,22 @@
<td>N</td>
<td>false</td>
</tr>
+ <tr>
+ <td>GetTimeout</td>
+ <td>
+ Must be greater than 0 for a pool to be used.
+ </td>
+ <td>N</td>
+ <td>PT-0.001s</td>
+ </tr>
+ <tr>
+ <td>ThreadPoolName</td>
+ <td>
+ The name of the thread pool used for get operations.
+ </td>
+ <td>N</td>
+ <td>remote_cache_client</td>
+ </tr>
<tr>
<td>Receive</td>
<td>
diff --git a/src/site/xdoc/RemoteHttpCacheProperties.xml b/src/site/xdoc/RemoteHttpCacheProperties.xml
index d27bbab4..9f392aac 100644
--- a/src/site/xdoc/RemoteHttpCacheProperties.xml
+++ b/src/site/xdoc/RemoteHttpCacheProperties.xml
@@ -42,16 +42,16 @@
<td>100</td>
</tr>
<tr>
- <td>socketTimeoutMillis</td>
+ <td>socketTimeout</td>
<td> Read timeout.</td>
<td>N</td>
- <td>3000</td>
+ <td>PT3s</td>
</tr>
<tr>
- <td>connectionTimeoutMillis</td>
+ <td>connectionTimeout</td>
<td> Connection timeout.</td>
<td>N</td>
- <td>5000</td>
+ <td>PT5s</td>
</tr>
<tr>
<td>httpVersion</td>
diff --git a/src/site/xdoc/UpgradingFrom3x.xml b/src/site/xdoc/UpgradingFrom3x.xml
index 430cfc2f..faf091e1 100644
--- a/src/site/xdoc/UpgradingFrom3x.xml
+++ b/src/site/xdoc/UpgradingFrom3x.xml
@@ -177,6 +177,16 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %3$s [%4$-7s] %5$s %n
<td>RmiSocketFactoryTimeoutMillis</td>
<td>RmiSocketFactoryTimeout</td>
</tr>
+ <tr>
+ <td>Remote HTTP Cache configuration (RemoteHttpCacheAttributes)</td>
+ <td>SocketTimeoutMillis</td>
+ <td>SocketTimeout</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>ConnectionTimeoutMillis</td>
+ <td>ConnectionTimeout</td>
+ </tr>
</table>
</p>
<p>
@@ -242,6 +252,11 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %3$s [%4$-7s] %5$s %n
<td>ShrinkerInterval</td>
<td>PT5m</td>
</tr>
+ <tr>
+ <td></td>
+ <td>jndiTTL</td>
+ <td>PT0s</td>
+ </tr>
<tr>
<td>Lateral TCP Cache configuration (LateralTCPCacheAttributes)</td>
<td>SocketTimeOut</td>
@@ -257,6 +272,16 @@ java.util.logging.SimpleFormatter.format=[%1$tF %1$tT] %3$s [%4$-7s] %5$s %n
<td>RmiSocketFactoryTimeout</td>
<td>PT5s</td>
</tr>
+ <tr>
+ <td>Remote HTTP Cache configuration (RemoteHttpCacheAttributes)</td>
+ <td>socketTimeout</td>
+ <td>PT3s</td>
+ </tr>
+ <tr>
+ <td></td>
+ <td>connectionTimeout</td>
+ <td>PT5s</td>
+ </tr>
</table>
</p>
</subsection>
diff --git a/src/site/xdoc/UsingJCSBasicWeb.xml b/src/site/xdoc/UsingJCSBasicWeb.xml
index 2a8fa57e..76489365 100644
--- a/src/site/xdoc/UsingJCSBasicWeb.xml
+++ b/src/site/xdoc/UsingJCSBasicWeb.xml
@@ -425,6 +425,3 @@ jcs.auxiliary.RFailover.attributes.GetOnly=false
</section>
</body>
</document>
-
-
-