{"id":610,"date":"2023-04-08T14:52:59","date_gmt":"2023-04-08T05:52:59","guid":{"rendered":"https:\/\/hirabay.net\/?p=610"},"modified":"2023-04-08T14:53:03","modified_gmt":"2023-04-08T05:53:03","slug":"%e3%80%90springbatch%e3%80%91%e3%83%a1%e3%82%bf%e3%83%86%e3%83%bc%e3%83%96%e3%83%ab%e3%82%92h2%e3%81%a7%e7%ae%a1%e7%90%86","status":"publish","type":"post","link":"https:\/\/hirabay.net\/?p=610","title":{"rendered":"\u3010SpringBatch\u3011\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u3092H2\u3067\u7ba1\u7406"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">spring-batch\u3067\u306f\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u3001\u30b8\u30e7\u30d6\u306e\u7ba1\u7406\u3092\u3057\u3066\u304f\u308c\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u304c\u3001\u305d\u306e\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u3092\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eDB\u3068\u306f\u5225\u3067\u7ba1\u7406\u3057\u305f\u3044\u5834\u5408\u306e\u8a2d\u5b9a\u65b9\u6cd5\u3092\u307e\u3068\u3081\u307e\u3059\u3002<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u306e\u4fdd\u5b58\u5148\u3092H2\u3068\u3057\u307e\u3059\u3002<\/p>\n\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\">\u52d5\u4f5c\u74b0\u5883<\/a>\n  <\/li>\n  <li>\n    <a href=\"#i-1\">\u5b9f\u88c5<\/a>\n  <\/li>\n  <li class=\"last\">\n    <a href=\"#i-2\">\u88dc\u8db3<\/a>\n    <ul class=\"menu_level_1\">\n      <li class=\"first last\">\n        <a href=\"#i-3\">\u53c2\u8003<\/a>\n      <\/li>\n    <\/ul>\n  <\/li>\n<\/ul>\n\n      \n    <\/div><\/div><h2 class=\"wp-block-heading\" id=\"i-0\">\u52d5\u4f5c\u74b0\u5883<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u691c\u8a3c\u6642\u306ebuild.gradle\u3067\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>plugins {\n\tid 'java'\n\tid 'org.springframework.boot' version '3.0.5'\n\tid 'io.spring.dependency-management' version '1.1.0'\n}\n\ngroup = 'hirabay'\nversion = '0.0.1-SNAPSHOT'\nsourceCompatibility = '17'\n\nconfigurations {\n\tcompileOnly {\n\t\textendsFrom annotationProcessor\n\t}\n}\n\nrepositories {\n\tmavenCentral()\n}\n\ndependencies {\n\timplementation 'org.springframework.boot:spring-boot-starter-batch'\n\tcompileOnly 'org.projectlombok:lombok'\n\truntimeOnly 'com.h2database:h2'\n\tannotationProcessor 'org.projectlombok:lombok'\n\ttestImplementation 'org.springframework.boot:spring-boot-starter-test'\n\ttestImplementation 'org.springframework.batch:spring-batch-test'\n}\n\ntasks.named('test') {\n\tuseJUnitPlatform()\n}\n<\/code><\/pre><\/div>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-1\">\u5b9f\u88c5<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u305a\u306f\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u306e\u64cd\u4f5c\u306b\u5229\u7528\u3059\u308bDataSource\u3068TransactionManager\u3092Bean\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>@Configuration\npublic class MetadataConfiguration {\n    @Bean\n    public DataSource metaDataSource() {\n        EmbeddedDatabaseBuilder builder = new EmbeddedDatabaseBuilder();\n        return builder.setType(EmbeddedDatabaseType.H2)\n                .addScript(\"classpath:org\/springframework\/batch\/core\/schema-drop-h2.sql\")\n                .addScript(\"classpath:org\/springframework\/batch\/core\/schema-h2.sql\")\n                .build();\n    }\n\n    @Bean\n    public PlatformTransactionManager transactionManager() {\n        return new ResourcelessTransactionManager();\n    }\n}<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u6b21\u306b<code>@EnableBatchProcessing<\/code>\u306b\u5148\u307b\u3069\u767b\u9332\u3057\u305fBean\u540d\u3092\u767b\u9332\u3057\u307e\u3059\u3002<\/p>\n\n\n\n<div class=\"hcb_wrap\"><pre class=\"prism undefined-numbers lang-java\" data-lang=\"Java\"><code>@EnableBatchProcessing(dataSourceRef = \"metaDataSource\")<\/code><\/pre><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">\u3053\u308c\u3067OK\uff01<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"i-2\">\u88dc\u8db3<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">\u307e\u3060\u691c\u8a3c\u3057\u8db3\u308a\u3066\u3044\u306a\u3044\u6c17\u304c\u3059\u308b\u306e\u3067\u3059\u304c\u3001SpringBoot3\u3078\u306e\u79fb\u884c\u3067\u56f0\u3063\u305f\u4eba\u306e\u624b\u639b\u304b\u308a\u306b\u306a\u308c\u3070\u3068\u6b8b\u3057\u3066\u304a\u304d\u307e\u3059\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"i-3\">\u53c2\u8003<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.baeldung.com\/introduction-to-spring-batch\">https:\/\/www.baeldung.com\/introduction-to-spring-batch<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>spring-batch\u3067\u306f\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u3092\u4f7f\u7528\u3057\u3001\u30b8\u30e7\u30d6\u306e\u7ba1\u7406\u3092\u3057\u3066\u304f\u308c\u307e\u3059\u3002 \u304c\u3001\u305d\u306e\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u3092\u30a2\u30d7\u30ea\u30b1\u30fc\u30b7\u30e7\u30f3\u306eDB\u3068\u306f\u5225\u3067\u7ba1\u7406\u3057\u305f\u3044\u5834\u5408\u306e\u8a2d\u5b9a\u65b9\u6cd5\u3092\u307e\u3068\u3081\u307e\u3059\u3002 \u3053\u306e\u8a18\u4e8b\u3067\u306f\u3001\u30e1\u30bf\u30c6\u30fc\u30d6\u30eb\u306e\u4fdd\u5b58\u5148\u3092H2\u3068\u3057\u307e\u3059 &#8230; <\/p>\n","protected":false},"author":1,"featured_media":613,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[6],"tags":[98,100,99],"class_list":["post-610","post","type-post","status-publish","format-standard","has-post-thumbnail","category-6","tag-springbatch","tag-springbatch5","tag-springboot3"],"jetpack_featured_media_url":"https:\/\/hirabay.net\/wp-content\/uploads\/2023\/04\/SpringBoot.png","_links":{"self":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/610","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=610"}],"version-history":[{"count":2,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/610\/revisions"}],"predecessor-version":[{"id":612,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/posts\/610\/revisions\/612"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=\/wp\/v2\/media\/613"}],"wp:attachment":[{"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=610"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=610"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/hirabay.net\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=610"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}