{"id":715,"date":"2024-05-23T21:39:17","date_gmt":"2024-05-23T12:39:17","guid":{"rendered":"https:\/\/hirabay.net\/?p=715"},"modified":"2024-05-23T21:39:21","modified_gmt":"2024-05-23T12:39:21","slug":"springboot-3-2-to-3-3-%e3%83%a1%e3%83%a2","status":"publish","type":"post","link":"https:\/\/hirabay.net\/?p=715","title":{"rendered":"SpringBoot 3.2 to 3.3\u00a0\u30e1\u30e2"},"content":{"rendered":"\n<p>SpringBoot 3.3\u304cGA\u3068\u306a\u308a\u307e\u3057\u305f\u3002<br><a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-3.3-Release-Notes\">Release Notes<\/a>\u3092\u53c2\u8003\u306b3.2\u7cfb\u304b\u3089\u306e\u5909\u66f4\u70b9\u3092\u307e\u3068\u3081\u307e\u3059<br>\u81ea\u5206\u304c\u79fb\u884c\u3059\u308b\u3068\u304d\u306b\u95a2\u4fc2\u306e\u3042\u308b\u3082\u306e\u3084\u8208\u5473\u304c\u3042\u308b\u3082\u306e\u304c\u4e2d\u5fc3\u3068\u306a\u308a\u307e\u3059\u304c\u3054\u5bb9\u8d66\u304f\u3060\u3055\u3044\ud83d\ude47\u200d\u2642\ufe0f<\/p>\n\n\n\n<p>\u95a2\u9023\u8a18\u4e8b\u306f\u3053\u3061\u3089<\/p>\n\n\n<a class=\"linkto table\" href=\"https:\/\/hirabay.net\/?p=81\"><span class=\"tbcell tbimg\"><img loading=\"lazy\" decoding=\"async\" width=\"160\" height=\"160\" src=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/641f4e20d7d1577faae9ce68813c10e2-160x160.png\" class=\"attachment-thumb-160 size-thumb-160 wp-post-image\" alt=\"\" srcset=\"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/641f4e20d7d1577faae9ce68813c10e2-160x160.png 160w, https:\/\/hirabay.net\/wp-content\/uploads\/2023\/01\/641f4e20d7d1577faae9ce68813c10e2-150x150.png 150w\" sizes=\"auto, (max-width: 160px) 100vw, 160px\"><\/span><span class=\"tbcell tbtext\"><time class=\"pubdate sng-link-time dfont\" itemprop=\"datePublished\" datetime=\"2023-01-18\">2023\u5e741\u670818\u65e5<\/time>SpringBoot Update\u307e\u3068\u3081<\/span><\/a>\n\n\n<div class=\"toc\"><br \/>\n<b>Warning<\/b>:  Undefined array key \"is_admin\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>110<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_category_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>115<\/b><br \/>\n<br \/>\n<b>Warning<\/b>:  Undefined array key \"is_top\" in <b>\/home\/c4179872\/public_html\/hirabay.net\/wp-content\/themes\/sango-theme\/library\/gutenberg\/dist\/classes\/Toc.php<\/b> on line <b>122<\/b><br \/>\n    <div id=\"toc_container\" class=\"sgb-toc--bullets js-smooth-scroll\">\n      <p class=\"toc_title\">\u76ee\u6b21 <\/p>\n      <ul class=\"toc_list\">\n  <li class=\"first\">\n    <a href=\"#i-0\">Prometheus Client 1.x\uff08\u5909\u66f4\uff09<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-1\">CDS Support\uff08\u65b0\u6a5f\u80fd\uff09<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-2\">Base64 Resources\uff08\u65b0\u6a5f\u80fd\uff09<\/a>\n  <\/li>\n  <li class=\"last\">\n    <a href=\"#i-3\">\u305d\u306e\u4ed6<\/a>\n  <\/li>\n<\/ul>\n\n      \n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\"><a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-3.3-Release-Notes#prometheus-client-1x\">Prometheus Client 1.x\uff08\u5909\u66f4\uff09<\/a><\/h2>\n\n\n\n<p>\u30e1\u30c8\u30ea\u30af\u30b9\u53ce\u96c6\u306e\u305f\u3081\u306bPrometheus\u3092\u4f7f\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u3001\u30e9\u30a4\u30d6\u30e9\u30ea\u5185\u306ePrometheus Client\u304c0\u7cfb\u304b\u30891\u7cfb\u306b\u4e0a\u304c\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<p>\u3053\u306e\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u306b\u306f\u7834\u58ca\u7684\u5909\u66f4\u304c\u542b\u307e\u308c\u3066\u304a\u308a\u3001\u7279\u306bPushGateway\u3092\u5229\u7528\u3057\u3066\u3044\u308b\u5834\u5408\u306fPushGateway\u5074\u304c1\u7cfb\u306b\u5bfe\u5fdc\u3057\u3066\u3044\u306a\u3044\u305f\u3081\u4ee5\u4e0b\u306e\u3088\u3046\u306bsimpleclient\u306e\u3064\u3044\u305f\u30e9\u30a4\u30d6\u30e9\u30ea\u306b\u5909\u66f4\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-groovy\" data-file=\"build.gradle\" data-lang=\"Groovy\"><code>dependencies {\n\/\/\truntimeOnly 'io.micrometer:micrometer-registry-prometheus'\n\truntimeOnly 'io.micrometer:micrometer-registry-prometheus-simpleclient'\n}<\/code><\/pre><\/div>\n\n\n\n<p>\u307e\u305f\u3001PushGateway\u3092\u5229\u7528\u3057\u3066\u3044\u306a\u3044\u5834\u5408\u3067\u3082\u30e1\u30c8\u30ea\u30af\u30b9\u540d\u304c\u5909\u308f\u3063\u305f\u308a\u306a\u3093\u3066\u3053\u3068\u3082\u3042\u308b\u3088\u3046\u306a\u306e\u3067\u3001<br>\u65e2\u5b58\u306e\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3092\u51fa\u529b\u3057\u3066\u304a\u3044\u3066\u3001\u30d0\u30fc\u30b8\u30e7\u30f3\u30a2\u30c3\u30d7\u5f8c\u306e\u30e1\u30c8\u30ea\u30af\u30b9\u3068\u6bd4\u3079\u3066\u304a\u3044\u305f\u65b9\u304c\u826f\u3055\u305d\u3046\u3067\u3059\u3002<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\"><a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-3.3-Release-Notes#cds-support\">CDS Support\uff08\u65b0\u6a5f\u80fd\uff09<\/a><\/h2>\n\n\n\n<details class=\"wp-block-details is-layout-flow wp-block-details-is-layout-flow\"><summary>CDS\u3068\u306f<\/summary>\n<p>Class Data Sharing\u306e\u7565\u3067\u3001\u30af\u30e9\u30b9\u306e\u30c7\u30fc\u30bf\u3092\u518d\u5229\u7528\u3059\u308b\u3053\u3068\u3067\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306e\u8d77\u52d5\u6642\u9593\u3092\u77ed\u7e2e\u3067\u304d\u308b\u6a5f\u80fd\u3067\u3059<\/p>\n<\/details>\n\n\n\n<p>CDS\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u69cb\u6210\u3092\u81ea\u52d5\u3067\u751f\u6210\u3057\u3066\u304f\u308c\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<br>\u203bCDS\u306e\u77e5\u898b\u304c\u6d45\u304f\u3001\u3069\u3093\u306a\u69cb\u6210\u3060\u3068\u30d5\u30ec\u30f3\u30c9\u30ea\u30fc\u306a\u306e\u304b\u308f\u304b\u3063\u3066\u3044\u306a\u3044\u3002\u3002\u3002<\/p>\n\n\n\n<p>\u3072\u3068\u307e\u305a\u4ee5\u4e0b\u306e\u30b9\u30af\u30ea\u30d7\u30c8\u3092\u5b9f\u884c\u3057\u305f\u3068\u3053\u308dCDS\u3092\u5229\u7528\u3057\u3066\u30af\u30e9\u30b9\u30c7\u30fc\u30bf\u3092\u518d\u5229\u7528\u3057\u3066\u304f\u308c\u3066\u305d\u3046\u306a\u3053\u3068\u306f\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\uff01<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-bash\" data-file=\"CDS\u4f5c\u6210\" data-lang=\"Bash\"><code># jar\u751f\u6210\n.\/gradlew bootJar\n\n\/\/ \u30c7\u30a3\u30ec\u30af\u30c8\u30ea\u79fb\u52d5\ncd build\/libs\n\n\/\/ app.jar\u306e\u90e8\u5206\u306f\u3001\u4f5c\u3089\u308c\u305fjar\u30d5\u30a1\u30a4\u30eb\u540d\u306b\u7f6e\u304d\u63db\u3048\u3066\u304f\u3060\u3055\u3044\njava -Djarmode=tools -jar app.jar extract\n\n\/\/ \u30a8\u30e9\u30fc\u304c\u51fa\u308b\u5834\u5408\u306f\u3001\u4e8b\u524d\u306b\u300cjava -Xshare:dump\u300d\u3092\u5b9f\u884c\u3059\u308b\njava -XX:ArchiveClassesAtExit=application.jsa -Dspring.context.exit=onRefresh -jar app\/app.jar\n<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-bash\" data-file=\"CDS\u5229\u7528\" data-lang=\"Bash\"><code>java -XX:SharedArchiveFile=application.jsa -Xlog:class+load:file=cds.log -jar app\/app.jar\n\/\/ cds.log\u306b\u3001CDS\u306e\u5229\u7528\u72b6\u6cc1\u304c\u51fa\u529b\u3055\u308c\u308b\n\/\/ \u2192 \u300cshared objects file\u300d\u306e\u884c\u304cCDS\u304b\u3089\u30ed\u30fc\u30c9\u3055\u308c\u305f\u30af\u30e9\u30b9<\/code><\/pre><\/div>\n\n\n\n<p><\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\"><a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-3.3-Release-Notes#base64-resources\">Base64 Resources\uff08\u65b0\u6a5f\u80fd\uff09<\/a><\/h2>\n\n\n\n<p><code>base64:<\/code>\u3068\u3044\u3046prefix\u3092\u4ed8\u4e0e\u3059\u308b\u3068\u30d5\u30a1\u30a4\u30eb\u3092Base64\u6587\u5b57\u5217\u3067\u30d7\u30ed\u30d1\u30c6\u30a3\u306b\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u308a\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<p>\u8a3c\u660e\u66f8\u306e\u985e\u3092\u74b0\u5883\u5909\u6570\u7b49\u3067\u6e21\u3059\u3053\u3068\u304c\u3067\u304d\u308b\u3068\u3044\u3046\u3053\u3068\u3067\u3059\u306d\u2026\uff01<\/p>\n\n\n\n<p>\u4ee5\u4e0b\u306e\u7c21\u6613\u7684\u306a\u5b9f\u88c5\u3067\u52d5\u4f5c\u3092\u78ba\u8a8d\u3067\u304d\u307e\u3057\u305f\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-yaml\" data-file=\"application.yml\" data-lang=\"Yaml\"><code>base64:\n  resources:\n    # echo -n sample | base64\n    sample: \"base64:c2FtcGxl\"<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>import org.springframework.beans.factory.annotation.Value;\nimport org.springframework.boot.io.ApplicationResourceLoader;\nimport org.springframework.web.bind.annotation.GetMapping;\nimport org.springframework.web.bind.annotation.RestController;\n\nimport java.nio.charset.StandardCharsets;\n\n@RestController\npublic class Base64ResourcesSample {\n    @Value(\"${base64.resources.sample}\")\n    private String base64ResourcesSample;\n\n    @GetMapping(\"\/base64-resources-sample\")\n    public String getBase64ResourcesSample() throws Exception {\n        var resource = new ApplicationResourceLoader().getResource(this.base64ResourcesSample);\n\n        return resource.getContentAsString(StandardCharsets.UTF_8);\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-bash\" data-file=\"\u52d5\u4f5c\u78ba\u8a8d\" data-lang=\"Bash\"><code>$ curl localhost:8080\/base64-resources-sample\nsample<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-3\"><a href=\"https:\/\/github.com\/spring-projects\/spring-boot\/wiki\/Spring-Boot-3.3-Release-Notes#miscellaneous\">\u305d\u306e\u4ed6<\/a><\/h2>\n\n\n\n<p><code>server.tomcat.threads.max-queue-capacity<\/code>\u3068\u3044\u3046\u30d7\u30ed\u30d1\u30c6\u30a3\u304c\u8ffd\u52a0\u306b\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<br>\u540d\u524d\u304b\u3089\u306e\u63a8\u6e2c\u3067\u3059\u304c\u3001Tomcat\u306e\u30b9\u30ec\u30c3\u30c9\u304c\u3044\u3063\u3071\u3044\u306e\u6642\u306b\u3069\u308c\u304f\u3089\u3044\u306e\u30ea\u30af\u30a8\u30b9\u30c8\u3092\u5f85\u3061\u884c\u5217\u306b\u52a0\u3048\u308b\u304b\u8a2d\u5b9a\u3067\u304d\u308b\u3088\u3046\u306b\u306a\u3063\u305f\u306e\u3067\u306f\u306a\u3044\u3067\u3057\u3087\u3046\u304b \ud83e\udd14<\/p>\n\n\n\n<p><code>server.reactive.session.max-sessions<\/code>\u3068\u3044\u3046\u30d7\u30ed\u30d1\u30c6\u30a3\u3082\u8ffd\u52a0\u3068\u306a\u3063\u305f\u3088\u3046\u3067\u3059\u3002<br>WebFlux\u4f7f\u7528\u6642\u306b\u6700\u5927\u30bb\u30c3\u30b7\u30e7\u30f3\u6570\uff08\u540c\u6642\u306b\u51e6\u7406\u3067\u304d\u308b\u30ea\u30af\u30a8\u30b9\u30c8\u6570\u306e\u4e0a\u9650\uff1f\uff09\u304c\u5236\u5fa1\u3067\u304d\u308b\u3088\u3046\u3067\u3059\u3002<\/p>\n","protected":false},"excerpt":{"rendered":"<p>SpringBoot 3.3\u304cGA\u3068\u306a\u308a\u307e\u3057\u305f\u3002Release Notes\u3092\u53c2\u8003\u306b3.2\u7cfb\u304b\u3089\u306e\u5909\u66f4\u70b9\u3092\u307e\u3068\u3081\u307e\u3059\u81ea\u5206\u304c\u79fb\u884c\u3059\u308b\u3068\u304d\u306b\u95a2\u4fc2\u306e\u3042\u308b\u3082\u306e\u3084\u8208\u5473\u304c\u3042\u308b\u3082\u306e\u304c\u4e2d\u5fc3\u3068\u306a\u308a\u307e\u3059\u304c\u3054\u5bb9\u8d66\u304f\u3060\u3055\u3044\ud83d\ude47\u200d\u2642\ufe0f \u95a2\u9023\u8a18\u4e8b\u306f\u3053\u3061 &#8230; <\/p>\n","protected":false},"author":1,"featured_media":716,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[13,109],"class_list":{"0":"post-715","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-6","8":"tag-springboot","9":"tag-springboot3-3"},"jetpack_featured_media_url":"https:\/\/hirabay.net\/wp-content\/uploads\/2024\/04\/SpringBoot.png","_links":{"self":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/715","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=715"}],"version-history":[{"count":4,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/715\/revisions"}],"predecessor-version":[{"id":754,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/715\/revisions\/754"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/media\/716"}],"wp:attachment":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=715"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=715"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=715"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}