Going to Present "Programmer's Survival Kit: Code Injection for Troubleshooting" at JavaZone 2011

I'm going to hold a lightning talk called Programmer's Survival Kit: Code Injection for Troubleshooting at JavaZone in Oslo in September. This presentation is aimed at giving the participants the knowledge of code injection that they may (or I should rather say "will") need and at persuading them that learning basics of code injection is really worth the little of the time that it takes. I'll present three different real-world cases where code injection came to my rescue, solving each one with a different tool, fitting best the constraints at hand. I'll also provide them with resources to learn the basics and tools easily and quickly. This will be a practical presentation; I won't introduce AOP and will explain code injection only briefly, plunging right into the tools and how they can help developers.


  • Why every developer should know the basics of code injection - its irreplaceable role in troubleshooting
  • The power of code injection - what are the unique benefits of code injection
  • 3 tools, 2 (3) examples - I'll introduce three rather different tools with different areas of application on practical, real-world examples
  • 1. The omnipresent Java Proxy - pros & cons, example of troubleshooting one failed batch update among many
  • 2. The independent Javassist - pros & cons (example not presented but available online - performance monitoring)
  • 3. The almighty AspectJ - pros & cons, example of forcing a 3rd party method to log its arguments upon failure
  • End - link to a blog post with much broader and deeper explanation of the topic and expanded source codes of the examples including support for building and running them

Expected Audience

Any, especially enterprise, Java developers that either know nothing about code injection/AOP, or know the concepts but not how to apply them or know a code injection tool and want to learn about others and how to use them for troubleshooting.

Hope to see you there!

Tags: java

Copyright © 2024 Jakub Holý
Powered by Cryogen
Theme by KingMob