~/talk

Splitting component containers to simplify dependencies

Talkat Spring I/O 2017 · 2017-05-18..05-19· [software-architecture]
slides:none on file

Monolithic Spring app with ~1.1K beans gets split into independent sub-contexts so each plugin has its own AnnotationConfigApplicationContext (parented to core), exports selected beans via a @Bean factory method to the core, and isolates implementation beans. Practical pitfalls covered: initialize plugin context fields before refresh to avoid NPEs, never cache queried extensions, use thread context classloader when libraries reflect, and solve jar-hell by loading plugins with a per-plugin classloader (parent-first or child-first URLClassLoader depending on needs).

AI-written summary · about

  1. 0:00Start
  2. 1:08Spring Components Diagram
  3. 1:53Typical Application
  4. 2:58Problems
  5. 5:13Component Containers
  6. 7:40Spring for Plugin?
  7. 14:08Extensions
  8. 14:40Tricks: Documentation
  9. 15:42Extension Registration
  10. 26:27Use Bean Factory
  11. 36:49Dependencies (JAR) Hell
  12. 41:15Classloader Strategies
  13. 47:00Practice
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.