$30 off During Our Annual Pro Sale. View Details »

Debug and Maintain Your Spring Boot Apps

Debug and Maintain Your Spring Boot Apps

So you have decided to build an application using Spring Boot? Sooner or later, something will go wrong. It does not matter how experienced we are. How will Spring Boot help us figure out what went wrong and fix things? This talk introduces lots of tools to help us debug and manage "bootiful" apps. You will learn how to use Boot's autoconfiguration report, override Boot's settings & beans, create custom metrics/health checks/app info, and create custom JMX info & custom CRaSH commands.

Code at https://github.com/gregturn/debug-your-spring-boot-app

Greg Turnquist

May 28, 2015
Tweet

More Decks by Greg Turnquist

Other Decks in Technology

Transcript

  1. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Debug and Maintain Your
    Spring Boot App
    Greg Turnquist
    @gregturn
    [email protected]
    github.com/gregturn

    View Slide

  2. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    GregLTurnquist.com/list

    View Slide

  3. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    3
    Learn More. Stay Connected.
    § Learn how to debug Boot apps
    § Build support tools for Ops, your
    manager, and others
    § Have FUN!
    Twitter: twitter.com/springcentral
    YouTube: spring.io/video
    LinkedIn: spring.io/linkedin
    Google Plus: spring.io/gplus

    View Slide

  4. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  5. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    “Bootiful” Applications
    § Auto-configured beans
    § Externalized, profile-specific properties
    § Make JAR not WAR
    § Pre-picked, harmonized libraries
    § ..and more!
    5

    View Slide

  6. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    6
    “Working with Spring Boot is like pair-
    programming with the Spring
    developers.
    Josh Long @starbuxman

    View Slide

  7. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  8. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Auto-configured beans are suddenly frightening!
    § What did Spring Boot do?
    § Why did it do it?
    § What can I do?
    8

    View Slide

  9. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  10. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    router101
    multiplex205
    switch1143
    ActiveMQ

    View Slide

  11. Demo
    Unless otherwise indicated, these slides are 

    © 2013-2015 Pivotal Software, Inc. and licensed under a
    Creative Commons Attribution-NonCommercial
    license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  12. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Spring Boot Actuator (spring-boot-actuator)
    12
    Endpoint Provides
    /autoconfig Rules that matched, and rules that did not
    /health Health check for scripts and Ops team
    /configprops Property settings
    /info Custom application information

    View Slide

  13. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  14. Demo
    Unless otherwise indicated, these slides are 

    © 2013-2015 Pivotal Software, Inc. and licensed under a
    Creative Commons Attribution-NonCommercial
    license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  15. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Non-functional features
    § Auto-configuration report
    § Custom health checks
    § Application information
    § Custom metrics
    § Custom CRaSH commands to mix metrics AND health
    § …anything else?
    15

    View Slide

  16. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  17. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/

    View Slide

  18. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    springone2gx.com
    Spring Data REST:
    Data Meets Hypermedia + Security

    View Slide

  19. Unless otherwise indicated, these slides are © 2013-2015 Pivotal Software, Inc. and licensed under a

    Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
    Debug and Maintain Your
    Spring Boot App
    Greg Turnquist, test-bitten script junky, Pivotal
    @gregturn

    View Slide