Spring Boot and Actuators
Speaker: John Humphreys
See list of all blog posts from conference
Spring Boot
- makes it easy to create standalone apps
- opinionated view of which third party libraries to use
- 9 lines of code to get coding
- can embed Tomcat or Undertwo in your app
- No Spring config needed as defaults
- Makes uberwar
- Add 1 lines to run war as init.d service
- many integrations
- only need two maven dterations
9 lines of code
the 9 lines of code to get started are an annotation and a one ine main method
SpringApplcation run (MyApp.class,args);
The other lines are imports/class name/braces/etc
Annotation
@SpringBootApplicatoin replaces need for many other common spring annotations
- @Configuraton – define beans in Java
- EnableAutoConfiguration – configure beans
- @ComponentScan – search for and wire up classes
Add an endpoint to actually do something. map URLs and functionality
Spring Boot Inititialzr – enter dependencies you want online and it gives you a working spring boot web service without needing dependencies
Maven
- spring-boot-starter-pom parent pom so can get started.
- spring-boot-starter-web dependency for deploying to Tomcat
- spring-boot-starter-actuator – for monitoring the application
- spring-boot-starter-hateos- for adding monitoring as REST endpoint and in browser
- spring-boot-maven-plugin – creates uber war. has option to embed init.d support by setting <executable>true</executable>
- spring-boot-admin-server-ui – minotrs and lets interact with app – just flag with @EnableAdminServer, can expose with JMX
application.properties – lets override defaults
actuator
- for monitoring
- provides a lot of URLs by default and can add more of your own
- Each cluster has own actuator
- Masks passwords by default
- Very customizable
- Can show live thread dumps
- Text based – use UI dependency to see graphically
Overall – cool to see it built live – pieces are easy to understand. I didn’tknow what n actuator was so learned that too. I’ve only een the very basics of Spring Boot so this was a great first talk for me to hear. An embedded Tomcat is interesting. Easy because one thing. Tomcat has frequent patches though so definitely would want continuous deployment!