Skip to content

docs: rewrite IMPLEMENTING_JRES.md for BaseJRE pattern#1339

Open
stokpop wants to merge 4 commits into
cloudfoundry:mainfrom
stokpop:docs/implementing-jres-basejre
Open

docs: rewrite IMPLEMENTING_JRES.md for BaseJRE pattern#1339
stokpop wants to merge 4 commits into
cloudfoundry:mainfrom
stokpop:docs/implementing-jres-basejre

Conversation

@stokpop

@stokpop stokpop commented Jun 29, 2026

Copy link
Copy Markdown
Contributor

Summary

What changed

  • Removed: manual boilerplate implementation guides (OpenJDK/Zulu/IBM step-by-step with full code listings), redundant "Best Practices" and "Common Patterns" sections (now handled by BaseJRE automatically)
  • Added: BaseJRE variation points table, 3-step implementation guide, lean examples for standard/exact-dir/error-hint patterns
  • Updated: Java 21 in all examples; memory calculator config now shows JBP_CONFIG_<JRE>_JRE as preferred (covers stack_threads, class_count, headroom) with a note that MEMORY_CALCULATOR_* env vars override but don't cover class_count
  • Kept lean: helper function reference table, memory calculator runtime output, JVMKill + heap dump volume service, troubleshooting section, summary, See Also cross-references

Related

Follows #1288 (BaseJRE refactor that this doc now describes)

Please review if complete or must be extended.

stokpop added 4 commits June 26, 2026 14:59
PR cloudfoundry#1288 refactored all standard JREs to embed BaseJRE (14 lines each),
but the guide still showed the old 100+ line manual implementation with
explicit Supply()/Finalize() boilerplate.

Rewrite to document the actual pattern: newBaseJRE() + optional
extraFinalizeOpts. Removes sections on manual memory calculator and
JVMKill integration (now internal to BaseJRE). Adds variation-point
table and examples for all three patterns (standard, exact-dir, error-hint).
…ooting

Rebalances the IMPLEMENTING_JRES.md rewrite — adds back lean sections for:
- Helper function reference table (GetJREVersion, WriteJavaOpts, etc.)
- profile.d script output example
- Memory calculator: runtime output and user customization env vars
- JVMKill: purpose, heap dump / volume service binding
- Troubleshooting: JAVA_HOME, memory calculator, version resolution
- Use Java 21 in version examples and profile.d output
- Prefer JBP_CONFIG_<JRE>_JRE for memory calculator config (covers stack_threads, class_count, headroom)
- Note MEMORY_CALCULATOR_* env vars take precedence but don't cover class_count
- Add stack_threads/class_count/headroom descriptions
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant