[Feature][1.5.0] Load user-defined log4j.properties (#5023)
* flink-log4j
* code format
diff --git a/linkis-engineconn-plugins/flink/flink-core/src/main/scala/org/apache/linkis/engineconnplugin/flink/launch/FlinkEngineConnLaunchBuilder.scala b/linkis-engineconn-plugins/flink/flink-core/src/main/scala/org/apache/linkis/engineconnplugin/flink/launch/FlinkEngineConnLaunchBuilder.scala
index cbcae4e..70b3ad1 100644
--- a/linkis-engineconn-plugins/flink/flink-core/src/main/scala/org/apache/linkis/engineconnplugin/flink/launch/FlinkEngineConnLaunchBuilder.scala
+++ b/linkis-engineconn-plugins/flink/flink-core/src/main/scala/org/apache/linkis/engineconnplugin/flink/launch/FlinkEngineConnLaunchBuilder.scala
@@ -24,8 +24,19 @@
import org.apache.linkis.manager.common.protocol.bml.BmlResource
import org.apache.linkis.manager.engineplugin.common.conf.EnvConfiguration
import org.apache.linkis.manager.engineplugin.common.launch.entity.EngineConnBuildRequest
-import org.apache.linkis.manager.engineplugin.common.launch.process.Environment.{variable, USER}
-import org.apache.linkis.manager.engineplugin.common.launch.process.JavaProcessEngineConnLaunchBuilder
+import org.apache.linkis.manager.engineplugin.common.launch.process.{
+ Environment,
+ JavaProcessEngineConnLaunchBuilder
+}
+import org.apache.linkis.manager.engineplugin.common.launch.process.Environment.{
+ variable,
+ PWD,
+ USER
+}
+import org.apache.linkis.manager.engineplugin.common.launch.process.LaunchConstants.{
+ addPathToClassPath,
+ CLASS_PATH_SEPARATOR
+}
import org.apache.linkis.manager.label.entity.engine.UserCreatorLabel
import java.util
@@ -82,6 +93,19 @@
bmlResources
}
+ override def getEnvironment(implicit
+ engineConnBuildRequest: EngineConnBuildRequest
+ ): util.Map[String, String] = {
+ val environment = new util.HashMap[String, String]
+ addPathToClassPath(environment, variable(PWD))
+ val linkisEnvironment = super.getEnvironment
+ val linkisClassPath = linkisEnvironment.get(Environment.CLASSPATH.toString)
+ val v = environment.get(Environment.CLASSPATH.toString) + CLASS_PATH_SEPARATOR + linkisClassPath
+ environment.put(Environment.CLASSPATH.toString, v)
+ logger.info(environment.asScala.map(e => s"${e._1}->${e._2}").mkString(","))
+ environment
+ }
+
private def contentToBmlResource(userName: String, content: String): BmlResource = {
val contentMap = JsonUtils.jackson.readValue(content, classOf[util.Map[String, Object]])
contentToBmlResource(userName, contentMap)