Más contenido relacionado Java Buildpack Developer Enhancements1. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Java Buildpack
Developer Enhancements
Ben Hale
@nebhale
2. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Cloud Foundry – The Best Place to Run Java
• Over the last couple of years, the team has pushed very
hard to be the best place to run Java applications
• These efforts have focused on production workloads
• 8 JVM application types
• 5 Application Performance Monitor providers
• Hardware Security Modules
2
3. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Production is Not Development
• The focus on production is because the experience of
developing inside a container isn’t great
• However, there are times when you just need to see
what’s going on inside the container
• The core ideas isolation and immutable infrastructure
are at odds with container access
3
4. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
JMX, Debugging, and Profiling
• Cloud Foundry provides first-class support for JMX,
Debugging, and the YourKit Profiler
• Based on the new(-ish) Cloud Foundry SSH container
access
• Requires Pivotal Cloud Foundry 1.6+, Java Buildpack
3.4+
4
5. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
SSH Container Access
6. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
JMX
• Supports JConsole or VisualVM
• Configuration
• Enabled/Disabled
• Port
6
7. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
JMX
7
$ cf set-env java-main-application JBP_CONFIG_JMX
’{enabled: true}'
...
$ cf restage java-main-application
...
$ cf ssh -N -T -L 5000:localhost:5000 java-main-
application
8. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
JMX
9. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Debug
• Supports all IDE debuggers
• Configuration
• Enabled/Disabled
• Port
• Suspend on Start
9
10. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Debug
10
$ cf set-env java-main-application JBP_CONFIG_DEBUG
’{enabled: true}'
...
$ cf restage java-main-application
...
$ cf ssh -N -T -L 8000:localhost:8000 java-main-
application
11. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Debug
12. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
YourKit Profiler
• Supports many versions of the YourKit Profiler
• If you have prefer something else, let me know
• Configuration
• Session Name
• Enabled/Disabled
• Port
• Version
12
13. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
YourKit Profiler
13
$ cf set-env java-main-application JBP_CONFIG_YOUR_KIT_PROFILER
’{enabled: true}'
...
$ cf restage java-main-application
...
$ cf ssh -N -T -L 10001:localhost:10001 java-main-application
14. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
YourKit Profiler
15. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Developer Enhancements
• Based on Cloud Foundry SSH access
• Currently comprised of JMX, Debug, and the YourKit
Profiler
• We’re not done yet
• Let us know what tools you’d like to use in Cloud
Foundry
15
16. Unless otherwise indicated, these slides are © 2013-2016 Pivotal Software, Inc. and licensed under a
Creative Commons Attribution-NonCommercial license: http://creativecommons.org/licenses/by-nc/3.0/
Learn More. Stay Connected.
https://github.com/nebhale/java-buildpack
@springcentral
spring.io/blog
@pivotal
pivotal.io/blog
@pivotalcf
http://engineering.pivotal.io