mirror of
https://github.com/tencentmusic/supersonic.git
synced 2025-12-10 19:51:00 +00:00
113 lines
2.9 KiB
Batchfile
113 lines
2.9 KiB
Batchfile
@echo off
|
|
setlocal
|
|
chcp 65001
|
|
|
|
set "sbinDir=%~dp0"
|
|
call %sbinDir%/supersonic-common.bat %*
|
|
call %sbinDir%/supersonic-env.bat %*
|
|
|
|
set "command=%~1"
|
|
set "service=%~2"
|
|
set "profile=%~3"
|
|
|
|
if "%service%"=="" (
|
|
set "service=%standalone_service%"
|
|
)
|
|
|
|
if "%profile%"=="" (
|
|
set "profile=%S2_DB_TYPE%"
|
|
)
|
|
|
|
set "model_name=%service%"
|
|
|
|
REM fix path configuration - point to the correct release package directory
|
|
set "releaseDir=%buildDir%\supersonic-%service%-1.0.0-SNAPSHOT"
|
|
cd %releaseDir%
|
|
|
|
if "%command%"=="restart" (
|
|
call :stop
|
|
call :start
|
|
goto :EOF
|
|
) else if "%command%"=="start" (
|
|
call :start
|
|
goto :EOF
|
|
) else if "%command%"=="stop" (
|
|
call :stop
|
|
goto :EOF
|
|
) else if "%command%"=="reload" (
|
|
call :reloadExamples
|
|
goto :EOF
|
|
) else (
|
|
echo "Use command {start|stop|restart} to run."
|
|
goto :EOF
|
|
)
|
|
|
|
:start
|
|
call :runJavaService
|
|
goto :EOF
|
|
|
|
:stop
|
|
call :stopJavaService
|
|
goto :EOF
|
|
|
|
:runJavaService
|
|
echo 'java service starting, see logs in logs/'
|
|
echo 'Using release directory: %releaseDir%'
|
|
|
|
REM use release package directory as base path
|
|
set "libDir=%releaseDir%\lib"
|
|
set "confDir=%releaseDir%\conf"
|
|
set "webDir=%releaseDir%\webapp"
|
|
set "logDir=%releaseDir%\logs"
|
|
|
|
REM fix variable name matching problem
|
|
set "CLASSPATH=%releaseDir%;%webDir%;%libDir%\*;%confDir%"
|
|
set "MAIN_CLASS=%main_class%"
|
|
|
|
REM add port configuration
|
|
set "property=-Dfile.encoding=UTF-8 -Duser.language=Zh -Duser.region=CN -Duser.timezone=GMT+08 -Dspring.profiles.active=%profile% -Dserver.port=9080"
|
|
set "java_command=%property% -Xms1024m -Xmx2048m -cp "%CLASSPATH%" %MAIN_CLASS%"
|
|
|
|
if not exist %logDir% mkdir %logDir%
|
|
|
|
REM check if the main jar file exists
|
|
if not exist "%libDir%\launchers-standalone-1.0.0-SNAPSHOT.jar" (
|
|
echo "Error: Main jar file not found in %libDir%"
|
|
echo "Please make sure the application has been built and packaged correctly."
|
|
goto :EOF
|
|
)
|
|
|
|
echo 'Main Class: %MAIN_CLASS%'
|
|
echo 'Profile: %profile%'
|
|
echo 'Starting Java service...'
|
|
|
|
REM start service and save logs
|
|
start /B java %java_command% > "%logDir%\supersonic.log" 2>&1
|
|
timeout /t 15 >nul
|
|
|
|
REM check service status
|
|
netstat -an | findstr ":9080" >nul
|
|
if errorlevel 1 (
|
|
echo "Warning: Port 9080 is not listening"
|
|
echo "Please check the log file: %logDir%\supersonic.log"
|
|
if exist "%logDir%\supersonic.log" (
|
|
echo "Recent log entries:"
|
|
powershell -Command "Get-Content '%logDir%\supersonic.log' | Select-Object -Last 10"
|
|
)
|
|
) else (
|
|
echo "Service started successfully on port 9080"
|
|
echo "You can access the application at: http://localhost:9080"
|
|
)
|
|
|
|
echo 'java service started'
|
|
goto :EOF
|
|
|
|
:stopJavaService
|
|
echo 'Stopping Java service...'
|
|
for /f "tokens=2" %%i in ('tasklist ^| findstr /i "java"') do (
|
|
taskkill /PID %%i /F
|
|
echo "java service (PID = %%i) is killed."
|
|
)
|
|
goto :EOF
|
|
|
|
endlocal |