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

Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これからKenji Kazumura
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニングyoku0825
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계Jinho Yoo
 
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャーssuser070fa9
 
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Seongyun Byeon
 
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51Takakiyo Tanaka
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Cloudera Japan
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리YoungHeon (Roy) Kim
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...NTT DATA Technology & Innovation
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)Hiroshi Tokumaru
 
REST API 설계
REST API 설계REST API 설계
REST API 설계Terry Cho
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugMasatoshi Tada
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)NTT DATA Technology & Innovation
 
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)Yoshiro Tokumasu
 
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetupこれで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線MeetupMasatoshi Tada
 
10分でわかるOpenAPI V3
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3Kazuchika Sekiya
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話Yoshitaka Kawashima
 

What's hot (20)

Jakarta EE 9 と これから
Jakarta EE 9 と これからJakarta EE 9 と これから
Jakarta EE 9 と これから
 
雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング雑なMySQLパフォーマンスチューニング
雑なMySQLパフォーマンスチューニング
 
RESTful API 설계
RESTful API 설계RESTful API 설계
RESTful API 설계
 
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
【Spring fest 2019】徹底解剖Spring MVCアーキテクチャー
 
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라Little Big Data #1. 바닥부터 시작하는 데이터 인프라
Little Big Data #1. 바닥부터 시작하는 데이터 인프라
 
Vue.js で XSS
Vue.js で XSSVue.js で XSS
Vue.js で XSS
 
Metaspace
MetaspaceMetaspace
Metaspace
 
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
Eclipse と Liberty プロファイルで始める Java EE 開発ハンズオン #jjug_ccc #ccc_r51
 
Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理Apache Hadoop YARNとマルチテナントにおけるリソース管理
Apache Hadoop YARNとマルチテナントにおけるリソース管理
 
Airflow를 이용한 데이터 Workflow 관리
Airflow를 이용한  데이터 Workflow 관리Airflow를 이용한  데이터 Workflow 관리
Airflow를 이용한 데이터 Workflow 관리
 
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
Apache BigtopによるHadoopエコシステムのパッケージング(Open Source Conference 2021 Online/Osaka...
 
文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)文字コードに起因する脆弱性とその対策(増補版)
文字コードに起因する脆弱性とその対策(増補版)
 
REST API 설계
REST API 설계REST API 설계
REST API 설계
 
Native Memory Tracking
Native Memory TrackingNative Memory Tracking
Native Memory Tracking
 
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsugJava ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
 
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
YugabyteDBを使ってみよう(NewSQL/分散SQLデータベースよろず勉強会 #1 発表資料)
 
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
JDK 16 で導入された JEP 396 にご注意!! (JJUG CCC 2021 Spring)
 
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetupこれで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
これで怖くない!?コードリーディングで学ぶSpring Security #中央線Meetup
 
10分でわかるOpenAPI V3
10分でわかるOpenAPI V310分でわかるOpenAPI V3
10分でわかるOpenAPI V3
 
強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話強いて言えば「集約どう実装するのかな、を考える」な話
強いて言えば「集約どう実装するのかな、を考える」な話
 

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 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)
 
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
 
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...
 

Recently uploaded

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...soniya singh
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationkaushalgiri8080
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutionsmonugehlot87
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsMehedi Hasan Shohan
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...gurkirankumar98700
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmSujith Sukumaran
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number SystemsJheuzeDellosa
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEOrtus Solutions, Corp
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...stazi3110
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - InfographicHr365.us smith
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)OPEN KNOWLEDGE GmbH
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningVitsRangannavar
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyFrank van der Linden
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptkotipi9215
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackVICTOR MAESTRE RAMIREZ
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样umasea
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfkalichargn70th171
 

Recently uploaded (20)

Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
Russian Call Girls in Karol Bagh Aasnvi ➡️ 8264348440 💋📞 Independent Escort S...
 
Project Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanationProject Based Learning (A.I).pptx detail explanation
Project Based Learning (A.I).pptx detail explanation
 
buds n tech IT solutions
buds n  tech IT                solutionsbuds n  tech IT                solutions
buds n tech IT solutions
 
XpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software SolutionsXpertSolvers: Your Partner in Building Innovative Software Solutions
XpertSolvers: Your Partner in Building Innovative Software Solutions
 
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
(Genuine) Escort Service Lucknow | Starting ₹,5K To @25k with A/C 🧑🏽‍❤️‍🧑🏻 89...
 
Intelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalmIntelligent Home Wi-Fi Solutions | ThinkPalm
Intelligent Home Wi-Fi Solutions | ThinkPalm
 
What is Binary Language? Computer Number Systems
What is Binary Language?  Computer Number SystemsWhat is Binary Language?  Computer Number Systems
What is Binary Language? Computer Number Systems
 
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed DataAlluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
Alluxio Monthly Webinar | Cloud-Native Model Training on Distributed Data
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASEBATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
BATTLEFIELD ORM: TIPS, TACTICS AND STRATEGIES FOR CONQUERING YOUR DATABASE
 
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
Building a General PDE Solving Framework with Symbolic-Numeric Scientific Mac...
 
Asset Management Software - Infographic
Asset Management Software - InfographicAsset Management Software - Infographic
Asset Management Software - Infographic
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)Der Spagat zwischen BIAS und FAIRNESS (2024)
Der Spagat zwischen BIAS und FAIRNESS (2024)
 
cybersecurity notes for mca students for learning
cybersecurity notes for mca students for learningcybersecurity notes for mca students for learning
cybersecurity notes for mca students for learning
 
Engage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The UglyEngage Usergroup 2024 - The Good The Bad_The Ugly
Engage Usergroup 2024 - The Good The Bad_The Ugly
 
chapter--4-software-project-planning.ppt
chapter--4-software-project-planning.pptchapter--4-software-project-planning.ppt
chapter--4-software-project-planning.ppt
 
Cloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStackCloud Management Software Platforms: OpenStack
Cloud Management Software Platforms: OpenStack
 
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
办理学位证(UQ文凭证书)昆士兰大学毕业证成绩单原版一模一样
 
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdfThe Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
The Essentials of Digital Experience Monitoring_ A Comprehensive Guide.pdf
 

What's New in Spring Boot 2.5