You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@turbine.apache.org by gk...@apache.org on 2024/03/25 17:41:56 UTC

(turbine-archetypes) branch turbine-6-mariadb-10-java-11 created (now 83d09ef)

This is an automated email from the ASF dual-hosted git repository.

gk pushed a change to branch turbine-6-mariadb-10-java-11
in repository https://gitbox.apache.org/repos/asf/turbine-archetypes.git


      at 83d09ef  Switch to mariadb using torque 5.2-SNAPSHOT, disable volume mapping of local m2rep0 (needed only for local snapshots), which podman up to now does not support for windows system, update parent apache version from 29 to 31, set in log4j2 torque and turbine to debug by default, fix debugging address in socket debugging, add datetimeformatterservice to onfigured turbine services.

This branch includes the following new commits:

     new af09214  Add additional jetty-env.xml to work on with commons datasource
     new ac627dc  Update changes.xml
     new 83d09ef  Switch to mariadb using torque 5.2-SNAPSHOT, disable volume mapping of local m2rep0 (needed only for local snapshots), which podman up to now does not support for windows system, update parent apache version from 29 to 31, set in log4j2 torque and turbine to debug by default, fix debugging address in socket debugging, add datetimeformatterservice to onfigured turbine services.

The 3 revisions listed above as "new" are entirely new to this
repository and will be described in separate emails.  The revisions
listed as "add" were already present in the repository and have only
been added to this reference.



(turbine-archetypes) 01/03: Add additional jetty-env.xml to work on with commons datasource

Posted by gk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gk pushed a commit to branch turbine-6-mariadb-10-java-11
in repository https://gitbox.apache.org/repos/asf/turbine-archetypes.git

commit af092141f29060660a28de0400f8f6621a5092da
Author: Georg Kallidis <gk...@apache.org>
AuthorDate: Mon Mar 25 18:21:02 2024 +0100

    Add additional jetty-env.xml to work on with commons datasource
---
 .../WEB-INF/jetty-env-commons-datasource.xml       | 29 ++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env-commons-datasource.xml b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env-commons-datasource.xml
new file mode 100644
index 0000000..fa127c5
--- /dev/null
+++ b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env-commons-datasource.xml
@@ -0,0 +1,29 @@
+<Configure class="org.eclipse.jetty.webapp.WebAppContext">
+  <New id="Turbine" class="org.eclipse.jetty.plus.jndi.Resource">
+    <Arg></Arg> <!-- reference to WebAppContext requires jetty 9.x only  -->
+    <Arg>${turbine_database_jndipath}</Arg>
+    <Arg>
+        <New class="org.apache.commons.dbcp2.BasicDataSource">
+           <Set name="driverClassName">${turbine_database_driver}</Set>
+             <Set name="url">${turbine_database_url}${turbine_database_name}</Set>
+            <Set name="username">${turbine_database_user}</Set>
+            <Set name="password">${turbine_database_password}</Set>
+            <Set name="connectionProperties">useSSL=false</Set>
+            <!-- useSSL=true&enabledSslProtocolSuites=TLSv1.1&autoReconnect=true&disableSslHostnameVerification=true --> 
+            <!-- Set name="connectionProperties">serverTimezone=${turbine_database_timezone};useUnicode=true;characterEncoding=utf8;useSSL=false;allowPublicKeyRetrieval=true</Set -->
+            <Set name="validationQuery">SELECT 1</Set>          
+        </New>
+    </Arg>
+  </New>
+  
+  <Set name="extraClasspath"></Set>
+  <Call name="setAttribute">
+      <Arg>org.eclipse.jetty.server.webapp.WebInfIncludeJarPattern</Arg>
+      <Arg>.*/spring-[^/]*\.jar$</Arg>
+  </Call>  
+  <Call name="setAttribute">
+      <Arg>org.eclipse.jetty.annotations.multiThreaded</Arg>
+      <Arg type="Boolean">false</Arg>
+    </Call>
+    
+</Configure>


(turbine-archetypes) 03/03: Switch to mariadb using torque 5.2-SNAPSHOT, disable volume mapping of local m2rep0 (needed only for local snapshots), which podman up to now does not support for windows system, update parent apache version from 29 to 31, set in log4j2 torque and turbine to debug by default, fix debugging address in socket debugging, add datetimeformatterservice to onfigured turbine services.

Posted by gk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gk pushed a commit to branch turbine-6-mariadb-10-java-11
in repository https://gitbox.apache.org/repos/asf/turbine-archetypes.git

commit 83d09ef2b291c4d1e1b64164b3b7f6b59a7aea43
Author: Georg Kallidis <gk...@apache.org>
AuthorDate: Mon Mar 25 18:24:12 2024 +0100

    Switch to mariadb using torque 5.2-SNAPSHOT,
    disable volume mapping of local m2rep0 (needed only for local snapshots), which podman up to now does not support for windows system,
    update parent apache version from 29 to 31,
    set in log4j2 torque and turbine to debug by default,
    fix debugging address in socket debugging,
    add datetimeformatterservice to onfigured turbine services.
---
 .project                                           | 11 +++
 pom.xml                                            |  7 +-
 .../META-INF/maven/archetype-metadata.xml          |  4 +-
 .../archetype-resources/docs/DOCKER-README.md      | 79 ++++++++++++++--------
 src/main/resources/archetype-resources/pom.xml     | 35 ++++++----
 .../src/main/docker-resources/db/Dockerfile        | 34 ++++++----
 .../src/main/docker-resources/db/mysql/conf/my.cnf |  5 +-
 .../src/main/docker-resources/docker-compose.yml   | 22 +++---
 .../src/main/webapp/WEB-INF/conf/Torque.properties |  2 +
 .../WEB-INF/conf/TurbineResources.properties       |  3 +
 .../src/main/webapp/WEB-INF/conf/log4j2.xml        |  4 +-
 .../src/main/webapp/WEB-INF/jetty-env.xml          | 11 ++-
 .../resources/projects/first/archetype.properties  |  2 +-
 13 files changed, 137 insertions(+), 82 deletions(-)

diff --git a/.project b/.project
index 0f4d664..0455a1b 100644
--- a/.project
+++ b/.project
@@ -14,4 +14,15 @@
 	<natures>
 		<nature>org.eclipse.m2e.core.maven2Nature</nature>
 	</natures>
+	<filteredResources>
+		<filter>
+			<id>1695806553350</id>
+			<name></name>
+			<type>30</type>
+			<matcher>
+				<id>org.eclipse.core.resources.regexFilterMatcher</id>
+				<arguments>node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__</arguments>
+			</matcher>
+		</filter>
+	</filteredResources>
 </projectDescription>
diff --git a/pom.xml b/pom.xml
index caad5fb..535b69d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -23,12 +23,13 @@
     <parent>
     <groupId>org.apache</groupId>
     <artifactId>apache</artifactId>
-    <version>29</version>
+    <version>31</version>
+    <relativePath/>
     <!-- like turbine parent -->
   </parent>
   <groupId>org.apache.turbine</groupId>
   <artifactId>turbine-webapp-6.0</artifactId>
-  <version>2.0.1-SNAPSHOT</version>
+  <version>3.0.0-SNAPSHOT</version>
   <packaging>maven-archetype</packaging>
 
   <name>Archetype - Turbine 6.0 WebApp</name>
@@ -110,7 +111,7 @@
               </property>
              </activation>
              <properties>
-                <turbine_database_url>jdbc:mysql://db:3306/</turbine_database_url>
+                <turbine_database_url>jdbc:mariadb://db:3306/</turbine_database_url>
                 <!-- to provide your locale maven repo, required if you need local snapshot builds -->
                 <app_volume_local_repo>${settings.localRepository}</app_volume_local_repo>
                 <docker>true</docker>
diff --git a/src/main/resources/META-INF/maven/archetype-metadata.xml b/src/main/resources/META-INF/maven/archetype-metadata.xml
index 0158c60..4799f96 100644
--- a/src/main/resources/META-INF/maven/archetype-metadata.xml
+++ b/src/main/resources/META-INF/maven/archetype-metadata.xml
@@ -40,10 +40,10 @@
       <defaultValue>jdbc/turbine</defaultValue>
     </requiredProperty>
     <requiredProperty key="turbine_database_driver">
-      <defaultValue>com.mysql.cj.jdbc.Driver</defaultValue>
+      <defaultValue>org.mariadb.jdbc.Driver</defaultValue>
     </requiredProperty>
     <requiredProperty key="turbine_database_url">
-      <defaultValue>jdbc:mysql://localhost:3306/</defaultValue>
+      <defaultValue>jdbc:mariadb://localhost:3306/</defaultValue>
     </requiredProperty>
     <requiredProperty key="turbine_database_timezone">
       <defaultValue>UTC</defaultValue>
diff --git a/src/main/resources/archetype-resources/docs/DOCKER-README.md b/src/main/resources/archetype-resources/docs/DOCKER-README.md
index f7a2566..1d4c825 100644
--- a/src/main/resources/archetype-resources/docs/DOCKER-README.md
+++ b/src/main/resources/archetype-resources/docs/DOCKER-README.md
@@ -32,7 +32,29 @@ If you have already generated this with mvn archetype:generate within the same h
 - Change into directory target/docker-resources and check the file docker-compose.yml, e.g. with
 
     cd <project>/target/docker-resources
-    docker compose config
+    docker compose config  
+    
+## Use Podman
+
+Use instead of Docker Podman (rootless), https://docs.podman.io/en/latest/. 
+
+Check podman and start machine
+
+    podman machine info
+    
+    podman machine start
+    
+Use podman-compose (after installing it with pip3 install podman-compose, see https://docs.podman.io/en/latest/markdown/podman-compose.1.html) instead of docker compose.    
+
+To unlock resources use
+    
+    podman machine stop
+    
+- Change into directory target/docker-resources and check the file docker-compose.yml, e.g. with
+
+    cd <project>/target/docker-resources
+    
+    podman-compose config
 
     
 Important: Check that  /m2repo is properly mapped to your local maven repository in docker-compose.yml!
@@ -48,18 +70,18 @@ If running from integrationtest, you find the docker files in integrationtest/ta
 
 - check, do a fresh build and start the services
 
-    docker compose config
-    docker compose ps
+    podman-compose config
+    podman-compose ps
     // optional docker compose down -v
-    docker compose build --no-cache
-    docker compose up --detach
+    podman-compose build --no-cache
+    podman-compose up --detach
     
 ** A first time build of the app service might take a couple of minutes. **    
     
 You might check the process with 
 
-    docker compose logs -f app
-    docker compose logs -f db
+    podman-compose logs -f app
+    podman-compose logs -f db
     
 The logs should show "mysqld: ready for connections" and "Started Jetty Server".
 
@@ -68,11 +90,8 @@ The logs should show "mysqld: ready for connections" and "Started Jetty Server".
  
 ### Troubleshooting Notes
 
-You may use the command *docker compose* or *docker-compose*, but will slightly different results.
-
 - Double check database service call in ** target/<projectname>/WEB-INF/jetty-env.xml**. It should reference the service name (db), not localhost - this was set when using the maven docker profile.
 
-
 ```xml
 <Set name="url">jdbc:mysql://db:3306/turbine</Set>
 ```
@@ -88,12 +107,11 @@ Check the mysql uid/gid with
 
 If previously build, you may want to delete all volumes (this will delete all tables in /var/lib/mysql monted in volume db_data_<project>) and containers
 
-    docker-compose down -v
+    podman-compose down -v
    
-
 - Build it
 
-    docker-compose build --no-cache
+    podman-compose build --no-cache
 
  .. optionally build it separately
     docker-compose build --no-cache --build-arg DB_CONTEXT=./docker-resources/db db
@@ -106,16 +124,20 @@ to test it.  CAVEAT: The db service is build and populated until now with hard c
 It is a dependency for the service app (see app/Dockerfile).
 
 
+Clean images
+
+    podman system prune
+
 #### Starting Services Details
 
 Start both services in one step (add -d for detached mode)
 
-    docker-compose up
+    podman-compose up
    
 .. or doing it in background, requires second start command
 
-    docker-compose up -d
-    docker-compose start
+    podman-compose up -d
+    podman-compose start
 
 This will start first the db service, then the app service. Jetty is run exposing the webapp to **http://localhost:8081/app**.
 By default remote debugging is activated (port 9000), which could be removed/commented in docker-compose.yml.
@@ -129,7 +151,7 @@ You could follow the logs with docker-compose logs -f app or docker-compose logs
 - Optionally Check system or cleanup, e.g. with docker-compose down, docker-compose down -v or docker sytem prune (removes any container on system).
 
 - If services are already installed, activate/start by 
-    docker-compose up
+    podman-compose up
     
  Example Logs:
   
@@ -160,9 +182,9 @@ You could follow the logs with docker-compose logs -f app or docker-compose logs
     [main] INFO | org.apache.torque.generator.control.Controller - readConfiguration() : Starting to read configuration files
 
 - Starting the app service will build the app and start jetty with Maven on port 8081. 
-This command is set as a **command** in the app service in docker compose. 
+This command is set as a **command** in the app service in docker-compose.yml. 
 
-Currently the docker-compose is generated once more, if starting the containers, this will overwrite m2repo and may result in errors.
+Currently the docker-compose.yml is generated once more, if starting the containers, this will overwrite m2repo and may result in errors.
 
 If not yet done, build on the host with mvn clean install -f ../pom.xml -Pdocker.
 
@@ -199,11 +221,11 @@ you may activate it by calling in the root of the container in the shell (e.g. w
 If running tests inside container, URL setting in TorqueTest.properties should be:
 
     torque.dsfactory.turbine.connection.url = 
-    jdbc:mysql://db:3306/turbine?serverTimeZone=UTC
+    jdbc:mysql://db:3306/turbine?useSSL=false
     
 Then run in target/docker-resources a docker compose run command:
 
-    docker compose run --rm app /bin/sh 
+    podman-compose run --rm app /bin/sh 
     #mvn test -DskipTests=false    
     
 Of course, if running inside the container, you should exit and you might have to restart the app service.
@@ -225,9 +247,8 @@ Run in project root
 ## Debugging Services: Db, App
 
 ### Db Service 
-
  
-    docker-compose run --rm db /bin/bash 
+    podman-compose run --rm db /bin/bash 
 
 Extract data in db service
 
@@ -242,7 +263,7 @@ Extract data in db service
 
 This will start app (and db as app depends on db):
 
-    docker-compose run app /bin/sh 
+    podman-compose run app /bin/sh 
 
 In the container, check:
 
@@ -288,7 +309,11 @@ If you want to run from Dockerfile ..
 
 #### Resetting / Preparation (optional)
 
-    docker-compose rm -v
+    podman rm -v
+    
+If volumne could not be deleted, because it is used by container  <cid>, run
+
+    podman rm <cid>
 
 #### Delete all images
 
@@ -306,8 +331,8 @@ If you want to run from Dockerfile ..
   # or delete while building
   docker build --rm
   
-  # cleans all containers
-  docker system prune
+  # cleans all unused images
+  podman system prune
   
   # stops all running containers  
   docker stop $(docker ps -a -q)
diff --git a/src/main/resources/archetype-resources/pom.xml b/src/main/resources/archetype-resources/pom.xml
index 69c353d..efcb120 100644
--- a/src/main/resources/archetype-resources/pom.xml
+++ b/src/main/resources/archetype-resources/pom.xml
@@ -222,10 +222,10 @@ under the License.
           <configuration>
             <!-- Please update with your database configuration -->
             <driver>${turbine_database_driver}</driver>
-
             <!--  The serverTimezone parameter is required for MySQL.
             	You may need to remove it for other databases -->
-            <url>#var("turbine_database_url")#var("turbine_database_name")?serverTimezone=${turbine_database_timezone}&amp;useSSL=false&amp;verifyServerCertificate=false&amp;requireSSL=false</url>
+            <!-- url>#var("turbine_database_url")#var("turbine_database_name")?serverTimezone=${turbine_database_timezone}&amp;useSSL=false&amp;verifyServerCertificate=false&amp;requireSSL=false</url-->
+            <url>#var("turbine_database_url")#var("turbine_database_name")?useSSL=false</url>
             <username>${turbine_database_user}</username>
             <password>${turbine_database_password}</password>
             <onError>continue</onError>
@@ -297,6 +297,11 @@ under the License.
         <artifactId>javax.servlet-api</artifactId>
         <version>3.1.0</version>
         <scope>provided</scope>
+      </dependency>
+       <dependency>
+          <groupId>org.apache.torque</groupId>
+          <artifactId>torque-runtime</artifactId>   
+        <version>${torque.version}</version>
       </dependency>
       <dependency>
           <groupId>org.apache.turbine</groupId>
@@ -396,28 +401,33 @@ under the License.
         <maven.compile.source>11</maven.compile.source>
         <maven.compile.target>11</maven.compile.target>
         <project.build.sourceEncoding>utf-8</project.build.sourceEncoding>
-        <log4j2.version>2.20.0</log4j2.version>
+        <log4j2.version>2.22.0</log4j2.version>
         <mysql.version>8.0.33</mysql.version>
         <mariadb.version>3.2.0</mariadb.version><!-- v3 requries java 11 and adapter name mariab instead of mysql -->
         <driverClassName>${turbine_database_driver}</driverClassName>
-        <fulcrum.json>2.0.2-SNAPSHOT</fulcrum.json>
-        <fulcrum.intake>3.0.1-SNAPSHOT</fulcrum.intake>
-        <fulcrum.security>2.1.1-SNAPSHOT</fulcrum.security>
-        <fulcrum.yaafi>2.0.1-SNAPSHOT</fulcrum.yaafi>
+        <fulcrum.json>2.0.1</fulcrum.json>
+        <fulcrum.intake>3.0.0</fulcrum.intake>
+        <fulcrum.security>3.0.0</fulcrum.security>
+        <fulcrum.yaafi>2.0.0</fulcrum.yaafi>
         <fulcrum.cache>2.0.0</fulcrum.cache>
         <fulcrum.testcontainer>2.0.0</fulcrum.testcontainer>
         <torque.version>5.2-SNAPSHOT</torque.version>
-        <turbine.core>5.2-SNAPSHOT</turbine.core>     
+        <turbine.core>6.0</turbine.core>     
         <skipTests>true</skipTests>
         <docker>false</docker>
         <turbine_database_url>${turbine_database_url}</turbine_database_url>
         <turbine_database_name>${turbine_database_name}</turbine_database_name>
         <app_volume_local_repo>NOT_USED</app_volume_local_repo>
+        <!-- currently only mariadb is supported -->
+        <database_type>mariadb</database_type>
     </properties>
     
     <profiles>
         <profile>
             <id>mariadb</id>
+            <activation>
+                <activeByDefault>true</activeByDefault>
+            </activation>
             <properties>
                 <driverClassName>org.mariadb.jdbc.Driver</driverClassName>
                 <turbine_database_url>jdbc:mariadb://localhost:3306/</turbine_database_url>
@@ -451,11 +461,11 @@ under the License.
         </profile>
         <profile>
             <id>mysql</id>
-            <activation>
+            <!--activation>
                 <activeByDefault>true</activeByDefault>
-            </activation>
+            </activation-->
             <properties>
-                <driverClassName>${turbine_database_driver}</driverClassName>
+                <driverClassName>com.mysql.cj.jdbc.Driver</driverClassName>
                 <turbine_database_url>jdbc:mysql://localhost:3306/</turbine_database_url>
             </properties>
             <dependencies>
@@ -549,8 +559,7 @@ under the License.
                  </plugins>
               </build>
             <properties>
-                <!-- hard code docker compose service id and port by default -->
-                <turbine_database_url>jdbc:mysql://db:3306/</turbine_database_url>
+                <turbine_database_url>${turbine_database_url}</turbine_database_url>
                 <!-- read from #var("settings.localRepository") to provide e.g. local snapshot builds -->
                 <app_volume_local_repo>${settings.localRepository}</app_volume_local_repo>
                 <docker>true</docker>
diff --git a/src/main/resources/archetype-resources/src/main/docker-resources/db/Dockerfile b/src/main/resources/archetype-resources/src/main/docker-resources/db/Dockerfile
index 505c179..c8452dd 100644
--- a/src/main/resources/archetype-resources/src/main/docker-resources/db/Dockerfile
+++ b/src/main/resources/archetype-resources/src/main/docker-resources/db/Dockerfile
@@ -1,5 +1,5 @@
 # mariadb uses docker-entrypoint
-FROM mariadb:10.10 
+FROM mariadb:10.11 
 
 # That file does the DB initialization but also runs mysql daemon, by removing the last line it will only init
 #RUN ["/bin/sed", "-i", "s/exec \"$@\"/echo \"not running $@\"/", "/usr/local/bin/docker-entrypoint.sh"]
@@ -10,27 +10,33 @@ FROM mariadb:10.10
 # docker run <image> /usr/sbin/mysqld --verbose --help | grep -A 1 "Default options"
 
 ARG DB_CONTEXT
-ARG MYSQL_ROOT
-ARG MYSQL_ROOT_PASSWORD
-ARG MYSQL_DATABASE
-ARG MYSQL_USER
-ARG MYSQL_PASSWORD
+ARG MARIADB_ROOT
+ARG MARIADB_ROOT_PASSWORD
+ARG MARIADB_DATABASE
+ARG MARIADB_USER
+ARG MARIADB_PASSWORD
 
 # required, to create
 ENV DB_CONTEXT ${DB_CONTEXT}
-ENV MYSQL_ROOT=${MYSQL_ROOT}
-ENV MYSQL_ROOT_PASSWORD=${MYSQL_ROOT_PASSWORD}
+ENV MARIADB_ROOT=${MARIADB_ROOT}
+ENV MARIADB_ROOT_PASSWORD=${MARIADB_ROOT_PASSWORD}
 
-ENV MYSQL_DATABASE=${MYSQL_DATABASE}
-ENV MYSQL_USER=${MYSQL_USER}
-ENV MYSQL_PASSWORD=${MYSQL_PASSWORD}
+ENV MARIADB_DATABASE=${MARIADB_DATABASE}
+ENV MARIADB_USER=${MARIADB_USER}
+ENV MARIADB_PASSWORD=${MARIADB_PASSWORD}
+
+# mysql user is used by mariadb to write to docker 
+# RUN chown mysql:mysql /docker-entrypoint-initdb.d
+
+COPY --chmod=600 ${DB_CONTEXT}/mysql/conf/ /etc/mysql/conf.d
+
+USER mysql
 
 COPY generated-sql/torque/mysql /generated-sql-init
 # dependent sql should be name sorted after init.sql
 # add what you need, avoid duplicate keys
-RUN cat /generated-sql-init/*.sql > /docker-entrypoint-initdb.d/init.sql
+RUN cat /generated-sql-init/*.sql > /docker-entrypoint-initdb.d/1_data.sql
 
 COPY data/sample-mysql-data /generated-sql-post-init
-RUN cat /generated-sql-post-init/*.sql > /docker-entrypoint-initdb.d/post_init.sql
+RUN cat /generated-sql-post-init/*.sql > /docker-entrypoint-initdb.d/2_data.sql
 
-COPY ${DB_CONTEXT}/mysql/conf/ /etc/mysql/conf.d
diff --git a/src/main/resources/archetype-resources/src/main/docker-resources/db/mysql/conf/my.cnf b/src/main/resources/archetype-resources/src/main/docker-resources/db/mysql/conf/my.cnf
index 74dc782..22d23a8 100644
--- a/src/main/resources/archetype-resources/src/main/docker-resources/db/mysql/conf/my.cnf
+++ b/src/main/resources/archetype-resources/src/main/docker-resources/db/mysql/conf/my.cnf
@@ -30,9 +30,10 @@ collation_server=utf8mb4_unicode_ci
 
 default-character-set=utf8mb4
 
-tee=/mysql/log/log.out
-
 [mysqld_safe]
 
 nice            = 0
 
+[mariadb]
+
+log_error = /var/log/mysql/error.log
diff --git a/src/main/resources/archetype-resources/src/main/docker-resources/docker-compose.yml b/src/main/resources/archetype-resources/src/main/docker-resources/docker-compose.yml
index 254b413..686e17e 100644
--- a/src/main/resources/archetype-resources/src/main/docker-resources/docker-compose.yml
+++ b/src/main/resources/archetype-resources/src/main/docker-resources/docker-compose.yml
@@ -7,12 +7,12 @@ services:
     build:
         context: ../
         dockerfile: ./docker-resources/app/Dockerfile
-    # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=9000,server=y,suspend=y, if remote debugging app is required
+    # set MAVEN_OPTS=-Xdebug -Xrunjdwp:transport=dt_socket,address=0.0.0.0:9000,server=y,suspend=y, if remote debugging app is required
     environment:
       - MAVEN_OPTS=
     
     # this runs the app server in the container, be sure not to filter resources once again!
-    command: mvn -Pjetty
+    command: mvn -Pjetty,mariadb
     ports:
       - "8081:8081"
       # remote debugging port, uncomment if not needed
@@ -28,8 +28,8 @@ services:
     volumes:
       # project root with pom.xml and src folder
       - ../../:/myapp
-      # or use local app/settings.xml
-      - '#var("app_volume_local_repo"):/m2repo'
+      # if you need locale snapshots or use local app/settings.xml
+      # - '#var("app_volume_local_repo"):/m2repo'
 
   db:
       # set the build context 
@@ -38,20 +38,20 @@ services:
       dockerfile: ./docker-resources/db/Dockerfile
       args:
         DB_CONTEXT: ./docker-resources/db
-        MYSQL_ROOT: root
-        MYSQL_ROOT_PASSWORD: changeit
-        MYSQL_DATABASE: ${turbine_database_name}
-        MYSQL_USER: ${turbine_database_user}
-        MYSQL_PASSWORD: ${turbine_database_password}
+        MARIADB_ROOT: root
+        MARIADB_ROOT_PASSWORD: changeit
+        MARIADB_DATABASE: ${turbine_database_name}
+        MARIADB_USER: ${turbine_database_user}
+        MARIADB_PASSWORD: ${turbine_database_password}
         
     # no environment needed here, only if using image in this file
       
     volumes:
-      - ./db/mysql/init:/docker-entrypoint-initdb.d
+      # - ./db/mysql/init:/docker-entrypoint-initdb.d
       # may activate on *nix
       #- ./db/mysql/conf:/etc/mysql/conf.d
       - ./db/mysql/data:/data
-      #- ./db/mysql/log:/mysql/log
+      #- ./db/mysql/log:/var/log/mysql
       - db_data_${turbine_database_name}:/var/lib/mysql:rw  
     restart: always     
     ports:
diff --git a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/Torque.properties b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/Torque.properties
index 8336182..efd9bf2 100644
--- a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/Torque.properties
+++ b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/Torque.properties
@@ -45,6 +45,8 @@ torque.dsfactory.${turbine_database_name}.factory=org.apache.torque.dsfactory.Jn
 torque.dsfactory.${turbine_database_name}.jndi.path=java:comp/env/${turbine_database_jndipath}
 torque.dsfactory.${turbine_database_name}.jndi.ttl=300000
 
+#torque.dsfactory.${turbine_database_name}.factory=org.apache.torque.dsfactory.SharedPool2DataSourceFactory
+
 # -------------------------------------------------------------------
 #
 # Shared Pool Data Source Factory
diff --git a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
index 907ef29..4026cb9 100644
--- a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
+++ b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/TurbineResources.properties
@@ -361,6 +361,9 @@ services.VelocityService.classname=org.apache.turbine.services.velocity.TurbineV
 services.JsonRpcService.classname=org.apache.turbine.services.jsonrpc.TurbineJsonRpcService
 services.SchedulerService.classname=org.apache.turbine.services.schedule.QuartzSchedulerService
 
+services.DateTimeFormatterService.classname= org.apache.turbine.services.localization.DateTimeFormatterService
+services.DateTimeFormatterService.earlyInit=true
+
 # -------------------------------------------------------------------
 #
 #  R U N   D A T A   S E R V I C E
diff --git a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/log4j2.xml b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/log4j2.xml
index 138ce82..903afac 100644
--- a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/log4j2.xml
+++ b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/conf/log4j2.xml
@@ -59,14 +59,14 @@
       <Logger name="avalon" additivity="false" level="DEBUG">
           <AppenderRef ref="avalon"/>
       </Logger>
-      <Logger name="org.apache.torque" additivity="false" level="INFO">
+      <Logger name="org.apache.torque" additivity="false" level="DEBUG">
           <AppenderRef ref="torque"/>
       </Logger>
        <Logger name="org.apache.torque.util" additivity="false" level="DEBUG">
           <AppenderRef ref="sql"/>
           <AppenderRef ref="console"/>
       </Logger>
-      <Logger name="org.apache.turbine" additivity="false" level="INFO">
+      <Logger name="org.apache.turbine" additivity="false" level="DEBUG">
           <AppenderRef ref="turbine"/>
       </Logger>
       <Logger name="scheduler" additivity="false" level="INFO">
diff --git a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env.xml b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env.xml
index f250732..ca1de0e 100644
--- a/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env.xml
+++ b/src/main/resources/archetype-resources/src/main/webapp/WEB-INF/jetty-env.xml
@@ -3,13 +3,10 @@
     <Arg></Arg> <!-- reference to WebAppContext requires jetty 9.x only  -->
     <Arg>${turbine_database_jndipath}</Arg>
     <Arg>
-        <New class="org.apache.commons.dbcp.BasicDataSource">
-           <Set name="driverClassName">${turbine_database_driver}</Set>
-             <Set name="url">#var('turbine_database_url')${turbine_database_name}</Set>
-            <Set name="username">${turbine_database_user}</Set>
-            <Set name="password">${turbine_database_password}</Set>
-            <Set name="connectionProperties">serverTimezone=${turbine_database_timezone};useUnicode=true;characterEncoding=utf8;useSSL=false;allowPublicKeyRetrieval=true</Set>
-            <Set name="validationQuery">SELECT 1</Set>          
+         <New class="org.mariadb.jdbc.MariaDbDataSource">
+             <Set name="url">${turbine_database_url}${turbine_database_name}</Set>
+            <Set name="user">${turbine_database_user}</Set>
+            <Set name="password">${turbine_database_password}</Set>          
         </New>
     </Arg>
   </New>
diff --git a/src/test/resources/projects/first/archetype.properties b/src/test/resources/projects/first/archetype.properties
index a6065d1..826f172 100644
--- a/src/test/resources/projects/first/archetype.properties
+++ b/src/test/resources/projects/first/archetype.properties
@@ -7,7 +7,7 @@ turbine_intake_file=intake.xml
 turbine_database_name=turbine
 turbine_database_adapter=auto
 turbine_database_jndipath=jdbc/turbine
-turbine_database_driver=com.mysql.cj.jdbc.Driver
+turbine_database_driver=org.mariadb.jdbc.Driver
 turbine_database_timezone=UTC
 turbine_database_url=${turbine_database_url}
 turbine_database_user=db_user


(turbine-archetypes) 02/03: Update changes.xml

Posted by gk...@apache.org.
This is an automated email from the ASF dual-hosted git repository.

gk pushed a commit to branch turbine-6-mariadb-10-java-11
in repository https://gitbox.apache.org/repos/asf/turbine-archetypes.git

commit ac627dcd916927a371da61ad25d2da81c7b74261
Author: Georg Kallidis <gk...@apache.org>
AuthorDate: Mon Mar 25 18:21:21 2024 +0100

    Update changes.xml
---
 src/changes/changes.xml | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/changes/changes.xml b/src/changes/changes.xml
index 5f8f45c..9c459f9 100644
--- a/src/changes/changes.xml
+++ b/src/changes/changes.xml
@@ -24,7 +24,12 @@
   </properties>
 
   <body>
-   <release version="turbine-webapp-5.2-2.0.1-SNAPSHOT" date="in Gitbox">
+   <release version="turbine-webapp-6.0-3.0.0-SNAPSHOT" date="in Gitbox">
+    <action type="update" dev="gk">
+        Add new default service to TR.properties:
+        <p>services.DateTimeFormatterService.classname= org.apache.turbine.services.localization.DateTimeFormatterService</p>
+        <p>services.DateTimeFormatterService.earlyInit=true  </p>
+      </action>
     </release>   
     <release version="turbine-webapp-5.1-2.0.0" date="2022-09-09">
        <action type="update" dev="gk">