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>
