2008-08-25 16 views
19

Bir Java Uygulamasını * NIX arka plan programı veya Windows Hizmeti olarak çalıştırmak için en iyi yöntemi arıyorum. Java Service Wrapper, Apache Commons project 'jsvc' ve Apache Commons project 'procrun''a baktım. Şimdiye kadar, Java Service Wrapper en iyi seçenek gibi görünüyor ... ama, orada başka bir "Açık Kaynak dostu" lisanslı ürünler olup olmadığını merak ediyorum.Bir Java Uygulamasını * nix Daemon veya Windows Hizmeti olarak çalıştırmak için En İyi Yöntem?

+0

Windows Services için, şu soruya bakın: http://stackoverflow.com/questions/68113/how-to-create-a-windows-service-from-java-app/3626452#3626452 (Bu yorumu Google olarak ekleme Beni buraya getirdi, ama diğer sorunun daha fazla cevabı var). – atomicules

cevap

17

Java Service Wrapper ile kendim için çok başarılı oldum. Diğerlerine bakmadım ama ServiceWrapper güçlü olduğu yanlarını şunlardır:

  • Büyük x platform desteği - Ben Windows ve Linux üzerinde kullandı ve her iki
  • Katı Dokümantasyon kolay buldum - Belgeler açık ve mükemmel örneklerle mükemmel örneklerle
  • Platform başına derin destek - Pencere servis yönetim sisteminde servis sarıcısı tarafından mükemmel şekilde desteklenen bazı benzersiz özellikler vardır (w/o yeniden başlatma). Ve Windows'ta, uygulama adınızı "java.exe" yerine işlem listesinde bile göreceksiniz.
  • Standartlara Uygunluk - Birçok geçici Java init betiğinden farklı olarak, hizmet paketi için komut dosyaları LSB standartlarıyla uyumlu olma eğilimindedir. Linux Heartbeat/HA gibi bir şeyden yüksek kullanılabilirlik yönetimi istiyorsanız, bu çok önemli olabilir. Neyse

, sadece benim 2 sent ... :)

+1

Bu derece yeterince öneride bulunamayız –

1

Desteklemeniz gereken (OS güdümlü kaynak yönetimi gibi) özel bir öznitelik var mıdır? Aksi takdirde, Unix için, uygulamanızı uygun bir init.d komut dosyası yazarak ve uygulamanızı otomatik olarak başlayacak şekilde ayarlayarak, uygulamanızı göz ardı edebilmelisiniz.

3

Diğer bir seçenek WinRun4J olduğunu. Bu yalnızca pencere ama bazı yararlı özelliklere sahiptir:

  • 32 bit ve 64 bit desteği olay günlüğüne erişmek ve diğer hizmetler bağımlı olmak için hizmeti kaydedebilir miyiz
  • kayıtçılığa
  • API (yani servisA'yi ve servisB'yi ServiceC'den önce başlatılmalıdır.

Ayrıca açık kaynak dostu (CPL) kullanımda hiçbir kısıtlama yoktur.

(tüm açıklamalar: Bu projede çalışıyorum).

İlgili konular