Desde la recuperación de derechos de producción, problemas ocurren simultáneamente: la base de datos inconsistentes y una base de datos de producción, los archivos de prueba de producción de configuración del clúster y la configuración del clúster son inconsistentes y así sucesivamente, muy incómodo ,,,
Tengo que reconocer que antes del desarrollo de la no-estándar, uh uh uh. . .
Scala frasco optó por leer el fichero de configuración encapsulado por:
(1) Nuevo y Test Pro subdirectorio en el directorio de recursos
nuevos archivos config.properties
hive.database = test
(2) modificar la pom.xml se empaquetan
nuevos perfiles
<profiles>
<profile>
<!-- 测试环境 -->
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<!-- 生产环境 -->
<id>pro</id>
<properties>
<profiles.active>pro</profiles.active>
</properties>
</profile>
</profiles>
En virtud de los recursos de generación de forzado
<resources>
<resource>
<directory>src/main/resources</directory>
<excludes>
<exclude>test/*</exclude>
<exclude>pro/*</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources/${profiles.active}</directory>
</resource>
</resources>
Configmanager clase (3) Packaging
import java.util.Properties
object ConfigManager {
def main(args: Array[String]): Unit = {
println(getConfigValue("hive.database","pro/config.properties"))
}
/**
* 获取配置名称
*/
def getConfigValue(key : String,path:String="config.properties"): String = {
val stream =Thread.currentThread.getContextClassLoader.getResourceAsStream(path)
val prop : Properties= new Properties()
prop.load(stream)
prop.getProperty(key)
}
}
El cual se conecta mediante la modificación de la prueba pom.xml y perfiles profesionales,
pruebas de ensayo y el juego de clúster locales están bien, la solución perfecta y más problemas ambientales -