Skip to content

Commit 6000de8

Browse files
authored
Merge pull request #2995 from actiontech/fix_remove_env
fix(driver): 使用绝对路径解决 Java 插件执行问题
2 parents cc8503f + 7706abe commit 6000de8

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

build/sqled.spec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,6 @@ if [ $? -eq 0 ]; then
9393
-e "s|User=|User=actiontech-universe|g" \
9494
-e "s|ExecStart=|ExecStart=/bin/sh -c 'exec $RPM_INSTALL_PREFIX\/bin\/sqled --config $RPM_INSTALL_PREFIX\/etc\/sqled.yml --pidfile=$RPM_INSTALL_PREFIX\/sqled.pid >>$RPM_INSTALL_PREFIX\/std.log 2>\&1'|g" \
9595
-e "s|WorkingDirectory=|WorkingDirectory=$RPM_INSTALL_PREFIX|g" \
96-
-e "s|Environment=|Environment=SQLE_JAVA_HOME=$RPM_INSTALL_PREFIX\/jdk|g" \
9796
$RPM_INSTALL_PREFIX/scripts/sqled.systemd > /lib/systemd/system/sqled.service
9897
systemctl daemon-reload
9998
systemctl enable sqled.service

build/sqled_with_dms.spec

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -101,7 +101,6 @@ if [ $? -eq 0 ]; then
101101
-e "s|User=|User=actiontech-universe|g" \
102102
-e "s|ExecStart=|ExecStart=/bin/sh -c 'exec $RPM_INSTALL_PREFIX\/bin\/sqled --config $RPM_INSTALL_PREFIX\/etc\/config.yaml --pidfile=$RPM_INSTALL_PREFIX\/sqled.pid >>$RPM_INSTALL_PREFIX\/std.log 2>\&1'|g" \
103103
-e "s|WorkingDirectory=|WorkingDirectory=$RPM_INSTALL_PREFIX|g" \
104-
-e "s|Environment=|Environment=SQLE_JAVA_HOME=$RPM_INSTALL_PREFIX\/jdk|g" \
105104
$RPM_INSTALL_PREFIX/scripts/sqled.systemd > /lib/systemd/system/sqled.service
106105
sed -e "s|PIDFile=|PIDFile=$RPM_INSTALL_PREFIX\/dms.pid|g" \
107106
-e "s|User=|User=actiontech-universe|g" \

sqle/driver/plugin_manager.go

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -192,6 +192,7 @@ func (pm *pluginManager) Start(pluginDir string, pluginConfigList []config.Plugi
192192
log.NewEntry().Warnf("stop residual plugin file path walk error: %v", err)
193193
}
194194
wg.Wait()
195+
jdkPath := getJdkPath()
195196

196197
// register plugin
197198
for _, p := range plugins {
@@ -205,9 +206,8 @@ func (pm *pluginManager) Start(pluginDir string, pluginConfigList []config.Plugi
205206
break
206207
}
207208
}
208-
209209
if len(cmdArgs) == 0 && strings.HasSuffix(p.Name(), ".jar") {
210-
javaPluginCmd := fmt.Sprintf("$SQLE_JAVA_HOME/bin/java -jar %s", cmdBase)
210+
javaPluginCmd := fmt.Sprintf("%s/bin/java -jar %s", jdkPath, cmdBase)
211211
cmdBase = "sh"
212212
cmdArgs = append(cmdArgs, "-c", javaPluginCmd)
213213
}
@@ -242,6 +242,16 @@ func (pm *pluginManager) Start(pluginDir string, pluginConfigList []config.Plugi
242242
return nil
243243
}
244244

245+
func getJdkPath() string {
246+
nowDir, err := os.Getwd()
247+
if err != nil {
248+
log.NewEntry().Errorf("failed to get directory: %v", err)
249+
return ""
250+
}
251+
jdkPath := filepath.Join(nowDir, "jdk")
252+
return jdkPath
253+
}
254+
245255
func (pm *pluginManager) Stop() {
246256
for name, pp := range pm.pluginProcessors {
247257
err := pp.Stop()

0 commit comments

Comments
 (0)