CFκ° λ΄ Java μ ν리μΌμ΄μ
μ μ¬κ΅¬μ±νλ κ²μ μνμ§ μμ§λ§ autoconfigure: false
μ΅μ
μ 맀λνμ€νΈμμ μ‘΄μ€λμ§ μλ κ²μΌλ‘ 보μ΄λ©° Maven νλ¬κ·ΈμΈμλ μ΄λ₯Ό λΉνμ±ννλ μ΅μ
μ΄ μμ΅λλ€. μ΄ μ΅μ
μ λ€λ₯Έ μΈμ΄(μ: Ruby)μ© λΉλν©μμ μ¬μ©ν μ μμ΅λλ€.
μ΄λ€ μ¬κ΅¬μ±μ νΌνλ €κ³ ν©λκΉ? μ€μ λ‘ Spring μλ μ¬κ΅¬μ± JARμ ν΄λμ€ κ²½λ‘μ λ°°μΉλμ§λ§ μ€μ λ‘ μλ μ¬κ΅¬μ±μ μννμ§ μμ μ μμ΅λλ€. μλ μ¬κ΅¬μ±μ μ¬κ΅¬μ± νλ³΄μΈ μλΉμ€ _λ° μ¬κ΅¬μ± νλ³΄μΈ Beanμ΄ _λͺ¨λ_ μ‘΄μ¬ν λλ§ λ°μν©λλ€. λ°λΌμ μλ μ¬κ΅¬μ±μ μνμ§ μλ μλΉμ€λ₯Ό λ°μΈλ©νμ§ μμμΌλ‘μ¨ μλ μ¬κ΅¬μ±μ νΌν μ μμ΅λλ€. λν spring-cloud
λΉμ΄ μ μλμ΄ μμΌλ©΄ μλ μ¬κ΅¬μ±μ΄ μμ ν λ°©μ§λ©λλ€.
νΉλ³ν μꡬνμ§ μμ λ§λ²μ νΌνκ³ μΆλ€. μ¬μ©μ μ 곡 μλΉμ€λ₯Ό μ ννκ² λΆμνλμ§ μ¬λΆλ₯Ό ν¬ν¨νμ¬ μλ μ¬κ΅¬μ±μ΄ μλ² μΈ‘μμ μνν μ μλ μμ μ λλ²κΉ ν μ μλ λ°©λ²μ΄ μμ΅λλ€. μΆκ° μ½λλ³΄λ€ μ‘°κΈ λ λ§μ μΊμ λλ 무μμ΄λ λλλ¦Ώ λ©λͺ¨λ¦¬λ₯Ό ν보νκ³ μΆμ΅λλ€. νμνμ§ μκ³ μνμ§ μμ΅λλ€. λν μλ μ¬κ΅¬μ±μ κ±°μ μμ ν λ¬Έμνλμ§ μμμΌλ―λ‘(μ μ΄λ μ°Ύμ μ μμ) μ€μ©μ μΈ λ¬Έμ λ‘ μμΈ‘ν μ μμ΅λλ€.
@chrylis @nebhale μ΄ spring-cloud(λλ vcap-java) κΈ°λ° beanμ λ³Ό λ μλ μ¬κ΅¬μ±μ΄ κΊΌμ§λ κ²μ λν΄ μΈκΈν λ§μ§λ§ μμ μ μ±μ΄ μλΉμ€λ₯Ό λ§€μ° κ΅¬μ²΄μ μΌλ‘ ꡬμ±νλ €λ μν©μ μ²λ¦¬ν΄μΌ ν©λλ€. spring-cloudλ₯Ό μ¬μ©νλ€κ³ κ°μ νλ©΄ μλ μ¬κ΅¬μ±μ΄ μ±μ λ°©ν΄νμ§ μμ΅λλ€. μλ μ¬κ΅¬μ±λ λμ λλ μμ λ©λͺ¨λ¦¬λ₯Ό μλΉνμ§ μμ κ²μ΄λΌκ³ μκ°ν©λλ€.
μ¦, v1μμ μλ μ¬κ΅¬μ±μ ν΄μ νλλ‘ μ 곡νμ΅λλ€(https://spring.io/blog/2011/11/04/using-cloud-foundry-services-with-spring-part-2 μ°Έμ‘°). -μλ μ¬κ΅¬μ±). μ§κΈμ λΉλν©μ ν¬ν¬νκ³ νμμ λ§κ² μμ νλ ν° λ§μΉκ° μμ΅λλ€. λ°λΌμ μ΄λ¬ν μ νμ΄ Java λΉλν© μ체μμ μ¬μ ν 보μ₯λλμ§ μ¬λΆμ κ΄κ³μμ΄
νμ¬λ‘μλ μλ μ¬κ΅¬μ±μ΄ λ§€μ° μμΈ‘ κ°λ₯ν μν©μμλ§ μλν¨μΌλ‘μ¨ μ μ νκ² μλνλ€κ³ μκ°ν©λλ€. λλ μ΄κ²μ΄ κ·Έκ²μ λΉνμ±ννλ λ°©λ²μ μμ²νλ 첫 λ²μ§Έ λ¬Έμ λΌλ μ¬μ€μ κ·Όκ±°ν©λλ€. κ·Έλ¬λ μ΄μ μ μ¬ν μμ²μ΄ λ§μ΄ λ°μνλ©΄ μ΄ μ μ₯μ μ¬κ³ ν μ μμ΅λλ€. μλ μ¬κ΅¬μ±μ΄ μ€μλνκ³ μ λλ‘ μλνλλ‘ μμ ν μ μλ μ¬ν κ°λ₯ν μν©μ λ³Ό λκΉμ§ μ λ μλ κ·Έλλ‘ μ μ§νλ κ²½ν₯μ΄ μμ΅λλ€.
λͺ¨λ κ΅¬μ± μμμ λ§μ°¬κ°μ§λ‘ κ΅¬μ± μμ λͺ©λ‘μμ ν΄λΉ νλͺ© μ μ κ±° λ GitHub 리ν¬μ§ν 리 λ° νλ μμν¬ λ¬Έμ νμ΄μ§ μ λλ€.
μλ μ¬κ΅¬μ±μ λμμ΄λ κ΄λ ¨ λ¬Έμμ λν νΉμ κ°μ μ¬νμ΄ μλ κ²½μ° μ ν¬μκ² μλ €μ£Όμλ©΄ κΈ°κΊΌμ΄ κ°μ ν΄ λλ¦¬κ² μ΅λλ€.
λν μ μλ spring-cloud Beanμ΄ μλ κ²½μ° μλ μ¬κ΅¬μ±μ΄ μμ ν λ°©μ§λ©λλ€.
λ΄ κ²½νμ κ·Έ νλμλ νμ΄λ° λ¬Έμ κ° μμ΅λλ€. μ€νλ§ ν΄λΌμ°λ λΉμ΄ νλ‘νμ μ μλμ΄ μμΌλ©΄ "μ΄μ " μ μΈλ λΉ(μ¦, νΉμ νλ‘ν μΈλΆμ μ μλ λΉ)μ΄ μλ μ¬κ΅¬μ±μ μν΄ μ΄λ―Έ μμ λ νμ μλ³λ μ μμ΅λλ€.
μλ₯Ό λ€μ΄, λ κ°μ DataSource
λΉμ μ μνλ ꡬμ±μ΄ μλ€κ³ κ°μ ν©λλ€. νκ²½/νλ‘νμ λ°λΌ λ¬λΌμ§ μ μλ λ΄μ₯ λ°μ΄ν° μμ€μ μΈλΆ λ°μ΄ν° μμ€. λ΄μ₯ λ°μ΄ν° μμ€μ λν μ°Έμ‘°λ λ΄μ₯ λ°μ΄ν° μμ€ λΉ μ μλ₯Ό μΈλΌμΈ νλλ‘ κ΅¬μ± μ
λν μλ³Έ ν¬μ€ν°μ λΉμ·ν μ΄μ λ‘ μλ μ¬κ΅¬μ±μ λΉνμ±ννκ³ μΆμ΅λλ€. μ΄ν΄ν μ μλ λ§λ²μ΄ λ°μνλ κ²μ μνμ§ μμ΅λλ€.
λ°λμλμ? λΉλν©μ λΆκΈ°νλ κ² μΈμ λ€λ₯Έ λ°©λ²μΌλ‘ λΉνμ±νν μ μμ΅λκΉ?
μλ
νμΈμ, μ, μ΄μ κ°λ₯ν©λλ€.
μ΄μ κ΅¬μ± νμΌμ μ§μ λ³κ²½νκΈ° μν΄ λΉλν©μ λΆκΈ°νλ λμ νκ²½ λ³μλ₯Ό ν΅ν΄ λͺ¨λ ꡬμ±μ μ€μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄ μλ μ¬κ΅¬μ±μ λΉνμ±ννλ €λ©΄ μ΄μ κ°μ νκ²½ λ³μλ₯Ό μ€μ ν΄μΌ ν©λλ€.
cf set-env myapp JBP_CONFIG_SPRING_AUTO_RECONFIGURATION '[enabled: false]'
μμΈν μ 보λ https://github.com/cloudfoundry/java-buildpack#configuration -and-extension λ¬Έμμ
λλ μ΄λ―Έ λ©λͺ¨λ¦¬ κ³μ°κΈ° μ€μ μ μ΄ κΈ°μ μ μ¬μ©νκ³ μμ΅λλ€. λ€μ μ§λ¬ΈνκΈ° μ μ λͺ¨λ κ΅¬μ± νμΌμ νμΈνκ³ κ·Έ μμ 무μμ΄ μλμ§ νμΈνλ κ²μ΄ μ’μ΅λλ€.
κ°μ¬ν©λλ€.
맀λνμ€νΈ νμΌμμ μ΄ μμ μ μννλ €λ©΄ λ€λ₯Έ νμμ΄ νμν©λλ€.
μ΄ μλ,
JBP_CONFIG_SPRING_AUTO_RECONFIGURATION: '[enabled: false]'
μΆκ° :
μ£Όλͺ©
μ΄ μλ μ¬κ΅¬μ± λΌμ΄λΈλ¬λ¦¬κ° μλΉμ€ μ°κ²°μ λΆλΆμ μΌλ‘ λΉνμ±ννλ κ²μ μ§μν κ³νμ΄ μμ΅λκΉ? νΉν, μ°λ¦¬μ μ¬μ© μ¬λ‘μμλ μ¬μ©μ μ§μ λ RedisConnectionFactoryκ° νμνμ§λ§(Azure Redis μλΉμ€μ λν SSL μ°κ²°μ μ¬μ©νκΈ° λλ¬Έμ) μ΄ μλ μ¬κ΅¬μ± λΌμ΄λΈλ¬λ¦¬κ° RabbitMQλ₯Ό μ¬κ΅¬μ±νκΈ°λ₯Ό μν©λλ€(PCFμμ μ 곡νλ RabbitMQ μλΉμ€ μ¬μ© μ).
κ°μ₯ μ μ©ν λκΈ
μλ νμΈμ, μ, μ΄μ κ°λ₯ν©λλ€.
μ΄μ κ΅¬μ± νμΌμ μ§μ λ³κ²½νκΈ° μν΄ λΉλν©μ λΆκΈ°νλ λμ νκ²½ λ³μλ₯Ό ν΅ν΄ λͺ¨λ ꡬμ±μ μ€μ ν μ μμ΅λλ€. μλ₯Ό λ€μ΄ μλ μ¬κ΅¬μ±μ λΉνμ±ννλ €λ©΄ μ΄μ κ°μ νκ²½ λ³μλ₯Ό μ€μ ν΄μΌ ν©λλ€.
μμΈν μ 보λ https://github.com/cloudfoundry/java-buildpack#configuration -and-extension λ¬Έμμ