Lukasz Lenart
0a8b111e36
WW-5537 fix(core): resolve classloader/memory leaks during Tomcat hot deployment ( #1631 )
...
* WW-5537 fix(core): resolve classloader/memory leaks during Tomcat hot deployment
Introduce InternalDestroyable interface with container-based discovery to
clean up static caches, daemon threads, and shared references that pin the
webapp classloader after undeploy. This prevents OutOfMemoryError (Metaspace)
on repeated hot deployments.
Changes:
- Add InternalDestroyable/ContextAwareDestroyable interfaces for cleanup hooks
- Clear OGNL, Component, ScopeInterceptor, DefaultFileManager static caches
- Stop FinalizableReferenceQueue daemon thread and null its classloader
- Clear FreeMarker template/introspection caches from ServletContext
- Replace ContainerHolder ThreadLocal with volatile to prevent thread-pool leaks
- Clear static dispatcherListeners list on Dispatcher cleanup
- Add JSONCacheDestroyable for json plugin cache cleanup
- Register all destroyables via struts-beans.xml / struts-plugin.xml
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* WW-5537 chore(showcase): add log4j-web for proper Log4j2 lifecycle in Servlet container
Without log4j-web, Log4j2 SoftReferences delay classloader GC after undeploy.
The log4j-web module provides Log4jServletContextListener which ensures proper
Log4j2 shutdown during ServletContext destruction.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
* WW-5537 fix(core): use ThreadLocal with generation counter in ContainerHolder
Replace the volatile shared reference with a ThreadLocal backed by a volatile
generation counter. Per-request clear() only affects the current thread (safe
for concurrent requests and tests). On undeploy, invalidateAll() advances the
generation counter so idle pool threads detect staleness on next access and
self-clear, preventing classloader leaks without breaking test isolation.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com >
---------
Co-authored-by: Claude Opus 4.6 <noreply@anthropic.com >
2026-03-29 07:17:44 +02:00
Lukasz Lenart
edd604a9c5
Sets a proper SNAPSHOT version before next release ( #1615 )
2026-03-09 10:24:37 +01:00
dependabot[bot]
66e02ba621
build(deps-dev): bump org.apache.maven.plugins:maven-failsafe-plugin ( #1601 )
...
Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire ) from 3.5.4 to 3.5.5.
- [Release notes](https://github.com/apache/maven-surefire/releases )
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.4...surefire-3.5.5 )
---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
dependency-version: 3.5.5
dependency-type: direct:development
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2026-02-25 09:00:20 +01:00
dependabot[bot]
730d553664
Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.5.1 to 3.5.4
...
Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire ) from 3.5.1 to 3.5.4.
- [Release notes](https://github.com/apache/maven-surefire/releases )
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.5.1...surefire-3.5.4 )
---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
dependency-version: 3.5.4
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2025-09-22 01:36:06 +00:00
Lukasz Lenart
34e279e6d7
[maven-release-plugin] prepare for next development iteration
2025-09-15 07:46:27 +02:00
Lukasz Lenart
80225c7169
[maven-release-plugin] prepare release STRUTS_6_8_0
2025-09-15 07:46:18 +02:00
Lukasz Lenart
ca4e07cead
[maven-release-plugin] prepare for next development iteration
2025-02-20 13:20:56 +01:00
Lukasz Lenart
8fb9aba74b
[maven-release-plugin] prepare release STRUTS_6_7_4
2025-02-20 13:20:46 +01:00
Lukasz Lenart
87e322dbe2
[maven-release-plugin] prepare for next development iteration
2025-02-17 11:34:19 +01:00
Lukasz Lenart
7909f43237
[maven-release-plugin] prepare release STRUTS_6_7_3
2025-02-17 11:34:11 +01:00
Lukasz Lenart
7a77c7a82c
[maven-release-plugin] prepare for next development iteration
2025-02-04 07:39:44 +01:00
Lukasz Lenart
5038a9209f
[maven-release-plugin] prepare release STRUTS_6_7_2
2025-02-04 07:39:35 +01:00
Lukasz Lenart
07603b9591
[maven-release-plugin] prepare for next development iteration
2025-02-02 10:16:30 +01:00
Lukasz Lenart
3227d5929a
[maven-release-plugin] prepare release STRUTS_6_7_1
2025-02-02 10:16:20 +01:00
Lukasz Lenart
6de93e77db
Defines proper snapshot version
2025-01-24 07:58:39 +01:00
Lukasz Lenart
60a3db0a63
Sets version to 6.7.1-SNAPSHOT to prepare for another development cycle
2024-12-18 14:43:29 +01:00
Lukasz Lenart
1f5305c249
[maven-release-plugin] prepare release STRUTS_6_7_0
2024-11-17 10:57:09 +01:00
Kusal Kithul-Godage
7cdcd84b83
Merge pull request #1072 from apache/fix/WW-5468-modeldriven-2
...
WW-5468 Exempt ModelDriven Actions from @StrutsParameter requirement
2024-11-01 19:17:21 +11:00
dependabot[bot]
cf6cbf3816
Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.3.1 to 3.5.1
...
Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire ) from 3.3.1 to 3.5.1.
- [Release notes](https://github.com/apache/maven-surefire/releases )
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.1...surefire-3.5.1 )
---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-10-21 01:48:11 +00:00
Lukasz Lenart
d33be1d43c
[maven-release-plugin] prepare for next development iteration
2024-10-05 16:08:38 +02:00
Lukasz Lenart
c812450292
[maven-release-plugin] prepare release STRUTS_6_6_1
2024-10-05 16:08:26 +02:00
Lukasz Lenart
735d1bc88d
WW-5461 Extends UploadedFile with inputName field
2024-09-03 07:40:17 +02:00
dependabot[bot]
dc03a83f61
Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.3.0 to 3.3.1
...
Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire ) from 3.3.0 to 3.3.1.
- [Release notes](https://github.com/apache/maven-surefire/releases )
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.3.0...surefire-3.3.1 )
---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
dependency-type: direct:production
update-type: version-update:semver-patch
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-08-12 01:45:57 +00:00
Lukasz Lenart
f977f0c0e5
[maven-release-plugin] prepare for next development iteration
2024-07-20 08:28:46 +02:00
Lukasz Lenart
d6e30b45da
[maven-release-plugin] prepare release STRUTS_6_6_0
2024-07-20 08:28:35 +02:00
Kusal Kithul-Godage
27e4d0d47a
WW-5440 Fix inconsistent indenting
2024-07-14 00:34:06 +10:00
Kusal Kithul-Godage
cb62cb4e9a
WW-5440 Fix OGNL allowlist compat with Convention plugin
2024-07-14 00:34:06 +10:00
Kusal Kithul-Godage
8b4c188d0f
WW-5440 Fix Showcase App allowlist configuration
2024-07-13 21:57:26 +10:00
Kusal Kithul-Godage
f9953938f7
WW-5440 Add missing annotations
2024-07-13 21:57:26 +10:00
Kusal Kithul-Godage
10edbce8d9
WW-5440 Fix MultipleFileUploadUsingArrayAction
2024-07-13 21:22:21 +10:00
Lukasz Lenart
54e387dc6f
[maven-release-plugin] prepare for next development iteration
2024-07-12 07:27:19 +02:00
Lukasz Lenart
dbfb59cb7c
[maven-release-plugin] prepare release STRUTS_6_5_0
2024-07-12 07:27:08 +02:00
dependabot[bot]
40ab7a776a
Bump org.apache.maven.plugins:maven-failsafe-plugin from 3.2.5 to 3.3.0
...
Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire ) from 3.2.5 to 3.3.0.
- [Release notes](https://github.com/apache/maven-surefire/releases )
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.2.5...surefire-3.3.0 )
---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-07-01 01:20:28 +00:00
dependabot[bot]
ac409d6cba
Bump org.apache.maven.plugins:maven-failsafe-plugin
...
Bumps [org.apache.maven.plugins:maven-failsafe-plugin](https://github.com/apache/maven-surefire ) from 3.0.0-M6 to 3.2.5.
- [Release notes](https://github.com/apache/maven-surefire/releases )
- [Commits](https://github.com/apache/maven-surefire/compare/surefire-3.0.0-M6...surefire-3.2.5 )
---
updated-dependencies:
- dependency-name: org.apache.maven.plugins:maven-failsafe-plugin
dependency-type: direct:production
update-type: version-update:semver-minor
...
Signed-off-by: dependabot[bot] <support@github.com >
2024-04-08 01:20:48 +00:00
Lukasz Lenart
c6d13f1016
[maven-release-plugin] prepare for next development iteration
2024-04-07 11:22:16 +02:00
Lukasz Lenart
9c5c80d173
[maven-release-plugin] prepare release STRUTS_6_4_0
2024-04-07 11:22:06 +02:00
Lukasz Lenart
a6d6d918fa
Reverts release and fixes issue with assembly
2024-04-07 11:14:44 +02:00
Lukasz Lenart
5e8b81b382
[maven-release-plugin] prepare for next development iteration
2024-04-07 08:13:17 +02:00
Lukasz Lenart
f8381fbdbf
[maven-release-plugin] prepare release STRUTS_6_4_0
2024-04-07 08:13:07 +02:00
Lukasz Lenart
db0bd43855
Converts multiple file uploads example to use Action based upload
2024-03-17 17:45:32 +01:00
Kusal Kithul-Godage
b50616942b
WW-5352 Acceptance test coverage
2024-01-18 19:54:54 +11:00
Kusal Kithul-Godage
6df80041e3
WW-5352 Auto allowlist parameterized types!
2024-01-09 20:54:15 +11:00
Kusal Kithul-Godage
0a71e2c3b9
WW-5352 Implement auto-allowlisting for Iterator component
2024-01-09 20:23:44 +11:00
Kusal Kithul-Godage
a57c2882e7
WW-5352 Reinstate manual allowlist for generic types
2024-01-09 18:42:15 +11:00
Kusal Kithul-Godage
4c60f39c7a
WW-5352 Enable annotations for showcase
2024-01-09 17:21:21 +11:00
Lukasz Lenart
94dd7a5267
WW-5362 Removes type attribute out of <s:script/> tag
2023-12-17 16:40:22 +01:00
Lukasz Lenart
3ce3f82646
WW-5371 Simplifies file upload logic and extracts constants
2023-12-11 08:55:20 +01:00
Lukasz Lenart
dc4103bcb5
WW-5371 Uses the new upload mechanism in Showcase app
2023-12-11 07:56:38 +01:00
Kusal Kithul-Godage
d7df9ce998
WW-5364 Replace some allowlist classes with packages
2023-11-24 22:41:23 +11:00
Kusal Kithul-Godage
39c3e332d7
WW-5364 Add Struts components to allowlist
2023-11-24 22:41:23 +11:00