'u sonlandırmıyor Apache procrun Anlamadığım bir davranış görüyorum. Bir istisna atarak Java programının main
yöntemine kadar geri döner. Bu hiçbir yerde oturum açmadı ve Windows hizmeti durmuyor. Bunu prunsrv.exe
ile bir hizmet olarak bu yükler ve daha sonra başlattığınızda benprocrun in --StartMode = Özel durum atanan ana çalışan Jvm
public static void main(String[] args) throws Exception {
if (args.length<10000000) {
throw new Exception("one exception right away");
}
...
}
-e doğru main
yöntemini değiştirdi fazla araştırmak için, sorunsuz başlar ve hiçbir günlük çıktı üretir. Özellikle servis durmuyor.
Başvuru için, burada hizmet procrun ile birlikte yüklenir nasıl:
& $procrun "//$operation//$service" `
--DisplayName="$service" `
--Description="$service" `
--DependsOn="$depends" `
--Startup=auto `
--Install="$procrun" `
--Jvm="$JVM" `
--Classpath="$cp" `
--Environment="PATH=$env:JAVA_HOME\bin" `
--JavaHome="$env:JAVA_HOME" `
--StartPath="c:\Search" `
--JvmOptions="-Xmx512M;-Xms512M;-Djava.awt.headless=true" `
--StartMode="jvm" `
--StartClass="$classname" `
--LogPath="c:\Search\std-logs" `
--LogPrefix="procrun-$service" `
--LogLevel="Debug" `
--StdError="c:\Search\std-logs\stderr-$no0" `
--StdOutput="c:\Search\std-logs\stdout-$no0" `
--StartParams="(unused)"
Hizmetin hemen durur beklenmektedir ve bazı günlük stderr/stdout dosyalarında çıktı, ama hiçbir şey bulmak olurdu. Bunu açıklayan var mı?
DÜZENLEME: Ah, çığlık atmak, bağırmak ve çıkmak yerine (benim durumumda java.lang.noClassDefFoundError
) procrun
yutar gibi görünüyor.