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 14f973733d27e18d1d291c36002387056ab8fe08
Author: Thomas Vandahl <[email protected]>
AuthorDate: Sun Feb 1 16:59:20 2026 +0100

    Update documentation
---
 xdocs/UpgradingFrom3x.xml | 108 ++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 108 insertions(+)

diff --git a/xdocs/UpgradingFrom3x.xml b/xdocs/UpgradingFrom3x.xml
new file mode 100644
index 00000000..eee4d729
--- /dev/null
+++ b/xdocs/UpgradingFrom3x.xml
@@ -0,0 +1,108 @@
+<?xml version="1.0"?>
+<!--
+ Licensed to the Apache Software Foundation (ASF) under one
+ or more contributor license agreements.  See the NOTICE file
+ distributed with this work for additional information
+ regarding copyright ownership.  The ASF licenses this file
+ to you under the Apache License, Version 2.0 (the
+ "License"); you may not use this file except in compliance
+ with the License.  You may obtain a copy of the License at
+
+   https://www.apache.org/licenses/LICENSE-2.0
+
+ Unless required by applicable law or agreed to in writing,
+ software distributed under the License is distributed on an
+ "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ KIND, either express or implied.  See the License for the
+ specific language governing permissions and limitations
+ under the License.
+-->
+
+<document>
+  <properties>
+    <title>Upgrading from JCS 3.x to 4.0.0</title>
+    <author email="[email protected]">Thomas Vandahl</author>
+  </properties>
+
+  <body>
+    <section name="Upgrading from JCS 3.x to 4.0.0">
+      <p>
+        This document lists a number of things that changed in Commons JCS 
+        4.0.0. 
+      </p>
+      <subsection name="Minimum Java Requirements">
+        <p>
+          JCS 4.x requires Java 17 or above to run.
+        </p>
+      </subsection>
+      <subsection name="Package Names and Maven Coordinates">
+        <p>
+          The Apache Commons project requires a change of the package names 
+          and Maven coordinates on a major release.
+          So in all your code replace
+        <source><![CDATA[
+import org.apache.commons.jcs3.*;
+]]></source>
+          with
+        <source><![CDATA[
+import org.apache.commons.jcs4.*;
+]]></source>
+          The Maven coordinates change from
+        <source><![CDATA[
+<dependency>
+    <groupId>org.apache.commons.jcs</groupId>
+    <artifactId>commons-jcs3-core</artifactId>
+    <version>3.2.1</version>
+</dependency>
+]]></source>
+          to
+        <source><![CDATA[
+<dependency>
+    <groupId>org.apache.commons</groupId>
+    <artifactId>commons-jcs4-core</artifactId>
+    <version>4.0.0</version>
+</dependency>
+]]></source>
+        </p>
+      </subsection>
+      <subsection name="Adjusting the Configuration">
+        <p>
+          Here again, change all package names in configuration entries
+          from e.g.
+        <source><![CDATA[
+jcs.default.cacheattributes=org.apache.commons.jcs3.engine.CompositeCacheAttributes
+]]></source>
+          to
+        <source><![CDATA[
+jcs.default.cacheattributes=org.apache.commons.jcs4.engine.CompositeCacheAttributes
+]]></source>
+        </p>
+      </subsection>
+      <subsection name="Logging">
+        <p>
+           JCS 4.0.0 uses the JDK9+ System.Logger for logging.
+           By default, JCS uses java.util.logging.
+         </p>
+         <p>
+           If you want to use Log4j2 as a log system, for example, you can 
activate 
+           it by providing log4j-jpl as a runtime dependency and a log 
configuration
+           such as log4j2.xml.</p>
+          <source><![CDATA[
+<dependency>
+  <groupId>org.apache.logging.log4j</groupId>
+  <artifactId>log4j-jpl</artifactId>
+  <version>${log4j2.version}</version>
+  <scope>runtime</scope>
+</dependency>
+]]></source>
+      </subsection>
+      <subsection name="Java Modularization">
+        <p>
+           JCS 4.0.0 core provides proper module information in 
<code>module-info.java</code>.
+           The module name is <code>org.apache.commons.jcs4.core</code>.
+           Please note that several internals structures are not exported.
+         </p>
+      </subsection>
+    </section>
+  </body>
+</document>

Reply via email to