ํ์ฌ ํ
์คํธ์ฉ PC์์ ๋น๋์ค ์๋ฌ๊ฐ ๋ฐ์ํ์๋ค. PC ํ๊ฒฝ์ ๋ค์๊ณผ ๊ฐ๋ค.
Windows 10 Pro x64 JDK 1.7(1.7.0_80-b15) Maven 3(3.6.3) ๋ด ๋ฉํ(MBPR 2018)์์๋ ์ ๋๋๋ฐ ํ
์คํธ์ฉ PC์์ ๋น๋ํ๋ ๋ค์๊ณผ ๊ฐ์ ์๋ฌ๊ฐ ๋ฐ์ํ๋ค.
<< maven goal ์คํ ์ค๋ฅ >> ํด๋น ์ค๋ฅ๋ Java 1.8 ๋ฒ์ ์๋ TLS ํ๋กํ ์ฝ์ ๊ธฐ๋ณธ ๋ฒ์ ์ด 1.2์ธ ๋ฐ๋ฉด ์ด์ Java(1.7, 1.6 ๋ฑ)๋ TLS ํ๋กํ ์ฝ์ ๋ฒ์ ์ด 1.0์ด์ด์ ๋ฐ์ํ ์ค๋ฅ๋ผ๊ณ ํ๋ค(์ฐธ๊ณ ).
๋ฐ๋ผ์ maven ์คํ์ ๋ค์๊ณผ ๊ฐ์ ์ต์
์ ์ง์ ํ์ฌ์ผ ํ๋ค.
$ mvn -Dhttps.protocols=TLSv1.2 [clean | package .
์ด๋ฒ ์
๋ฌด์์ ์์ผํต์ ์ ์ฒ๋ฆฌํ๋ ๋ถ๋ถ์ด ์์ด 2์ฃผ ์ ๋ ์ฝ์ง์ ํ๋ค. ์์ ์ง์ฅ์์ ์ด์ฌํ ๊ณต๋ถํด์ ์ ๋ง๋ค์๋๊ฑธ๋ก ๊ธฐ์ตํ๋๋ฐ, ๋๋ฌด์ง ๊ธฐ์ต์ด…(ํ๊ธด 5๋
์ ๋๋ ์ง๋๊ฑฐ ๊ฐ์ผ๋)
๊ฐ์คํ๊ณ , ๊ณต๋ฌธ์ผ๋ก ๋ด๋ ค์จ ์ ๋ฌธ๊ท๊ฒฉ์์์ ์์น ๋ถ๋ถ์ด User type, n byte๋ก๋ง ๋๋ฃจ๋ญ์คํ๊ฒ ๋์ด ์์๋๋ฐ, ์ค์ ์ธก์ ๊ฐ์ ๋ณด๋ด์ฃผ๋ ์
์ฒด ์ค ํ ๊ณณ์์ ๋จผ์ ๊ทธ๋ค์ด ๋ณด๋ด๊ณ ์ ํ๋ ์์์ ๋ณด๋ด์ค ํ์ธํด ๋ณด๋ signed short์ผ๋ก ๋์ด ์์๋ค.
๊ณต๋ฌธ์ผ๋ก ๋ด๋ ค์จ ํด๋น ๋ฐ์ดํฐ์ ๋ํ ๋ฐ์ด๋ธ ๋ช
์ธ๋ number(8, 3)์ผ๋ก ๋์ด ์์ด์ ๋๋ doubleํ์ผ๋ก ๋ฐ์ผ๋ ค๊ณ ํ๋๋ฐ, ๋ญ DDL script ์์ ํ๋๊ฒ ๋ณด๋ค๋ ๋ด๊ฐ ์ ์ ํ ๋ณํํด์ ์ ์ฅํ๋ ๋ฐฉ์์ด ์ข์๋ฏ ํด์ ์ด์ฌํ ๊ตฌ๊ธ๋ง์ ํ๋ค.
์ด๊ฒ, ์๋์ฐ์์ ๋์ผํ ํ๊ฒฝ์ผ๋ก ๊ตฌ๋์ํฌ๋๋ ๋ฐ์ํ์ง ์์๋ค. ์ค๋ฅ ๋ฉ์ธ์ง๋ ๋ค์๊ณผ ๊ฐ๋ค.
net.sf.ehcache.distribution.MulticastRMICacheManagerPeerProvider: Error starting heartbeat. Error was: Canโt assign requested address
<< ์ค๋ฅ ๋ก๊ทธ >> ์ด์งํ ํ์ฌ์์ ์ฝ๊ฐ ํฌ์ํ ๊ตฌ์กฐ์ maven์ผ๋ก ํ๋ก์ ํธ๋ฅผ ์งํํ๊ธธ๋โฆ ์ ์ํ๋ ค๊ณ ๋
ธ๋ ฅ์ค์ ๋ฐ์ํ ์ค๋ฅ(์ด ํ๋ก์ ํธ์์ ehcache๋ฅผ ์ฐ์ง๋ฅผ ์๋๋ค. ๐) ๋์ผํ ๊ฐ๋ฐํ๊ฒฝ์ ์ด์์ฒด์ ๋ง ์๋์ฐ์ธ ํ์ฌ๋ฉํ์์๋ ๋ฐ์ํ์ง ์์ ์ค๋ฅ ๋ฉ์ธ์ง๋ฅผ ๋ณด๊ณ ๋ญ๊ฐ ๋๋์ด ์์ ๊ฒ์ํด๋ณด๋โฆ IPv6๋ก ์ธ์์ด ๋์ ๋ฐ์ํ๋ ๋ฌธ์ ์ด๋๋ผ. ์๋ง *NIX ๊ณ์ด์ ์ด์์ฒด์ ์์๋ ๋์ผํ ์ํฉ์ด ๋ฐ์ํ์ง ์์๊น ์ถ๋ค.
// java.sql.Connection์ ์ ์๋จ int TRANSACTION_NONE = 0; int TRANSACTION_READ_UNCOMMITTED = 1; int TRANSACTION_READ_COMMITTED = 2; int TRANSACTION_REPEATABLE_READ = 4; int TRANSACTION_SERIALIZABLE = 8; ์๋์ ๋ด์ฉ์ ํธ๋ฐ๊ณ ๊ตฌ๋ฉ์ ๊ฒ์ ์ด์ผ๊ธฐ ์์ ์ผ๋ถ ๋ฐ์ท. ๊ฐ ๋ ๋ฒจ๋ณ ์์๋ ๋ฐ์ทํ ๋ธ๋ก๊ทธ์ ๋ด์ฉ์ด ์๋ชป๋์ด ์ค์ java.sql.Connection ํด๋์ค์ ์ ์๋ ์์๋ก ๋์ฒด(๋ถ์๊ธ์จ )
์ฐจ๋จ ๋ ๋ฒจ ์ฐจ๋จ๋ ๋ฒจ (Isolcation level) Dirty read Non-repeatable read Phantom read TRANSACTION_READ_UNCOMMIT O O O TRANSACTION_READ_COMMIT X O O TRANSACTION_REPEATABLE_READ X X O(X) TRANSACTION_SERIALIZABLE X X X Connection ์ธํฐํ์ด์ค์์ ํธ๋์ญ์
์ฐจ๋จ ๋ ๋ฒจ๊ณผ ๊ด๋ จ๋ ํ๋ ํ๋ ์ค๋ช
๊ฐ int TRANSACTION_NONE ํธ๋์ญ์
์ด ์ง์๋์ง ์์์ ๋ํ๋ด๋ ์์ 0 int TRANSACTION_READ_UNCOMMITTED dirty read, non-repeatable read์ phantom read๊ฐ ๋ฐ์ํ ์ ์์์ ๋ํ๋ด๋ ์์ 1 int TRANSACTION_READ_COMMITTED dirty read๋ ๊ธ์ง๋๊ณ , non-repeatable read์ phantom read๋ ๋ฐ์ํ ์ ์์์ ๋ํ๋ด๋ ์์ 2 int TRANSACTION_REPEATABLE_READ dirty read์ non-repeatable read๋ ๊ธ์ง๋๊ณ , phantom read๋ ๋ฐ์ํ ์ ์์์ ๋ํ๋ด๋ ์์ 4 int TRANSACTION_SERIALIZABLE dirty read, non-repeatable read์ phantom read ๋ชจ๋ ๊ธ์ง๋จ์ ๋ํ๋ด๋ ์์ 8