The keycloak project ended with four open questions that design could not
settle. A two-VM lab was built to answer them by measurement, and this is
that material: 26 experiments, 125 raw command outputs, 22 browser captures.
Follows the import procedure in README.md.
source/ the originating repository verbatim — 78 documents, 28 SVGs,
8 manifests, plus .source-revision recording the commit
final/ the SSOT
document.md 729 lines written from the 29 experiment documents, not
concatenated: what was predicted, what was measured, and
where the measurement itself was wrong
evidence/raw 125 outputs, flattened to <experiment>__<file> because
the originals collided (01-baseline.txt appeared three
times) and the audit only globs the top level
evidence/meta one per raw file; command and exitCode are null and the
README says why rather than inventing them
evidence/browser 22 captures
assets/ three diagrams through techviz
.techviz/ their VizSpecs
A separate project rather than an addition to keycloak: the B-layer answers
that project's four questions, but the A, C and D layers are about cluster
failure, SSO and operations, and one document.md should hold one subject.
The four question records there can point here through 관계.
Recorded rather than papered over: only three of the 28 diagrams were
remade. The repository forbids hand-drawn SVG and forbids titles inside the
canvas; all 28 originals carry both, so converting them is redrawing, not
reformatting. They stay in source/ and the gap is written into the document.
verify-pipeline.py passes. audit-records.py reports no issues.
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
359 lines
80 KiB
XML
359 lines
80 KiB
XML
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="7938" viewBox="0 0 1200 7938" role="img">
|
|
<title>terminal evidence</title>
|
|
<desc>Terminal-style rendering generated from retained command output. Sensitive-looking values are redacted in the visual asset.</desc>
|
|
<rect x="1" y="1" width="1198" height="7936" rx="14" fill="#0d1117" stroke="#30363d"/>
|
|
<rect x="1" y="1" width="1198" height="44" rx="14" fill="#161b22"/>
|
|
<rect x="1" y="30" width="1198" height="14" fill="#161b22"/>
|
|
<circle cx="24" cy="22" r="6" fill="#ff5f57"/>
|
|
<circle cx="44" cy="22" r="6" fill="#febc2e"/>
|
|
<circle cx="64" cy="22" r="6" fill="#28c840"/>
|
|
<text x="92" y="27" fill="#8b949e" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace">terminal evidence</text>
|
|
<text x="24" y="68" fill="#c9d1d9" font-size="15" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0">$ #!/bin/bash
|
|
set -euo pipefail
|
|
cd /shared/codebase/clean-architecture-backend-template
|
|
. /tmp/lib.sh
|
|
V=src/adapter/outb</tspan><tspan x="24" dy="22">ound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/config/PersistenceVendorSettings.java
|
|
A=s</tspan><tspan x="24" dy="22">rc/app-bootstrap/src/main/java/dev/caskeleton/bootstrap/autoconfigure/persistencejpa/PersistenceJpaRootAutoConfiguration</tspan><tspan x="24" dy="22">.java
|
|
J=src/adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/config/JpaAdapter</tspan><tspan x="24" dy="22">ComponentsConfig.java
|
|
O=src/adapter/outbound/persistence-jpa/src/main/java/dev/caskeleton/adapter/outbound/persistence/o</tspan><tspan x="24" dy="22">utbox/OutboxStoreAdapter.java
|
|
D=src/app-bootstrap/src/main/java/dev/caskeleton/bootstrap/autoconfigure/jpa/JpaDataSource</tspan><tspan x="24" dy="22">ProfileValidator.java
|
|
C=src/app-bootstrap/src/main/java/dev/caskeleton/bootstrap/CaSkeletonApplication.java
|
|
S=src/sample</tspan><tspan x="24" dy="22">-portfolio/src/main/java/dev/caskeleton/sample/portfolio/SamplePortfolioApplication.java
|
|
T=$(git ls-files -- '**/Persist</tspan><tspan x="24" dy="22">enceVendorSelectionTest.java')
|
|
for f in "$V" "$A" "$J" "$O" "$D" "$C" "$S" "$T"; do test -f "$f"; done
|
|
|
|
echo "# 그 타입</tspan><tspan x="24" dy="22">이 약속하는 것"
|
|
at "$V" 1 35 PersistenceVendorSettings.java
|
|
|
|
echo
|
|
echo "# 그 타입을 빈으로 등록하는 자리"
|
|
printf ' Enab</tspan><tspan x="24" dy="22">leConfigurationProperties 가 이 타입을 담은 main 줄 : %s 개\n' \
|
|
"$({ git grep -nE 'EnableConfigurationProperties.*Per</tspan><tspan x="24" dy="22">sistenceVendorSettings' -- 'src/**/*.java' || true; } | { grep -c '/src/main/' || true; })"
|
|
echo " ConfigurationPropert</tspan><tspan x="24" dy="22">iesScan 애너테이션이 붙은 main 자리 (주석 제외) :"
|
|
{ git grep -nE '^\s*@ConfigurationPropertiesScan' -- 'src/**/*.java' </tspan><tspan x="24" dy="22">|| true; } \
|
|
| { grep '/src/main/' || true; } | sed -E 's#^src/(.*)/src/main/java/.*/([A-Za-z0-9_]+\.java):([0-9]+): *</tspan><tspan x="24" dy="22"># \1 · \2:\3 #'
|
|
echo " 이 타입이 나오는 자리 전부 :"
|
|
hits 'PersistenceVendorSettings' 'src/**/*.java' | mod
|
|
|
|
echo
|
|
</tspan><tspan x="24" dy="22">echo "# 두 애플리케이션의 스캔 범위가 다르다"
|
|
at "$C" 58 80 CaSkeletonApplication.java
|
|
echo
|
|
at "$S" 44 48 SamplePortfoli</tspan><tspan x="24" dy="22">oApplication.java
|
|
{ grep -n 'persistence-jpa' src/sample-portfolio/build.gradle || true; } \
|
|
| sed -E 's#^([0-9]+): *#</tspan><tspan x="24" dy="22"> sample-portfolio/build.gradle:\1 #'
|
|
|
|
echo
|
|
echo "# 합성 루트가 그 자리에서 무엇을 하는가"
|
|
at "$A" 56 70 PersistenceJpa</tspan><tspan x="24" dy="22">RootAutoConfiguration.java
|
|
at "$A" 85 115 PersistenceJpaRootAutoConfiguration.java
|
|
|
|
echo
|
|
echo "# 그 불린을 받는 쪽"
|
|
at "</tspan><tspan x="24" dy="22">$D" 44 60 JpaDataSourceProfileValidator.java
|
|
|
|
echo
|
|
echo "# 오타 난 벤더가 무엇을 무너뜨리는가 — 조립 경로"
|
|
at "$J" 55 6</tspan><tspan x="24" dy="22">8 JpaAdapterComponentsConfig.java
|
|
at "$O" 20 33 OutboxStoreAdapter.java
|
|
|
|
echo
|
|
echo "# 그 값을 실제로 넣고 돌린 결과"
|
|
ech</tspan><tspan x="24" dy="22">o " 프로브 : /tmp/probe-vendor/VendorProbe.java · ApplicationContextRunner 세 조립"
|
|
at /tmp/probe-vendor/VendorProbe.j</tspan><tspan x="24" dy="22">ava 36 47 VendorProbe.java
|
|
at /tmp/probe-vendor/VendorProbe.java 74 81 VendorProbe.java
|
|
echo
|
|
( cd /tmp/probe-vendor \
|
|
</tspan><tspan x="24" dy="22">&& javac -nowarn -encoding UTF-8 -cp "$(cat cp.txt)" -d out VendorProbe.java \
|
|
&& java -Dstdout.encoding=UTF-8 -Dlogba</tspan><tspan x="24" dy="22">ck.configurationFile=/tmp/probe-vendor/logback.xml \
|
|
-cp "out:$(cat cp.txt)" VendorProbe )
|
|
|
|
echo
|
|
echo "# 시험은 </tspan><tspan x="24" dy="22">그 타입을 켜고 돌린다"
|
|
at "$T" 28 62 PersistenceVendorSelectionTest.java
|
|
at "$T" 88 94 PersistenceVendorSelectionTest.ja</tspan><tspan x="24" dy="22">va
|
|
</tspan></text>
|
|
<text x="24" y="662" fill="#8b949e" font-size="13" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0">cwd: /shared/codebase/clean-architecture-backend-template</tspan></text>
|
|
<text x="24" y="684" fill="#8b949e" font-size="13" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0">time: 2026-09-04T06:53:43+00:00 · exit 0</tspan></text>
|
|
<line x1="24" y1="698" x2="1176" y2="698" stroke="#30363d"/>
|
|
<text x="24" y="738" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 그 타입이 약속하는 것</tspan></text>
|
|
<text x="24" y="760" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:1 package dev.caskeleton.adapter.outbound.persistence.config;</tspan></text>
|
|
<text x="24" y="782" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:2 </tspan></text>
|
|
<text x="24" y="804" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:3 import org.springframework.boot.context.properties.ConfigurationProperties;</tspan></text>
|
|
<text x="24" y="826" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:4 </tspan></text>
|
|
<text x="24" y="848" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:5 /**</tspan></text>
|
|
<text x="24" y="870" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:6 * Selects which RDBMS vendor composition this deployment runs.</tspan></text>
|
|
<text x="24" y="892" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:7 *</tspan></text>
|
|
<text x="24" y="914" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:8 * <p>The selector is a property rather than a profile name because the vendor is a property </tspan><tspan x="24" dy="22">of the</tspan></text>
|
|
<text x="24" y="958" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:9 * datastore, not of the environment that happens to use it. A fork that runs PostgreSQL unde</tspan><tspan x="24" dy="22">r a</tspan></text>
|
|
<text x="24" y="1002" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:10 * profile named something other than {@code dev}/{@code prod}, or that wants H2 in a throwa</tspan><tspan x="24" dy="22">way</tspan></text>
|
|
<text x="24" y="1046" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:11 * demo, sets this key; it does not have to rename its profiles or edit a condition.</tspan></text>
|
|
<text x="24" y="1068" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:12 *</tspan></text>
|
|
<text x="24" y="1090" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:13 * <p>Binding to an enum is what makes an unknown vendor a startup failure. With a raw strin</tspan><tspan x="24" dy="22">g the</tspan></text>
|
|
<text x="24" y="1134" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:14 * two {@code @ConditionalOnProperty} vendor configurations would both stay off, and the fir</tspan><tspan x="24" dy="22">st</tspan></text>
|
|
<text x="24" y="1178" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:15 * missing SPI bean would surface as a {@code NoSuchBeanDefinitionException} naming {@code</tspan></text>
|
|
<text x="24" y="1200" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:16 * OutboxClaimRepository} — a symptom several layers away from the misspelled value that ca</tspan><tspan x="24" dy="22">used it.</tspan></text>
|
|
<text x="24" y="1244" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:17 */</tspan></text>
|
|
<text x="24" y="1266" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:18 @ConfigurationProperties(prefix = PersistenceVendorSettings.PREFIX)</tspan></text>
|
|
<text x="24" y="1288" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:19 public record PersistenceVendorSettings(Vendor vendor) {</tspan></text>
|
|
<text x="24" y="1310" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:20 </tspan></text>
|
|
<text x="24" y="1332" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:21 public static final String PREFIX = "ca-skeleton.persistence";</tspan></text>
|
|
<text x="24" y="1354" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:22 public static final String VENDOR_PROPERTY = PREFIX + ".vendor";</tspan></text>
|
|
<text x="24" y="1376" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:23 </tspan></text>
|
|
<text x="24" y="1398" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:24 /** The RDBMS vendors this repository composes a persistence adapter for. */</tspan></text>
|
|
<text x="24" y="1420" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:25 public enum Vendor {</tspan></text>
|
|
<text x="24" y="1442" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:26 POSTGRESQL,</tspan></text>
|
|
<text x="24" y="1464" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:27 H2</tspan></text>
|
|
<text x="24" y="1486" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:28 }</tspan></text>
|
|
<text x="24" y="1508" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:29 </tspan></text>
|
|
<text x="24" y="1530" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:30 public PersistenceVendorSettings {</tspan></text>
|
|
<text x="24" y="1552" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:31 // Absent means PostgreSQL: the vendor every deployment before this selector existed ran</tspan><tspan x="24" dy="22">, so an</tspan></text>
|
|
<text x="24" y="1596" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:32 // upgrade that does not set the key keeps its datastore.</tspan></text>
|
|
<text x="24" y="1618" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:33 vendor = vendor == null ? Vendor.POSTGRESQL : vendor;</tspan></text>
|
|
<text x="24" y="1640" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:34 }</tspan></text>
|
|
<text x="24" y="1662" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSettings.java:35 }</tspan></text>
|
|
<text x="24" y="1684" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="1706" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 그 타입을 빈으로 등록하는 자리</tspan></text>
|
|
<text x="24" y="1728" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> EnableConfigurationProperties 가 이 타입을 담은 main 줄 : 0 개</tspan></text>
|
|
<text x="24" y="1750" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> ConfigurationPropertiesScan 애너테이션이 붙은 main 자리 (주석 제외) :</tspan></text>
|
|
<text x="24" y="1772" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> app-bootstrap · CaSkeletonApplication.java:58 @ConfigurationPropertiesScan(</tspan></text>
|
|
<text x="24" y="1794" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> sample-portfolio · SamplePortfolioApplication.java:46 @ConfigurationPropertiesScan(basePackages = "dev.caskeleton")</tspan></text>
|
|
<text x="24" y="1816" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 이 타입이 나오는 자리 전부 :</tspan></text>
|
|
<text x="24" y="1838" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PersistenceVendorSettings.java:18 @ConfigurationProperties(prefix = PersistenceVe</tspan><tspan x="24" dy="22">ndorSettings.PREFIX)</tspan></text>
|
|
<text x="24" y="1882" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PersistenceVendorSettings.java:19 public record PersistenceVendorSettings(Vendor </tspan><tspan x="24" dy="22">vendor) {</tspan></text>
|
|
<text x="24" y="1926" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PersistenceVendorSettings.java:30 public PersistenceVendorSettings {</tspan></text>
|
|
<text x="24" y="1948" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · H2PersistenceConfig.java:4 import dev.caskeleton.adapter.outbound.persistence.con</tspan><tspan x="24" dy="22">fig.PersistenceVendorSettings;</tspan></text>
|
|
<text x="24" y="1992" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · H2PersistenceConfig.java:42 prefix = PersistenceVendorSettings.PREFIX,</tspan></text>
|
|
<text x="24" y="2014" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PostgreSqlPersistenceConfig.java:5 import dev.caskeleton.adapter.outbound.persist</tspan><tspan x="24" dy="22">ence.config.PersistenceVendorSettings;</tspan></text>
|
|
<text x="24" y="2058" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PostgreSqlPersistenceConfig.java:29 * PersistenceVendorSettings} back from {@code</tspan><tspan x="24" dy="22"> config} — so the composition root names both vendor</tspan></text>
|
|
<text x="24" y="2102" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PostgreSqlPersistenceConfig.java:33 * unconditional before {@link PersistenceVend</tspan><tspan x="24" dy="22">orSettings} existed, and a deployment that never sets</tspan></text>
|
|
<text x="24" y="2146" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · main · PostgreSqlPersistenceConfig.java:39 prefix = PersistenceVendorSettings.PREFIX,</tspan></text>
|
|
<text x="24" y="2168" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:5 import dev.caskeleton.adapter.outbound.pers</tspan><tspan x="24" dy="22">istence.config.PersistenceVendorSettings.Vendor;</tspan></text>
|
|
<text x="24" y="2212" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:34 .withPropertyValues(PersistenceVendorSetti</tspan><tspan x="24" dy="22">ngs.VENDOR_PROPERTY + "=" + value)</tspan></text>
|
|
<text x="24" y="2256" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:38 assertThat(context.getBean(PersistenceVend</tspan><tspan x="24" dy="22">orSettings.class).vendor())</tspan></text>
|
|
<text x="24" y="2300" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:47 assertThat(context.getBean(PersistenceVend</tspan><tspan x="24" dy="22">orSettings.class).vendor())</tspan></text>
|
|
<text x="24" y="2344" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:54 .withPropertyValues(PersistenceVendorSetti</tspan><tspan x="24" dy="22">ngs.VENDOR_PROPERTY + "=mysql")</tspan></text>
|
|
<text x="24" y="2388" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:59 .hasStackTraceContaining(PersistenceVendor</tspan><tspan x="24" dy="22">Settings.VENDOR_PROPERTY);</tspan></text>
|
|
<text x="24" y="2432" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:69 assertThat(condition.prefix()).isEqualTo(P</tspan><tspan x="24" dy="22">ersistenceVendorSettings.PREFIX);</tspan></text>
|
|
<text x="24" y="2476" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:83 assertThat(condition.prefix()).isEqualTo(P</tspan><tspan x="24" dy="22">ersistenceVendorSettings.PREFIX);</tspan></text>
|
|
<text x="24" y="2520" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> adapter/outbound/persistence-jpa · test · PersistenceVendorSelectionTest.java:92 @EnableConfigurationProperties(Persistence</tspan><tspan x="24" dy="22">VendorSettings.class)</tspan></text>
|
|
<text x="24" y="2564" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> app-bootstrap · main · PersistenceJpaRootAutoConfiguration.java:4 import dev.caskeleton.adapter.outbound.persistence.config</tspan><tspan x="24" dy="22">.PersistenceVendorSettings;</tspan></text>
|
|
<text x="24" y="2608" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> app-bootstrap · main · PersistenceJpaRootAutoConfiguration.java:86 * PersistenceVendorSettings}, because that type is not a</tspan><tspan x="24" dy="22"> registered bean here: the composition</tspan></text>
|
|
<text x="24" y="2652" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> app-bootstrap · main · PersistenceJpaRootAutoConfiguration.java:112 environment.getProperty(PersistenceVendorSettings.VENDO</tspan><tspan x="24" dy="22">R_PROPERTY, "postgresql").trim();</tspan></text>
|
|
<text x="24" y="2696" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="2718" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 두 애플리케이션의 스캔 범위가 다르다</tspan></text>
|
|
<text x="24" y="2740" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:58 @ConfigurationPropertiesScan(</tspan></text>
|
|
<text x="24" y="2762" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:59 basePackages = {</tspan></text>
|
|
<text x="24" y="2784" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:60 "dev.caskeleton.bootstrap.async",</tspan></text>
|
|
<text x="24" y="2806" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:61 "dev.caskeleton.bootstrap.autoconfigure.fileserver",</tspan></text>
|
|
<text x="24" y="2828" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:62 "dev.caskeleton.bootstrap.autoconfigure.httpclient",</tspan></text>
|
|
<text x="24" y="2850" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:63 "dev.caskeleton.bootstrap.concurrency",</tspan></text>
|
|
<text x="24" y="2872" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:64 "dev.caskeleton.bootstrap.idempotency",</tspan></text>
|
|
<text x="24" y="2894" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:65 "dev.caskeleton.bootstrap.outbox",</tspan></text>
|
|
<text x="24" y="2916" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:66 "dev.caskeleton.bootstrap.redis",</tspan></text>
|
|
<text x="24" y="2938" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:67 "dev.caskeleton.bootstrap.runtime",</tspan></text>
|
|
<text x="24" y="2960" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:68 "dev.caskeleton.bootstrap.security",</tspan></text>
|
|
<text x="24" y="2982" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:69 "dev.caskeleton.bootstrap.settings",</tspan></text>
|
|
<text x="24" y="3004" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:70 "dev.caskeleton.bootstrap.tracing",</tspan></text>
|
|
<text x="24" y="3026" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:71 "dev.caskeleton.adapter.inbound.grpc",</tspan></text>
|
|
<text x="24" y="3048" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:72 "dev.caskeleton.adapter.inbound.web",</tspan></text>
|
|
<text x="24" y="3070" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:73 "dev.caskeleton.adapter.inbound.websocket",</tspan></text>
|
|
<text x="24" y="3092" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:74 "dev.caskeleton.adapter.outbound.cache.redis",</tspan></text>
|
|
<text x="24" y="3114" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:75 "dev.caskeleton.adapter.outbound.fileserver",</tspan></text>
|
|
<text x="24" y="3136" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:76 "dev.caskeleton.adapter.outbound.objectstorage",</tspan></text>
|
|
<text x="24" y="3158" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:77 "dev.caskeleton.application",</tspan></text>
|
|
<text x="24" y="3180" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:78 "dev.caskeleton.domain",</tspan></text>
|
|
<text x="24" y="3202" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:79 "dev.caskeleton.shared"</tspan></text>
|
|
<text x="24" y="3224" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> CaSkeletonApplication.java:80 })</tspan></text>
|
|
<text x="24" y="3246" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="3268" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SamplePortfolioApplication.java:44 classes = TestEnclosedConfigurationFilter.class)</tspan></text>
|
|
<text x="24" y="3290" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SamplePortfolioApplication.java:45 })</tspan></text>
|
|
<text x="24" y="3312" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SamplePortfolioApplication.java:46 @ConfigurationPropertiesScan(basePackages = "dev.caskeleton")</tspan></text>
|
|
<text x="24" y="3334" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SamplePortfolioApplication.java:47 public class SamplePortfolioApplication {</tspan></text>
|
|
<text x="24" y="3356" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SamplePortfolioApplication.java:48 </tspan></text>
|
|
<text x="24" y="3378" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> sample-portfolio/build.gradle:37 implementation project(':adapter:outbound:persistence-jpa')</tspan></text>
|
|
<text x="24" y="3400" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="3422" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 합성 루트가 그 자리에서 무엇을 하는가</tspan></text>
|
|
<text x="24" y="3444" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:56 @AutoConfiguration</tspan></text>
|
|
<text x="24" y="3466" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:57 @ConditionalOnProperty(</tspan></text>
|
|
<text x="24" y="3488" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:58 prefix = "ca-skeleton.persistence-jpa",</tspan></text>
|
|
<text x="24" y="3510" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:59 name = "enabled",</tspan></text>
|
|
<text x="24" y="3532" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:60 havingValue = "true")</tspan></text>
|
|
<text x="24" y="3554" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:61 @Import({</tspan></text>
|
|
<text x="24" y="3576" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:62 JpaAdapterComponentsConfig.class,</tspan></text>
|
|
<text x="24" y="3598" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:63 PostgreSqlPersistenceConfig.class,</tspan></text>
|
|
<text x="24" y="3620" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:64 H2PersistenceConfig.class,</tspan></text>
|
|
<text x="24" y="3642" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:65 FileserverJpaPersistenceConfig.class,</tspan></text>
|
|
<text x="24" y="3664" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:66 NotificationJpaPersistenceFacade.class,</tspan></text>
|
|
<text x="24" y="3686" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:67 MigrationStartupConfig.class,</tspan></text>
|
|
<text x="24" y="3708" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:68 JpaPlatformRuntimeAutoConfiguration.class</tspan></text>
|
|
<text x="24" y="3730" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:69 })</tspan></text>
|
|
<text x="24" y="3752" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:70 public class PersistenceJpaRootAutoConfiguration {</tspan></text>
|
|
<text x="24" y="3774" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:85 * <p>The vendor is read from the {@link Environment} rather than injected as {@</tspan><tspan x="24" dy="22">code</tspan></text>
|
|
<text x="24" y="3818" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:86 * PersistenceVendorSettings}, because that type is not a registered bean here: </tspan><tspan x="24" dy="22">the composition</tspan></text>
|
|
<text x="24" y="3862" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:87 * root's {@code @ConfigurationPropertiesScan} deliberately excludes the persist</tspan><tspan x="24" dy="22">ence package so an</tspan></text>
|
|
<text x="24" y="3906" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:88 * optional capability cannot bind — or reject — its detail settings in a depl</tspan><tspan x="24" dy="22">oyment that never</tspan></text>
|
|
<text x="24" y="3950" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:89 * switched it on. The default matches {@code PostgreSqlPersistenceConfig}'s {@c</tspan><tspan x="24" dy="22">ode matchIfMissing</tspan></text>
|
|
<text x="24" y="3994" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:90 * = true}: an unset selector is PostgreSQL, which is the vendor this configurat</tspan><tspan x="24" dy="22">ion was</tspan></text>
|
|
<text x="24" y="4038" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:91 * unconditional about before the selector existed.</tspan></text>
|
|
<text x="24" y="4060" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:92 *</tspan></text>
|
|
<text x="24" y="4082" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:93 * <p>The validator is constructed here rather than injected. It is stateless, a</tspan><tspan x="24" dy="22">nd the bean that</tspan></text>
|
|
<text x="24" y="4126" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:94 * used to supply it comes from {@code JpaPlatformRuntimeAutoConfiguration}, whi</tspan><tspan x="24" dy="22">ch carries</tspan></text>
|
|
<text x="24" y="4170" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:95 * {@code @ConditionalOnBean(DataSource.class)} on a plain {@code @Configuration</tspan><tspan x="24" dy="22">} imported by this</tspan></text>
|
|
<text x="24" y="4214" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:96 * root — a condition evaluated during configuration-class parsing, before the </tspan><tspan x="24" dy="22">datasource bean</tspan></text>
|
|
<text x="24" y="4258" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:97 * definition is registered. That class therefore drops out silently in the real</tspan><tspan x="24" dy="22"> application,</tspan></text>
|
|
<text x="24" y="4302" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:98 * taking the whole JPA add-on layer with it. Depending on a bean from it would </tspan><tspan x="24" dy="22">make this check</tspan></text>
|
|
<text x="24" y="4346" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:99 * disappear for the same reason the thing it checks disappeared. The condition-</tspan><tspan x="24" dy="22">ordering defect is</tspan></text>
|
|
<text x="24" y="4390" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:100 * recorded separately; it is not this task's to fix quietly.</tspan></text>
|
|
<text x="24" y="4412" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:101 *</tspan></text>
|
|
<text x="24" y="4434" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:102 * @param dataSource the resolved datasource, injected so the database checked </tspan><tspan x="24" dy="22">is the one in use</tspan></text>
|
|
<text x="24" y="4478" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:103 * @param environment the resolved environment, for the vendor selector</tspan></text>
|
|
<text x="24" y="4500" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:104 * @return the startup check</tspan></text>
|
|
<text x="24" y="4522" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:105 */</tspan></text>
|
|
<text x="24" y="4544" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:106 @Bean</tspan></text>
|
|
<text x="24" y="4566" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:107 public InitializingBean jpaResolvedDataSourceCheck(</tspan></text>
|
|
<text x="24" y="4588" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:108 DataSource dataSource, Environment environment) {</tspan></text>
|
|
<text x="24" y="4610" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:109 JpaDataSourceProfileValidator validator =</tspan></text>
|
|
<text x="24" y="4632" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:110 new JpaDataSourceProfileValidator(new PostgreSqlVersionPolicy());</tspan></text>
|
|
<text x="24" y="4654" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:111 String vendor =</tspan></text>
|
|
<text x="24" y="4676" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:112 environment.getProperty(PersistenceVendorSettings.VENDOR_PROPERTY, "postg</tspan><tspan x="24" dy="22">resql").trim();</tspan></text>
|
|
<text x="24" y="4720" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:113 return () -> validator.validateResolved(dataSource, "postgresql".equalsIgnore</tspan><tspan x="24" dy="22">Case(vendor));</tspan></text>
|
|
<text x="24" y="4764" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:114 }</tspan></text>
|
|
<text x="24" y="4786" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceJpaRootAutoConfiguration.java:115 }</tspan></text>
|
|
<text x="24" y="4808" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="4830" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 그 불린을 받는 쪽</tspan></text>
|
|
<text x="24" y="4852" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:44 * vendor.</tspan></text>
|
|
<text x="24" y="4874" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:45 *</tspan></text>
|
|
<text x="24" y="4896" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:46 * @param dataSource the resolved datasource</tspan></text>
|
|
<text x="24" y="4918" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:47 * @param requirePostgreSql whether the vendor selector chose PostgreSQL</tspan></text>
|
|
<text x="24" y="4940" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:48 * @throws IllegalStateException naming what was unsupported or unreachable</tspan></text>
|
|
<text x="24" y="4962" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:49 */</tspan></text>
|
|
<text x="24" y="4984" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:50 public void validateResolved(DataSource dataSource, boolean requirePostgreSql) {</tspan></text>
|
|
<text x="24" y="5006" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:51 Objects.requireNonNull(dataSource, "dataSource");</tspan></text>
|
|
<text x="24" y="5028" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:52 if (!requirePostgreSql) {</tspan></text>
|
|
<text x="24" y="5050" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:53 // Local development runs H2 by design, and PersistenceVendorProdSafetyValidator i</tspan><tspan x="24" dy="22">s what keeps</tspan></text>
|
|
<text x="24" y="5094" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:54 // that out of production. Demanding PostgreSQL here as well would refuse every la</tspan><tspan x="24" dy="22">ptop.</tspan></text>
|
|
<text x="24" y="5138" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:55 return;</tspan></text>
|
|
<text x="24" y="5160" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:56 }</tspan></text>
|
|
<text x="24" y="5182" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:57 try (Connection connection = dataSource.getConnection()) {</tspan></text>
|
|
<text x="24" y="5204" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:58 versionPolicy.requireStable(connection.getMetaData());</tspan></text>
|
|
<text x="24" y="5226" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:59 } catch (SQLException unreachable) {</tspan></text>
|
|
<text x="24" y="5248" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaDataSourceProfileValidator.java:60 throw new IllegalStateException(</tspan></text>
|
|
<text x="24" y="5270" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="5292" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 오타 난 벤더가 무엇을 무너뜨리는가 — 조립 경로</tspan></text>
|
|
<text x="24" y="5314" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:55 * what is inside them. They need enabling at all because {@code @ConfigurationPropertiesSc</tspan><tspan x="24" dy="22">an}</tspan></text>
|
|
<text x="24" y="5358" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:56 * excludes this tree as deliberately as {@code @ComponentScan} does.</tspan></text>
|
|
<text x="24" y="5380" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:57 */</tspan></text>
|
|
<text x="24" y="5402" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:58 @Configuration(proxyBeanMethods = false)</tspan></text>
|
|
<text x="24" y="5424" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:59 @ComponentScan(</tspan></text>
|
|
<text x="24" y="5446" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:60 basePackages = {</tspan></text>
|
|
<text x="24" y="5468" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:61 "dev.caskeleton.adapter.outbound.persistence.audit",</tspan></text>
|
|
<text x="24" y="5490" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:62 "dev.caskeleton.adapter.outbound.persistence.failure",</tspan></text>
|
|
<text x="24" y="5512" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:63 "dev.caskeleton.adapter.outbound.persistence.idempotency",</tspan></text>
|
|
<text x="24" y="5534" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:64 "dev.caskeleton.adapter.outbound.persistence.lock",</tspan></text>
|
|
<text x="24" y="5556" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:65 "dev.caskeleton.adapter.outbound.persistence.outbox",</tspan></text>
|
|
<text x="24" y="5578" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:66 "dev.caskeleton.adapter.outbound.persistence.transaction"</tspan></text>
|
|
<text x="24" y="5600" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:67 })</tspan></text>
|
|
<text x="24" y="5622" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> JpaAdapterComponentsConfig.java:68 public class JpaAdapterComponentsConfig {}</tspan></text>
|
|
<text x="24" y="5644" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:20 * {@code @Transactional} of their own; {@link #claimBatch} delegates the vendor claim to {@link</tspan></text>
|
|
<text x="24" y="5666" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:21 * OutboxClaimRepository}. See README "outbox" for the append/claim/no-@Transactional contracts.</tspan></text>
|
|
<text x="24" y="5688" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:22 */</tspan></text>
|
|
<text x="24" y="5710" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:23 @Repository</tspan></text>
|
|
<text x="24" y="5732" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:24 public class OutboxStoreAdapter implements OutboxAppendPort, OutboxStorePort {</tspan></text>
|
|
<text x="24" y="5754" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:25 </tspan></text>
|
|
<text x="24" y="5776" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:26 private final OutboxEventJpaRepository repository;</tspan></text>
|
|
<text x="24" y="5798" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:27 private final OutboxClaimRepository claimRepository;</tspan></text>
|
|
<text x="24" y="5820" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:28 </tspan></text>
|
|
<text x="24" y="5842" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:29 public OutboxStoreAdapter(</tspan></text>
|
|
<text x="24" y="5864" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:30 OutboxEventJpaRepository repository, OutboxClaimRepository claimRepository) {</tspan></text>
|
|
<text x="24" y="5886" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:31 this.repository = repository;</tspan></text>
|
|
<text x="24" y="5908" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:32 this.claimRepository = claimRepository;</tspan></text>
|
|
<text x="24" y="5930" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxStoreAdapter.java:33 }</tspan></text>
|
|
<text x="24" y="5952" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="5974" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 그 값을 실제로 넣고 돌린 결과</tspan></text>
|
|
<text x="24" y="5996" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 프로브 : /tmp/probe-vendor/VendorProbe.java · ApplicationContextRunner 세 조립</tspan></text>
|
|
<text x="24" y="6018" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:36 /** OutboxStoreAdapter 는 JpaAdapterComponentsConfig 가 스캔하는 패키지의 @Repository 다. */</tspan></text>
|
|
<text x="24" y="6040" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:37 @Configuration(proxyBeanMethods = false)</tspan></text>
|
|
<text x="24" y="6062" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:38 static class OutboxConsumer {</tspan></text>
|
|
<text x="24" y="6084" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:39 @Bean OutboxEventJpaRepository events() { return stub(OutboxEventJpaRepository.class); }</tspan></text>
|
|
<text x="24" y="6106" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:40 @Bean OutboxStoreAdapter adapter(OutboxEventJpaRepository e, OutboxClaimRepository c) {</tspan></text>
|
|
<text x="24" y="6128" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:41 return new OutboxStoreAdapter(e, c);</tspan></text>
|
|
<text x="24" y="6150" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:42 }</tspan></text>
|
|
<text x="24" y="6172" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:43 }</tspan></text>
|
|
<text x="24" y="6194" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:44 </tspan></text>
|
|
<text x="24" y="6216" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:45 @Configuration(proxyBeanMethods = false)</tspan></text>
|
|
<text x="24" y="6238" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:46 @EnableConfigurationProperties(PersistenceVendorSettings.class)</tspan></text>
|
|
<text x="24" y="6260" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:47 static class BoundSettings {}</tspan></text>
|
|
<text x="24" y="6282" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:74 public static void main(String[] args) {</tspan></text>
|
|
<text x="24" y="6304" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:75 run("두 벤더 설정만 ", "mysql", PostgreSqlPersistenceConfig.class, H2PersistenceConfig.class);</tspan></text>
|
|
<text x="24" y="6326" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:76 for (String v : new String[] {"mysql", "postgresq1"}) {</tspan></text>
|
|
<text x="24" y="6348" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:77 run("SPI 소비자를 더해", v,</tspan></text>
|
|
<text x="24" y="6370" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:78 OutboxConsumer.class, PostgreSqlPersistenceConfig.class, H2PersistenceConfig.class);</tspan></text>
|
|
<text x="24" y="6392" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:79 }</tspan></text>
|
|
<text x="24" y="6414" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:80 run("그 타입을 켜고 ", "mysql", BoundSettings.class);</tspan></text>
|
|
<text x="24" y="6436" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> VendorProbe.java:81 }</tspan></text>
|
|
<text x="24" y="6458" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="6480" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 두 벤더 설정만 vendor=mysql</tspan></text>
|
|
<text x="24" y="6502" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 기동 실패 : false</tspan></text>
|
|
<text x="24" y="6524" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxClaimRepository 빈 : 0</tspan></text>
|
|
<text x="24" y="6546" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SPI 소비자를 더해 vendor=mysql</tspan></text>
|
|
<text x="24" y="6568" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 기동 실패 : true</tspan></text>
|
|
<text x="24" y="6590" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> ca-skeleton.persistence.vendor 를 지목 : false</tspan></text>
|
|
<text x="24" y="6612" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxClaimRepository 지목 : true</tspan></text>
|
|
<text x="24" y="6634" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 맨 앞 예외 : UnsatisfiedDependencyException: Error creating bean with name 'adapter' defined in VendorProbe$O</tspan><tspan x="24" dy="22">utboxConsumer: Unsatisfied dependency expressed throug</tspan></text>
|
|
<text x="24" y="6678" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> SPI 소비자를 더해 vendor=postgresq1</tspan></text>
|
|
<text x="24" y="6700" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 기동 실패 : true</tspan></text>
|
|
<text x="24" y="6722" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> ca-skeleton.persistence.vendor 를 지목 : false</tspan></text>
|
|
<text x="24" y="6744" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxClaimRepository 지목 : true</tspan></text>
|
|
<text x="24" y="6766" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 맨 앞 예외 : UnsatisfiedDependencyException: Error creating bean with name 'adapter' defined in VendorProbe$O</tspan><tspan x="24" dy="22">utboxConsumer: Unsatisfied dependency expressed throug</tspan></text>
|
|
<text x="24" y="6810" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 그 타입을 켜고 vendor=mysql</tspan></text>
|
|
<text x="24" y="6832" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 기동 실패 : true</tspan></text>
|
|
<text x="24" y="6854" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> ca-skeleton.persistence.vendor 를 지목 : true</tspan></text>
|
|
<text x="24" y="6876" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> OutboxClaimRepository 지목 : false</tspan></text>
|
|
<text x="24" y="6898" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> 맨 앞 예외 : ConfigurationPropertiesBindException: Error creating bean with name 'ca-skeleton.persistence-dev</tspan><tspan x="24" dy="22">.caskeleton.adapter.outbound.persistence.config.Persis</tspan></text>
|
|
<text x="24" y="6942" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"></tspan></text>
|
|
<text x="24" y="6964" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"># 시험은 그 타입을 켜고 돌린다</tspan></text>
|
|
<text x="24" y="6986" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:28 new ApplicationContextRunner().withUserConfiguration(VendorSettings.class);</tspan></text>
|
|
<text x="24" y="7008" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:29 </tspan></text>
|
|
<text x="24" y="7030" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:30 @ParameterizedTest</tspan></text>
|
|
<text x="24" y="7052" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:31 @ValueSource(strings = {"postgresql", "POSTGRESQL", "h2", "H2"})</tspan></text>
|
|
<text x="24" y="7074" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:32 void bindsTheSupportedVendorsCaseInsensitively(String value) {</tspan></text>
|
|
<text x="24" y="7096" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:33 runner</tspan></text>
|
|
<text x="24" y="7118" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:34 .withPropertyValues(PersistenceVendorSettings.VENDOR_PROPERTY + "=" + value)</tspan></text>
|
|
<text x="24" y="7140" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:35 .run(</tspan></text>
|
|
<text x="24" y="7162" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:36 context -> {</tspan></text>
|
|
<text x="24" y="7184" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:37 assertThat(context).hasNotFailed();</tspan></text>
|
|
<text x="24" y="7206" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:38 assertThat(context.getBean(PersistenceVendorSettings.class).vendor())</tspan></text>
|
|
<text x="24" y="7228" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:39 .isEqualTo(Vendor.valueOf(value.toUpperCase(java.util.Locale.ROOT)));</tspan></text>
|
|
<text x="24" y="7250" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:40 });</tspan></text>
|
|
<text x="24" y="7272" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:41 }</tspan></text>
|
|
<text x="24" y="7294" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:42 </tspan></text>
|
|
<text x="24" y="7316" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:43 @Test</tspan></text>
|
|
<text x="24" y="7338" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:44 void defaultsToPostgreSqlWhenTheSelectorIsAbsent() {</tspan></text>
|
|
<text x="24" y="7360" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:45 runner.run(</tspan></text>
|
|
<text x="24" y="7382" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:46 context -></tspan></text>
|
|
<text x="24" y="7404" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:47 assertThat(context.getBean(PersistenceVendorSettings.class).vendor())</tspan></text>
|
|
<text x="24" y="7426" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:48 .isEqualTo(Vendor.POSTGRESQL));</tspan></text>
|
|
<text x="24" y="7448" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:49 }</tspan></text>
|
|
<text x="24" y="7470" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:50 </tspan></text>
|
|
<text x="24" y="7492" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:51 @Test</tspan></text>
|
|
<text x="24" y="7514" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:52 void rejectsAnUnknownVendorAtStartupRatherThanComposingNothing() {</tspan></text>
|
|
<text x="24" y="7536" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:53 runner</tspan></text>
|
|
<text x="24" y="7558" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:54 .withPropertyValues(PersistenceVendorSettings.VENDOR_PROPERTY + "=mysql")</tspan></text>
|
|
<text x="24" y="7580" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:55 .run(</tspan></text>
|
|
<text x="24" y="7602" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:56 context -> {</tspan></text>
|
|
<text x="24" y="7624" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:57 assertThat(context).hasFailed();</tspan></text>
|
|
<text x="24" y="7646" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:58 assertThat(context.getStartupFailure())</tspan></text>
|
|
<text x="24" y="7668" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:59 .hasStackTraceContaining(PersistenceVendorSettings.VENDOR_PROPERTY);</tspan></text>
|
|
<text x="24" y="7690" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:60 });</tspan></text>
|
|
<text x="24" y="7712" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:61 }</tspan></text>
|
|
<text x="24" y="7734" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:62 </tspan></text>
|
|
<text x="24" y="7756" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:88 .isFalse();</tspan></text>
|
|
<text x="24" y="7778" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:89 }</tspan></text>
|
|
<text x="24" y="7800" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:90 </tspan></text>
|
|
<text x="24" y="7822" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:91 @Configuration(proxyBeanMethods = false)</tspan></text>
|
|
<text x="24" y="7844" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:92 @EnableConfigurationProperties(PersistenceVendorSettings.class)</tspan></text>
|
|
<text x="24" y="7866" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:93 static class VendorSettings {}</tspan></text>
|
|
<text x="24" y="7888" fill="#e6edf3" font-size="14" font-family="ui-monospace, SFMono-Regular, Menlo, Consolas, monospace" xml:space="preserve"><tspan x="24" dy="0"> PersistenceVendorSelectionTest.java:94 }</tspan></text>
|
|
</svg>
|