SlideShare a Scribd company logo
1 of 51
Download to read offline
8IBU`T/FXJO
4QSJOH#PPU
+46(ษ‫ڧ‬ձ
஑୩ɹஐߦ
w೔ຊ4QSJOHϢʔβձ	+46(
ελοϑ
w๭4*FSͰιϑτ΢ΣΞΞʔΩςΫτ

ʢ࣮ଶ͸؅ཧ‫ۀ‬຿ଟΊɾɾɾʣ

w๭ॻͷචऀͷҰਓ
ࣗ‫঺ݾ‬հ
IUUQTXXXTIPFJTIBDPKQCPPLEFUBJM
7.8BSFຘ͞ΜͷߨԋࢿྉΛࢀর
ࢀߟɿա‫ڈ‬ͷ8IBU`T/FXγϦʔζ

IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOE
F1659)X'R0
%8@OQ33RT1US'S7O;IPDGR0-H'L
FEJUTMJEFJEHD@@
IUUQTEPDTHPPHMFDPNQSFTFOUBUJPOE
S1.'QU+N6)/SE5Y;1S#PFDC8D
B(VKG7J#1FEJUTMJEFJEQ
w ϥΠϑαΠΫϧ౳
w ৽‫ػ‬ೳʗվળ
w ‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
w υΩϡϝϯτվળ
ΞδΣϯμ

IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUXJLJ4QSJOH#PPU3FMFBTF/PUFT
w 4QSJOH#PPU͔Β͸൒೥̍ճස౓ͰϦϦʔεʢ+%,ͱରԠʣ
w 4QSJOH#PPUͷ0-͸݄
ϥΠϑαΠΫϧ
Version Released Expected End of
Life
ґଘSpring
Framework
ґଘSpring
Cloud
ରԠJavaό
ʔδϣϯ
2.5.x May 2021 February 2023 5.3 2020.0.3 16ʙ8
2.4.x November 2020 August 2022 5.3 2020.0.3

2020.0.0
15ʙ8
2.3.x May 2020 February 2022 5.2 Hoxton.SR11 14ʙ8
2.2.x October 2019 July 2021 5.2 Hoxton.SR11 13ʙ8
IUUQTTUBSUTQSJOHJPBDUVBUPSJOGP
IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUXJLJ4VQQPSUFE7FSTJPOTSFMFBTFEWFSTJPOT
044ͱͯ͠ͷக໋తόά΍੬ऑੑ΁ͷαϙʔτͷϙϦγ

ʢॏཁͳ࿩ͳͷͰɺਖ਼ࣜʹ͸ެࣜ63-Ͱ֬ೝΛʣ
w ϝδϟʔόʔδϣϯ͸ϦϦʔε͔Β࠷௿೥͸αϙʔτ͞ΕΔ
ʢͨͩ͠αϙʔτର৅ͷϚΠφʔόʔδϣϯͰ͋Δඞཁʣ
w ϚΠφʔόʔδϣϯ͸࠷௿ϲ݄͸αϙʔτ͞ΕΔ
w 0-͸ϦϦʔεΑΓϲ݄
ࢀߟɿ4QSJOH#PPUͷ044αϙʔτϙϦγ
IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUXJLJ4VQQPSUFE7FSTJPOTTQSJOHCPPUTVQQPSUQPMJDZ
w ϥΠϑαΠΫϧ౳
w ৽‫ػ‬ೳʗվળ
w ‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
w υΩϡϝϯτվળ
ΞδΣϯμ

IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUXJLJ4QSJOH#PPU3FMFBTF/PUFT
w ‫ڥ؀‬ม਺ͷϓϨϑΟοΫε
w 4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ
w %BUB4PVSDF#FBOͷੜ੒ॱংͷվળ
w 3%#$Ͱͷσʔλιʔεॳ‫ظ‬Խ
w ͦͷଞ
4QSJOH#PPU৽‫ػ‬ೳʗվળ
͜Ε·ͰɺಉҰ‫ڥ؀‬ʢಉҰίϯςφ౳ʣͰෳ਺4QSJOH#PPUΛ‫ى‬ಈ
͢Δ৔߹ɺ4QSJOH#PPU༻‫ڥ؀‬ม਺͕‫͍ͨͯͬ·ͯ͠͠߹ڝ‬ɻ
‫ڥ؀‬ม਺ͷϓϨϑΟοΫε

$export SERVER_PORT=8090
$export FUGA_SERVER_PORT=8091
$java -jar hoge.jar
…
$java -jar fuga.jar --server.port=$FUGA_SERVER_PORT
…
ઃఆͷ૿‫ݮ‬ͷ࣌ɺ͍͍ͪͪ
Ϛοϐϯά͕໘౗
‫ڥ؀‬ม਺΁ͷ֎ग़͠͸
࠷ۙͰ͸.VTU
৽‫ػ‬ೳʗվળ
Y
ΞϓϦέʔγϣϯຖʹϓϨϑΟοΫεΛઃఆՄೳʹͳΓɺ‫߹ڝ‬Λආ
͚Δ͜ͱ͕Մೳɻ
‫ڥ؀‬ม਺ͷϓϨϑΟοΫε

$export SERVER_PORT=8090
$export FUGA_SERVER_PORT=8091
$java -jar hoge.jar
…
$java -jar fuga.jar
…
কདྷɺΧελϜ͍ͨ͠ม਺
͕૿͑ͯ΋҆৺
public static void main(String[] args) {
SpringApplication application = new SpringApplication(Application.class);
application.setEnvironmentPrefix(fuga);
application.run(args);
} ‫ڥ؀‬ม਺ͷϓϨϑΟοΫε
Λࢦఆ
ϓϨϑΟοΫε෇͖ͷ
‫ڥ؀‬ม਺Λఆٛ
৽‫ػ‬ೳʗվળ
Y
w ‫ڥ؀‬ม਺ͷϓϨϑΟοΫε
w 4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ
w %BUB4PVSDF#FBOͷੜ੒ॱংͷվળ
w 3%#$Ͱͷσʔλιʔεॳ‫ظ‬Խ
w ͦͷଞ
4QSJOH#PPU৽‫ػ‬ೳʗվળ
4QSJOH%BUB3FQPTJUPSZͷར༻࣮੷͕ɺDUVBUPSͷNFUSJDTΤϯ
υϙΠϯτ΍.JDSPNFUFSʹެ։Ͱ͖ΔΑ͏ʹͳͬͨɻ
4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ

{
name: spring.data.repository.invocations,
description: null,
baseUnit: seconds,
measurements: [
{
statistic: COUNT,
value: 4
},
{
statistic: TOTAL_TIME,
value: 0.216646629
},
{
statistic: MAX,
value: 0.211294863
}
],
availableTags: [
{
tag: exception,
values: [None]
},
{
tag: method,
values: [findAll]
},
{
tag: state,
values: [SUCCESS]
},
{
tag: repository,
values: [TodoRepository]
}]}
IUUQMPDBMIPTUBDUVBUPSNFUSJDTTQSJOHEBUBSFQPTJUPSZJOWPDBUJPOT
.FUSJDTΤϯυϙΠϯτͷྫ
৽‫ػ‬ೳʗվળ
4QSJOH%BUB3FQPTJUPSZͷར༻࣮੷͕ɺDUVBUPSͷNFUSJDTΤϯ
υϙΠϯτ΍.JDSPNFUFSʹެ։Ͱ͖ΔΑ͏ʹͳͬͨɻ
4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ

{
name: spring.data.repository.invocations,
description: null,
baseUnit: seconds,
measurements: [
{
statistic: COUNT,
value: 4
},
{
statistic: TOTAL_TIME,
value: 0.216646629
},
{
statistic: MAX,
value: 0.211294863
}
],
availableTags: [
{
tag: exception,
values: [None]
},
{
tag: method,
values: [findAll]
},
{
tag: state,
values: [SUCCESS]
},
{
tag: repository,
values: [TodoRepository]
}]}
IUUQMPDBMIPTUBDUVBUPSNFUSJDTTQSJOHEBUBSFQPTJUPSZJOWPDBUJPOT
.FUSJDTΤϯυϙΠϯτͷྫ
‫ͼݺ‬ग़͠ճ਺
૯ॴ༻࣌ؒ
࠷େॴ༻࣌ؒ
ϝιου໊
ൃੜྫ֎
࣮ߦ݁Ռঢ়ଶ
ର৅ϦϙδτϦ
৽‫ػ‬ೳʗվળ
4QSJOH%BUB3FQPTJUPSZͷར༻࣮੷͕ɺDUVBUPSͷNFUSJDTΤϯ
υϙΠϯτ΍.JDSPNFUFSʹެ։Ͱ͖ΔΑ͏ʹͳͬͨɻ
4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ

1SPNFUFVTग़ྗͷྫ
# HELP spring_data_repository_invocations_seconds_max
# TYPE spring_data_repository_invocations_seconds_max gauge
spring_data_repository_invocations_seconds_max{exception=None,method=fi
ndAll,repository=TodoRepository,state=SUCCESS,} 0.111220909
# HELP spring_data_repository_invocations_seconds
# TYPE spring_data_repository_invocations_seconds summary
spring_data_repository_invocations_seconds_count{exception=None,method=
findAll,repository=TodoRepository,state=SUCCESS,} 1.0
spring_data_repository_invocations_seconds_sum{exception=None,method=fi
ndAll,repository=TodoRepository,state=SUCCESS,} 0.111220909
IUUQMPDBMIPTUBDUVBUPSQSPNFUIFVT
৽‫ػ‬ೳʗվળ
4QSJOH%BUB3FQPTJUPSZͷར༻࣮੷͕ɺDUVBUPSͷNFUSJDTΤϯ
υϙΠϯτ΍.JDSPNFUFSʹެ։Ͱ͖ΔΑ͏ʹͳͬͨɻ
4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ

1SPNFUFVTग़ྗͷྫ
# HELP spring_data_repository_invocations_seconds_max
# TYPE spring_data_repository_invocations_seconds_max gauge
spring_data_repository_invocations_seconds_max{exception=None,method=fi
ndAll,repository=TodoRepository,state=SUCCESS,} 0.111220909
# HELP spring_data_repository_invocations_seconds
# TYPE spring_data_repository_invocations_seconds summary
spring_data_repository_invocations_seconds_count{exception=None,method=
findAll,repository=TodoRepository,state=SUCCESS,} 1.0
spring_data_repository_invocations_seconds_sum{exception=None,method=fi
ndAll,repository=TodoRepository,state=SUCCESS,} 0.111220909
IUUQMPDBMIPTUBDUVBUPSQSPNFUIFVT
ͲͷςʔϒϧʹͲͷ͘Β͍ΞΫηε͍ͯ͠Δ͔ɺॴཁ࣌ؒ͸Ͳͷ͘
Β͍͔͕೺ѲͰ͖Δ
ˣ
͏·͘Ճ޻ɾՄࢹԽ͢Ε͹ੑೳνϡʔχϯάͰ‫
͏͖ͦͰ༻׆‬
ʢࠓճ͸ؒʹ߹ΘͣՄࢹԽ͸লུʣ
৽‫ػ‬ೳʗվળ
खॱ̍ɿDUVBUPSͷઃఆΛมߋ͠ɺNFUSJDTΤϯυϙΠϯτ΍
1SPNFUIFVTͷެ։ઃఆΛߦ͏ɻ
खॱ̎ɿNJDSPNFUFSSFHJTUSZQSPNFUIFVTͷ௥Ճ

ʢ1SPNFUIFVTग़ྗͷ৔߹ʣ
4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ

management.endpoints.web.exposure.include=health,info,metrics,prometheus
BQQMJDBUJPOQSPQFSUJFT
dependency
groupIdio.micrometer/groupId
artifactIdmicrometer-registry-prometheus/artifactId
scoperuntime/scope
/dependency
QPNYNM
৽‫ػ‬ೳʗվળ
खॱ̏ɿ4QSJOH%BUB3FQPTJUPSZΛར༻͢Δɻ

ॳճΞΫηεҎ߱ʹ‫ه‬࿥͕։࢝͞ΕΔɻ
4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ

@GetMapping(todo/selectall)
@Transactional(readOnly = true)
public ListTodo selectAll() {
ListTodo todoList = new ArrayList();
todoRepository.findAll().iterator().forEachRemaining(todoList::add);
return todoList;
}
public interface TodoRepository extends CrudRepositoryTodo, String {
}
৽‫ػ‬ೳʗվળ
w ‫ڥ؀‬ม਺ͷϓϨϑΟοΫε
w 4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ
w %BUB4PVSDF#FBOͷੜ੒ॱংͷվળ
w 3%#$Ͱͷσʔλιʔεॳ‫ظ‬Խ
w ͦͷଞ
4QSJOH#PPU৽‫ػ‬ೳʗվળ
͜Ε·Ͱ͸ɺ%BUB4PVSDFʹؔ࿈͢Δ#FBOͷੜ੒ॱং੍͕‫͞ޚ‬Ε
͓ͯΒͣɺ॥‫؀‬ґଘΤϥʔ͕ൃੜ͢Δέʔε͕͋ͬͨɻ
%BUB4PVSDF#FBOͷੜ੒ॱংͷվળ

@Bean
public DataSource dataSource1(DataSourceProperties properties) {
…
}
@Bean
public DataSource dataSource2(DataSourceProperties properties) {
…
}
@Bean
@Primary
public AbstractRoutingDataSource routingDataSource(
@Qualifier(dataSource1) DataSource dataSource1,
@Qualifier(dataSource2) DataSource dataSource2) {
…
}
৽‫ػ‬ೳʗվળ
͜Ε·Ͱ͸ɺ%BUB4PVSDFΛར༻͢Δ#FBOੜ੒ॱং੍͕‫͞ޚ‬Εͯ
͓Βͣɺ॥‫؀‬ґଘΤϥʔ͕ൃੜ͢Δέʔε͕͋ͬͨɻ
%BUB4PVSDF#FBOͷੜ੒ॱংͷվળ

@Bean
public DataSource dataSource1(DataSourceProperties properties) {
…
}
@Bean
public DataSource dataSource2(DataSourceProperties properties) {
…
}
@Bean
@Primary
public AbstractRoutingDataSource routingDataSource(
@Qualifier(dataSource1) DataSource dataSource1,
@Qualifier(dataSource2) DataSource dataSource2) {
…
}
॥‫؀‬ґଘΤϥʔ͕ൃੜ
Y
৽‫ػ‬ೳʗվળ
શ͘ಉ͡ίʔυͰ΋ɺ4QSJOH#PPUYͰ͸॥‫؀‬ΤϥʔͱͳΒͣ
ਖ਼ৗʹ‫ى‬ಈ͢Δɻ
%BUB4PVSDF#FBOͷੜ੒ॱংͷվળ

@Bean
public DataSource dataSource1(DataSourceProperties properties) {
…
}
@Bean
public DataSource dataSource2(DataSourceProperties properties) {
…
}
@Bean
@Primary
public AbstractRoutingDataSource routingDataSource(
@Qualifier(dataSource1) DataSource dataSource1,
@Qualifier(dataSource2) DataSource dataSource2) {
…
}
Τϥʔͳ͘ਖ਼ৗ‫ى‬ಈ
Y
IUUQTEPDTTQSJOHJPTQSJOHCPPUEPDTSFGFSFODFIUNMIPXUPIUNMIPXUPEBUBJOJUJBMJ[BUJPOEFQFOEFODJFTEFQFOETPO
JOJUJBMJ[BUJPOEFUFDUJPO
৽‫ػ‬ೳʗվળ
w ‫ڥ؀‬ม਺ͷϓϨϑΟοΫε
w 4QSJOH%BUB3FQPTJUPSZͷϝτϦΫεެ։ରԠ
w %BUB4PVSDF#FBOͷੜ੒ॱংͷվળ
w 3%#$Ͱͷσʔλιʔεॳ‫ظ‬Խ
w ͦͷଞ
4QSJOH#PPU৽‫ػ‬ೳʗվળ
͜Ε·Ͱɺ3%#$σʔλιʔεʢ$POOFDUJPO'BDUPSZʣͰ͸%#
ॳ‫ظ‬Խ‫ػ‬ೳʢTDIFNBTRMEBUBTRMʣ͕ར༻Ͱ͖ͣɺҎԼ࣮૷͕ඞ
ཁ͕ͩͬͨɺY͔Β࣮૷͕ෆཁͱͳͬͨɻ
σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷ3%#$ରԠ

// 2.5.x ͔Β͸࣮૷ෆཁʹͳͬͨ
@Configuration(proxyBeanMethods = false)
static class DatabaseInitializationConfiguration {
@Autowired
void initializeDatabase(ConnectionFactory connectionFactory) {
ResourceLoader resourceLoader = new DefaultResourceLoader();
Resource[] scripts = new Resource[] { resourceLoader.getResource(classpath:schema.sql),
resourceLoader.getResource(classpath:data.sql) };
new ResourceDatabasePopulator(scripts).populate(connectionFactory).block();
}
}
Y
IUUQTEPDTTQSJOHJPTQSJOHCPPUEPDTSFGFSFODFIUNMTJOHMFIPXUPJOJUJBMJ[FBEBUBCBTFVTJOHSECD
৽‫ػ‬ೳʗվળ
w %PDLFS*NBHF#VJMEJOH4VQQPSUʢຘ͞ΜϋϯζΦϯʹͯ঺հʣ
w $VTUPN#VJMEQBDLT
w ϘϦϡʔϜͷCJOEJOH
w ࣮ߦՄೳ8BSͷ%PDLFS*NBHFαϙʔτ
w -BZFSFE8BST
w )551PWFS5$1	ID

w 0QFO.FUSJDTGPS1SPNFUIFVT
w 8FC'MVYͰͷ!5JNFE
w .POHP%#.FUSJDT
w -JRVJCBTF%BUB4PVSDF
w (5SFRVFTUTUPBDUVBUPSTUBSUVQ
w DUVBUPSOEQPJOUGPS2VBSU[
ͦͷଞ

৽‫ػ‬ೳʗվળ
IUUQTTQSJOHCPPUDOCIPMBQQTQDGPOFJP
IUUQTTQSJOHCPPUDOCIPMBQQTQDGPOFJP
IUUQTTQSJOHCPPUDOCIPMBQQTQDGPOFJP
IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUXJLJ4QSJOH#PPU3FMFBTF/PUFT
w ϥΠϑαΠΫϧ౳
w ৽‫ػ‬ೳʗվળ
w ‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
w υΩϡϝϯτվળ
ΞδΣϯμ

IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUXJLJ4QSJOH#PPU3FMFBTF/PUFT
w σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ
w σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬
w %FGBVMUSSPS7JFXͷϝοηʔδඇදࣔ
w CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ
w SSPS$POUSPMMFSͷHFUSSPS1BUI	
ͷഇࢭ
w ͦͷଞ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
4DSJQUͰͷ%#ॳ‫ظ‬Խ‫ػ‬ೳʢTDIFNBTRMEBUBTRMʣͷ಺෦ߏ଄ͷ
มߋ͕͋ΓɺϓϩύςΟ͕มߋʹͳ͍ͬͯΔɻ
σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ

YҎલʢY͔Βඇਪ঑ʣ YҎ߱ આ໌
TQSJOHEBUBTPVSDFJOJUJBMJ[BUJPONPEF
TQSJOHTRMJOJUFOBCMFE	

TQSJOHTRMJOJUNPEF
%#ॳ‫ظ‬Խ‫ػ‬ೳΛ࡞ಈͤ͞Δ৚݅
TQSJOHEBUBTPVSDFQMBUGPSN TQSJOHTRMJOJUQMBUGPSN
EBUBTRMɺTDIFNBTRMͷ෦෼ͷ
ࢦఆ
TQSJOHEBUBTPVSDFTDIFNB TQSJOHTRMJOJUTDIFNBMPDBUJPOT TDIFNBTRMͷϦιʔεύε
TQSJOHEBUBTPVSDFTDIFNBVTFSOBNF TQSJOHTRMJOJUVTFSOBNF TDIFNBTRMͷ%#Ϣʔβ໊
TQSJOHEBUBTPVSDFTDIFNBQBTTXPSE TQSJOHTRMJOJUQBTTXPSE TDIFNBTRMͷ%#Ϣʔβύεϫʔυ
TQSJOHEBUBTPVSDFEBUB TQSJOHTRMJOJUEBUBMPDBUJPOT EBUBTRMͷϦιʔεύε
TQSJOHEBUBTPVSDFEBUBVTFSOBNF TQSJOHTRMJOJUVTFSOBNF EBUBTRMͷ%#Ϣʔβ໊
TQSJOHEBUBTPVSDFEBUBQBTTXPSE TQSJOHTRMJOJUQBTTXPSE EBUBTRMͷ%#Ϣʔβύεϫʔυ
TQSJOHEBUBTPVSDFDPOUJOVFPOFSSPS TQSJOHTRMJOJUDPOUJOVFPOFSSPS
4DSJQU్தͰΤϥʔ͕‫ܧʹ͖࣌ͨى‬
ଓ͢Δ͔
TQSJOHEBUBTPVSDFTFQBSBUPS TQSJOHTRMJOJUTFQBSBUPS 4DSJQUͷ۠੾Γจࣈ
TQSJOHEBUBTPVSDFTRMTDSJQUFODPEJOH TQSJOHTRMJOJUFODPEJOH 4DSJQUͷจࣈΤϯίʔσΟϯά
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
4DSJQUͰͷ%#ॳ‫ظ‬Խ‫ػ‬ೳʢTDIFNBTRMEBUBTRMʣͷ಺෦ߏ଄ͷ
มߋ͕͋ΓɺϓϩύςΟ͕มߋʹͳ͍ͬͯΔɻ
σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ

YҎલʢY͔Βඇਪ঑ʣ YҎ߱ આ໌
TQSJOHEBUBTPVSDFJOJUJBMJ[BUJPONPEF
TQSJOHTRMJOJUFOBCMFE	

TQSJOHTRMJOJUNPEF
%#ॳ‫ظ‬Խ‫ػ‬ೳΛ࡞ಈͤ͞Δ৚݅
TQSJOHEBUBTPVSDFQMBUGPSN TQSJOHTRMJOJUQMBUGPSN
EBUBTRMɺTDIFNBTRMͷ෦෼ͷ
ࢦఆ
TQSJOHEBUBTPVSDFTDIFNB TQSJOHTRMJOJUTDIFNBMPDBUJPOT TDIFNBTRMͷϦιʔεύε
TQSJOHEBUBTPVSDFTDIFNBVTFSOBNF TQSJOHTRMJOJUVTFSOBNF TDIFNBTRMͷ%#Ϣʔβ໊
TQSJOHEBUBTPVSDFTDIFNBQBTTXPSE TQSJOHTRMJOJUQBTTXPSE TDIFNBTRMͷ%#Ϣʔβύεϫʔυ
TQSJOHEBUBTPVSDFEBUB TQSJOHTRMJOJUEBUBMPDBUJPOT EBUBTRMͷϦιʔεύε
TQSJOHEBUBTPVSDFEBUBVTFSOBNF TQSJOHTRMJOJUVTFSOBNF EBUBTRMͷ%#Ϣʔβ໊
TQSJOHEBUBTPVSDFEBUBQBTTXPSE TQSJOHTRMJOJUQBTTXPSE EBUBTRMͷ%#Ϣʔβύεϫʔυ
TQSJOHEBUBTPVSDFDPOUJOVFPOFSSPS TQSJOHTRMJOJUDPOUJOVFPOFSSPS
4DSJQU్தͰΤϥʔ͕‫ܧʹ͖࣌ͨى‬
ଓ͢Δ͔
TQSJOHEBUBTPVSDFTFQBSBUPS TQSJOHTRMJOJUTFQBSBUPS 4DSJQUͷ۠੾Γจࣈ
TQSJOHEBUBTPVSDFTRMTDSJQUFODPEJOH TQSJOHTRMJOJUFODPEJOH 4DSJQUͷจࣈΤϯίʔσΟϯά
஫ҙ఺ᶃ
w ͸݁ߏා͍όά͕ɾɾɾ
w ຊ൪‫ڥ؀‬%#Λॳ‫ظ‬Խ͠ͳ͍Α͏஫ҙ
࡞ಈ৚݅ Y
૊ࠐ%#ͷ৔߹ͷΈ FNCFEEFE
FNCFEEFE
 FNCFEEFE
FNCFEEFE
ৗʹ࡞ಈ BMXBZT USVF BMXBZT
ແޮ OFWFS GBMTF OFWFS
σϑΥϧτ஋
IUUQTHJUIVCDPNTQSJOHQSPKFDUTTQSJOHCPPUJTTVFT
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
4DSJQUͰͷ%#ॳ‫ظ‬Խ‫ػ‬ೳʢTDIFNBTRMEBUBTRMʣͷ಺෦ߏ଄ͷ
มߋ͕͋ΓɺϓϩύςΟ͕มߋʹͳ͍ͬͯΔɻ
σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ

YҎલʢY͔Βඇਪ঑ʣ YҎ߱ આ໌
TQSJOHEBUBTPVSDFJOJUJBMJ[BUJPONPEF
TQSJOHTRMJOJUFOBCMFE	

TQSJOHTRMJOJUNPEF
%#ॳ‫ظ‬Խ‫ػ‬ೳΛ࡞ಈͤ͞Δ৚݅
TQSJOHEBUBTPVSDFQMBUGPSN TQSJOHTRMJOJUQMBUGPSN
EBUBTRMɺTDIFNBTRMͷ෦෼ͷ
ࢦఆ
TQSJOHEBUBTPVSDFTDIFNB TQSJOHTRMJOJUTDIFNBMPDBUJPOT TDIFNBTRMͷϦιʔεύε
TQSJOHEBUBTPVSDFTDIFNBVTFSOBNF TQSJOHTRMJOJUVTFSOBNF TDIFNBTRMͷ%#Ϣʔβ໊
TQSJOHEBUBTPVSDFTDIFNBQBTTXPSE TQSJOHTRMJOJUQBTTXPSE TDIFNBTRMͷ%#Ϣʔβύεϫʔυ
TQSJOHEBUBTPVSDFEBUB TQSJOHTRMJOJUEBUBMPDBUJPOT EBUBTRMͷϦιʔεύε
TQSJOHEBUBTPVSDFEBUBVTFSOBNF TQSJOHTRMJOJUVTFSOBNF EBUBTRMͷ%#Ϣʔβ໊
TQSJOHEBUBTPVSDFEBUBQBTTXPSE TQSJOHTRMJOJUQBTTXPSE EBUBTRMͷ%#Ϣʔβύεϫʔυ
TQSJOHEBUBTPVSDFDPOUJOVFPOFSSPS TQSJOHTRMJOJUDPOUJOVFPOFSSPS
4DSJQU్தͰΤϥʔ͕‫ܧʹ͖࣌ͨى‬
ଓ͢Δ͔
TQSJOHEBUBTPVSDFTFQBSBUPS TQSJOHTRMJOJUTFQBSBUPS 4DSJQUͷ۠੾Γจࣈ
TQSJOHEBUBTPVSDFTRMTDSJQUFODPEJOH TQSJOHTRMJOJUFODPEJOH 4DSJQUͷจࣈΤϯίʔσΟϯά
஫ҙ఺ᶄ
w YҎલ͸TDIFNBTRMͱEBUBTRMΛผͷ%#ϢʔβͰ࣮ߦͰ͖ͨ
w YͰ͸ಉҰ%#ϢʔβͰͷΈ࣮ߦͰ͖Δʢઃఆ΋ҰຊԽʣ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
w σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ
w σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬
w %FGBVMUSSPS7JFXͷϝοηʔδඇදࣔ
w CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ
w SSPS$POUSPMMFSͷHFUSSPS1BUI	
ͷഇࢭ
w ͦͷଞ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
ΞϓϦέʔγϣϯ৘ใΛ։ࣔ͢ΔDUVBUPSͷʮJOGPʯ͕σϑΥϧ
τͰެ։͞Εͳ͘ͳͬͨɻ
σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬

IUUQTEPDTTQSJOHJPTQSJOHCPPUEPDTSFGFSFODFIUNMBDUVBUPSIUNMBDUVBUPS
Y:FT
ˣ
Y/P
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
4QSJOH4FDVSJUZґଘແ͠ͷΞϓϦέʔγϣϯͷ৔߹
σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬

Y Y
ެ։͞Ε͍ͯͳ͍
ʮHJUDPNNJUJEQMVHJOʯΛ༻͍ͯϏϧυ࣌ʹHJUQSPQFSUJFTΛੜ੒ͨ͠৔߹ͷྫ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
4QSJOH4FDVSJUZґଘ͋ΓͷΞϓϦέʔγϣϯͷ৔߹
σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬

Y
Y
w ೝূର৅ͱͳͬͨ
w ެ։͞Ε͍ͯͳ͍
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
อ‫ޢ‬Λղআ͢Δํ๏
σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬

Y
management.endpoints.web.exposure.include=health,info
BQQMJDBUJPOQSPQFSUJFT
ެ։͞Εͨ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
w σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ
w σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬
w %FGBVMUSSPS7JFXͷϝοηʔδඇදࣔ
w CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ
w SSPS$POUSPMMFSͷHFUSSPS1BUI	
ͷഇࢭ
w ͦͷଞ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
4QSJOH#PPUʹͯσϑΥϧτͰۭจࣈஔ͖‫͑͞׵‬ΕΔΑ͏ʹͳ
ͬͨΤϥʔϝοηʔδ͕ɺ͔Β͸߲໨͝ͱ࡟আ͞Εͨɻ
%FGBVMUSSPS7JFXͷϝοηʔδඇදࣔ


UJNFTUBNQ5
TUBUVT

FSSPS#BE3FRVFTU

QBUIFSSPS@NFTTBHF
^
Y

UJNFTUBNQ5
TUBUVT

FSSPS#BE3FRVFTU

NFTTBHF

QBUIFSSPS@NFTTBHF
^ NFTTBHF߲໨
ࣗମ͕ͳ͘ͳͬͨ
YʙY

UJNFTUBNQ5
TUBUVT

FSSPS#BE3FRVFTU

NFTTBHF5453303.44(

QBUIFSSPS@NFTTBHF
^
Y
NFTTBHF͕σϑΥͰ
ۭจࣈʹͳͬͨ
@GetMapping(error_message)
public String errorMessage() {
throw new ResponseStatusException(
HttpStatus.BAD_REQUEST,
TEST ERROR MESSAGE);
}
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
ϝοηʔδΛද͍ࣔͨ͠৔߹͸ɺ4QSJOH#PPUʙͰͷରԠͱ
ಉ༷ͷઃఆΛߦ͏ɻ
%FGBVMUSSPS7JFXͷϝοηʔδඇදࣔ


UJNFTUBNQ5
TUBUVT

FSSPS#BE3FRVFTU

NFTTBHF5453303.44(

QBUIFSSPS@NFTTBHF
^
Y
NFTTBHF߲໨
ͱϝοηʔδ͕෮‫ͨ͠׆‬
server.error.include-message=always
BQQMJDBUJPOQSPQFSUJFT
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
w σʔλϕʔεॳ‫ظ‬Խ‫ػ‬ೳͷϦϑΝΫλ
w σϑΥϧτͰͷJOGPΤϯυϙΠϯτͷอ‫ޢ‬
w %FGBVMUSSPS7JFXͷϝοηʔδඇදࣔ
w CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ
w SSPS$POUSPMMFSͷHFUSSPS1BUI	
ͷഇࢭ
w ͦͷଞ
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
CTUSBDU3PVUJOH%BUB4PVSDFʹର͢ΔϔϧενΣοΫ͕ਖ਼֬ʹ‫ػ‬
ೳ͢ΔΑ͏ʹͳͬͨɻ
CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ
Y

Y
management.endpoint.health.show-details=always
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
Կ͔͠Βͷϧʔϧʹ‫͍ͯͮج‬ɺෳ਺ͷ%BUB4PVSDFΛಈతʹ੾Γସ
͑Δ͜ͱ͕Մೳͳ%BUB4PVSDFɻ
ࢀߟɹCTUSBDU3PVUJOH%BUB4PVSDFʹ͍ͭͯ

CTUDBU3PVUJOH
%BUB4PVSDF
۩৅Ϋϥε
QQMJDBUJPO
%BUB4PVSDF
%BUB4PVSDF
ɾɾɾ ɾɾɾ
%BUB4PVSDFͷৼΓ෼͚ϧʔϧΛ࣮૷
AbstractRoutingDataSource routingDataSource = new AbstractRoutingDataSource() {
@Override
protected Object determineCurrentLookupKey() {
return idHolder.getId() % 2 == 0 ? even : odd;
}
};
routingDataSource.setTargetDataSources(
Map.of(even, dataSource1, odd, dataSource2));
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
FWFO
PEE
JE
4QSJOH#PPUYͷϔϧενΣοΫͰ͸੾Γସ͑ର৅ͷ
%BUB4PVSDFશͯͷϔϧενΣοΫΛߦ͏ɻ
CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ

CTUDBU3PVUJOH
%BUB4PVSDF
۩৅Ϋϥε
QQMJDBUJPO
%BUB4PVSDF
%BUB4PVSDF
ɾɾɾ ɾɾɾ
DUVBUPS
-PBE#BMBODFS
)FBMUI
)FBMUI
)FBMUI
)FBMUI
)FBMUI 61
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
Y
%#͕̍ͭͰ΋ো֐͕‫͖ى‬ΔͱϔϧενΣοΫ͕/(ͱͳΔΑ͏ʹͳ
ͬͨɻ
CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ

CTUDBU3PVUJOH
%BUB4PVSDF
۩৅Ϋϥε
QQMJDBUJPO
%BUB4PVSDF
%BUB4PVSDF
ɾɾɾ ɾɾɾ
DUVBUPS
-PBE#BMBODFS
)FBMUI
)FBMUI
)FBMUI
)FBMUI
)FBMUI %08/ҟৗΠϯελϯεͱΈͳ͠ɺ-#͔Β੾Γ཭͠౳
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬
Y
Ұ෦ͷ%#͚ͩͰαʔϏε‫ܧ‬ଓ͞
͍ͤͨ৔߹͸໰୊͋Γ
ແޮʹ͍ͨ͠৔߹͸ɺҎԼͰઃఆΛ0''ʹ͢Δɻ
CTUSBDU3PVUJOH%BUB4PVSDFͷϔϧενΣοΫ࢓༷มߋ

# AbstractRoutingDataSourceҎ֎ͷDataSource͕ଘࡏ͢Δ৔߹
management.health.db.ignore-routing-data-sources=true
# ଘࡏ͠ͳ͍৔߹
management.health.db.enabled=false
BQQMJDBUJPOQSPQFSUJFT
Y
‫ط‬ଘ‫ػ‬ೳͷมߋ΍Ө‫ڹ‬

More Related Content

What's hot

やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDeleteYu Yamada
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)NTT DATA Technology & Innovation
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?Teppei Sato
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccYujiSoftware
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところY Watanabe
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すTakaya Saeki
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方Yoshiyasu SAEKI
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!NTT DATA Technology & Innovation
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkTakanori Suzuki
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケットTakaaki Hoyo
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本kazuki kumagai
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮Hibino Hisashi
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編Miki Shimogai
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観Yamato Tanaka
 

What's hot (20)

やってはいけない空振りDelete
やってはいけない空振りDeleteやってはいけない空振りDelete
やってはいけない空振りDelete
 
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
PostgreSQLをKubernetes上で活用するためのOperator紹介!(Cloud Native Database Meetup #3 発表資料)
 
君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?君はyarn.lockをコミットしているか?
君はyarn.lockをコミットしているか?
 
YJTC19 B-6 Yahoo! JAPANの巨大インフラの運用と展望 #yjtc
YJTC19 B-6 Yahoo! JAPANの巨大インフラの運用と展望 #yjtcYJTC19 B-6 Yahoo! JAPANの巨大インフラの運用と展望 #yjtc
YJTC19 B-6 Yahoo! JAPANの巨大インフラの運用と展望 #yjtc
 
噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp噛み砕いてKafka Streams #kafkajp
噛み砕いてKafka Streams #kafkajp
 
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_cccJEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
JEP280: Java 9 で文字列結合の処理が変わるぞ!準備はいいか!? #jjug_ccc
 
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajpAt least onceってぶっちゃけ問題の先送りだったよね #kafkajp
At least onceってぶっちゃけ問題の先送りだったよね #kafkajp
 
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
 
WebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話すWebAssemblyのWeb以外のことぜんぶ話す
WebAssemblyのWeb以外のことぜんぶ話す
 
ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方ストリーム処理を支えるキューイングシステムの選び方
ストリーム処理を支えるキューイングシステムの選び方
 
ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開ヤフー社内でやってるMySQLチューニングセミナー大公開
ヤフー社内でやってるMySQLチューニングセミナー大公開
 
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!祝!PostgreSQLレプリケーション10周年!徹底紹介!!
祝!PostgreSQLレプリケーション10周年!徹底紹介!!
 
IoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache FlinkIoT時代におけるストリームデータ処理と急成長の Apache Flink
IoT時代におけるストリームデータ処理と急成長の Apache Flink
 
Scapyで作る・解析するパケット
Scapyで作る・解析するパケットScapyで作る・解析するパケット
Scapyで作る・解析するパケット
 
perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)perfを使ったPostgreSQLの解析(前編)
perfを使ったPostgreSQLの解析(前編)
 
nginx入門
nginx入門nginx入門
nginx入門
 
ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本ぱぱっと理解するSpring Cloudの基本
ぱぱっと理解するSpring Cloudの基本
 
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
【第26回Elasticsearch勉強会】Logstashとともに振り返る、やっちまった事例ごった煮
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観ML2/OVN アーキテクチャ概観
ML2/OVN アーキテクチャ概観
 

Similar to What's New in Spring Boot 2.5

Biw learning in the new normal
Biw learning in the new normalBiw learning in the new normal
Biw learning in the new normalJohnMoor5
 
Gerencia de informatic apdf
Gerencia de informatic apdfGerencia de informatic apdf
Gerencia de informatic apdfGiomar Serna
 
Vol vier05ag
Vol vier05ag Vol vier05ag
Vol vier05ag hipicoscl
 
Japanese niv
Japanese nivJapanese niv
Japanese nivgriffey24
 
ASSEMBLEA GENERALE ANDIL 2014
ASSEMBLEA GENERALE ANDIL 2014ASSEMBLEA GENERALE ANDIL 2014
ASSEMBLEA GENERALE ANDIL 2014ANDIL_laterizi
 
Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF)
Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF) Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF)
Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF) NIHON DENKEI SINGAPORE
 
Calea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing BrokerCalea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing BrokerSSIF Romcapital SA
 
Mitarbeiterbindung als Instrument zur Steigerung der Arbeitgeberattraktivität
Mitarbeiterbindung als Instrument zur Steigerung der ArbeitgeberattraktivitätMitarbeiterbindung als Instrument zur Steigerung der Arbeitgeberattraktivität
Mitarbeiterbindung als Instrument zur Steigerung der ArbeitgeberattraktivitätSoftware Saxony / AG Personal
 
G2 bsc commissioning manual release b7.2
G2 bsc commissioning manual   release b7.2G2 bsc commissioning manual   release b7.2
G2 bsc commissioning manual release b7.2chungminh1108
 
大規模画像配信とPerl
大規模画像配信とPerl大規模画像配信とPerl
大規模画像配信とPerlMasahiro Nagano
 
v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...
v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...
v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...Andrew Networks
 

Similar to What's New in Spring Boot 2.5 (20)

Biw learning in the new normal
Biw learning in the new normalBiw learning in the new normal
Biw learning in the new normal
 
Buenas practicas
Buenas practicasBuenas practicas
Buenas practicas
 
Gerencia de informatic apdf
Gerencia de informatic apdfGerencia de informatic apdf
Gerencia de informatic apdf
 
Tax, GST, Direct and Indirect Tax MCQS 3 by Dr Mamata Rathi
Tax, GST, Direct and Indirect Tax MCQS 3 by Dr Mamata RathiTax, GST, Direct and Indirect Tax MCQS 3 by Dr Mamata Rathi
Tax, GST, Direct and Indirect Tax MCQS 3 by Dr Mamata Rathi
 
Volvie5
Volvie5Volvie5
Volvie5
 
Vol vier05ag
Vol vier05ag Vol vier05ag
Vol vier05ag
 
Japanese niv
Japanese nivJapanese niv
Japanese niv
 
ASSEMBLEA GENERALE ANDIL 2014
ASSEMBLEA GENERALE ANDIL 2014ASSEMBLEA GENERALE ANDIL 2014
ASSEMBLEA GENERALE ANDIL 2014
 
Hioki short catalog_e9-12b_denkei_ss
Hioki short catalog_e9-12b_denkei_ssHioki short catalog_e9-12b_denkei_ss
Hioki short catalog_e9-12b_denkei_ss
 
Coding Guidelines
Coding GuidelinesCoding Guidelines
Coding Guidelines
 
Kikusui pcr wea-wea2 AC Power Supply
Kikusui pcr wea-wea2 AC Power Supply Kikusui pcr wea-wea2 AC Power Supply
Kikusui pcr wea-wea2 AC Power Supply
 
Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF)
Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF) Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF)
Kikusui pcr wea Ultra-Compact AC/DC Programmable Power Supply (CV/CF)
 
Calea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing BrokerCalea spre Parteneriat - Programul Introducing Broker
Calea spre Parteneriat - Programul Introducing Broker
 
Mitarbeiterbindung als Instrument zur Steigerung der Arbeitgeberattraktivität
Mitarbeiterbindung als Instrument zur Steigerung der ArbeitgeberattraktivitätMitarbeiterbindung als Instrument zur Steigerung der Arbeitgeberattraktivität
Mitarbeiterbindung als Instrument zur Steigerung der Arbeitgeberattraktivität
 
Ttake Mandrini 01
Ttake Mandrini 01Ttake Mandrini 01
Ttake Mandrini 01
 
Vie12ag
Vie12agVie12ag
Vie12ag
 
12ago
12ago 12ago
12ago
 
G2 bsc commissioning manual release b7.2
G2 bsc commissioning manual   release b7.2G2 bsc commissioning manual   release b7.2
G2 bsc commissioning manual release b7.2
 
大規模画像配信とPerl
大規模画像配信とPerl大規模画像配信とPerl
大規模画像配信とPerl
 
v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...
v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...
v20200429 Diaspora International Decade for Peoples of African Descent SDGs A...
 

More from ikeyat

[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性
[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性
[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性ikeyat
 
知っておきたいSpring Batch Tips
知っておきたいSpring Batch Tips知っておきたいSpring Batch Tips
知っておきたいSpring Batch Tipsikeyat
 
既存アプリケーションをJava11に対応させる際に 知っておくべきこと
既存アプリケーションをJava11に対応させる際に 知っておくべきこと既存アプリケーションをJava11に対応させる際に 知っておくべきこと
既存アプリケーションをJava11に対応させる際に 知っておくべきことikeyat
 
Spring IO Platform再考
Spring IO Platform再考Spring IO Platform再考
Spring IO Platform再考ikeyat
 
建築に学ぶマイクロサービス
建築に学ぶマイクロサービス建築に学ぶマイクロサービス
建築に学ぶマイクロサービスikeyat
 
Beginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_studyBeginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_studyikeyat
 

More from ikeyat (6)

[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性
[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性
[JSUG SpringOne 2021 報告会]見えてきたSpring 6.0の方向性
 
知っておきたいSpring Batch Tips
知っておきたいSpring Batch Tips知っておきたいSpring Batch Tips
知っておきたいSpring Batch Tips
 
既存アプリケーションをJava11に対応させる際に 知っておくべきこと
既存アプリケーションをJava11に対応させる際に 知っておくべきこと既存アプリケーションをJava11に対応させる際に 知っておくべきこと
既存アプリケーションをJava11に対応させる際に 知っておくべきこと
 
Spring IO Platform再考
Spring IO Platform再考Spring IO Platform再考
Spring IO Platform再考
 
建築に学ぶマイクロサービス
建築に学ぶマイクロサービス建築に学ぶマイクロサービス
建築に学ぶマイクロサービス
 
Beginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_studyBeginning Java EE 6 勉強会(7) #bje_study
Beginning Java EE 6 勉強会(7) #bje_study
 

Recently uploaded

WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...masabamasaba
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park masabamasaba
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationJuha-Pekka Tolvanen
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnAmarnathKambale
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburgmasabamasaba
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...masabamasaba
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Bert Jan Schrijver
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2
 
tonesoftg
tonesoftgtonesoftg
tonesoftglanshi9
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareJim McKeeth
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...Jittipong Loespradit
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...Shane Coughlan
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2
 

Recently uploaded (20)

WSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - KanchanaWSO2Con2024 - Hello Choreo Presentation - Kanchana
WSO2Con2024 - Hello Choreo Presentation - Kanchana
 
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
%+27788225528 love spells in Boston Psychic Readings, Attraction spells,Bring...
 
WSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go PlatformlessWSO2CON2024 - It's time to go Platformless
WSO2CON2024 - It's time to go Platformless
 
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park %in kempton park+277-882-255-28 abortion pills for sale in kempton park
%in kempton park+277-882-255-28 abortion pills for sale in kempton park
 
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
WSO2Con2024 - From Code To Cloud: Fast Track Your Cloud Native Journey with C...
 
What Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the SituationWhat Goes Wrong with Language Definitions and How to Improve the Situation
What Goes Wrong with Language Definitions and How to Improve the Situation
 
VTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learnVTU technical seminar 8Th Sem on Scikit-learn
VTU technical seminar 8Th Sem on Scikit-learn
 
WSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - KeynoteWSO2Con204 - Hard Rock Presentation - Keynote
WSO2Con204 - Hard Rock Presentation - Keynote
 
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
%in Rustenburg+277-882-255-28 abortion pills for sale in Rustenburg
 
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
%+27788225528 love spells in Knoxville Psychic Readings, Attraction spells,Br...
 
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
Abortion Pill Prices Tembisa [(+27832195400*)] 🏥 Women's Abortion Clinic in T...
 
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
Devoxx UK 2024 - Going serverless with Quarkus, GraalVM native images and AWS...
 
WSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AIWSO2CON 2024 Slides - Unlocking Value with AI
WSO2CON 2024 Slides - Unlocking Value with AI
 
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
WSO2Con2024 - From Blueprint to Brilliance: WSO2's Guide to API-First Enginee...
 
tonesoftg
tonesoftgtonesoftg
tonesoftg
 
Announcing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK SoftwareAnnouncing Codolex 2.0 from GDK Software
Announcing Codolex 2.0 from GDK Software
 
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
MarTech Trend 2024 Book : Marketing Technology Trends (2024 Edition) How Data...
 
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
OpenChain - The Ramifications of ISO/IEC 5230 and ISO/IEC 18974 for Legal Pro...
 
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
WSO2CON 2024 - API Management Usage at La Poste and Its Impact on Business an...
 
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open SourceWSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
WSO2CON 2024 - Freedom First—Unleashing Developer Potential with Open Source
 

What's New in Spring Boot 2.5