2008-09-05 3 views
5

J2EE uygulamasını yeniden başlatmanın mümkün olup olmadığını bilen var mı (uygulamadan)? Öyleyse nasıl?Bir j2ee uygulamasını programla yeniden başlatır mısınız?

Mümkünse bunu uygulama sunucusu-agnostik bir şekilde yapabilmeyi isterim.

Uygulama, birçok farklı uygulama sunucusunda çalıştırılacaktır.

Bunu bir uygulama-sunucu-tanıma yöntemiyle yapmak mümkün değilse, muhtemelen benim amacım için yapmaya değmez. Her zaman kullanıcıya uygulamayı manuel olarak yeniden başlatmaları gerektiğini bildiren bir mesaj görüntüleyebilirim.

cevap

5

Bir uygulama sunucusu agnostic yolunu bulma olasılığınızın düşük olmasını öneririm. Req'lerinizi tanımlamıyormuş gibi görünmese de, uygulamanın yeni bir sürümü kullanan bir yükleyici dışında yeniden başlatılmasını gerektiren bir tasarımı sorgulayabilirim. Son olarak, herhangi bir mantıksal amaç için "herhangi bir" uygulama sunucusu çalışmaz. Sürüm notlarınızda belgelenen desteklenen uygulama sunucularının ve sürümlerinin bir listesi olmalıdır, böylece bunların tümünü test edebilir ve müşterileri desteklemeyen bir sunucu/sürüm üzerinde desteklemekten endişelenmenize gerek yoktur. Deneyimlerden, örneğin Apache Tomcat ve BEA WebLogic arasında her zaman ince farklar vardır ve bu farklılıklar genellikle belgesizdir ve bunlara girinceye kadar karar vermesi zordur.

3

Çoğu uygulama sunucusu bir JMX arabirimi sağlar, böylece bunu çağırabilirsiniz.

2

Uygulama sunucusunu yönetmek için servicewrapper'ı kullanmanızı ve ardından hizmetin yeniden başlatılmasını istemek için onun api yöntemlerini kullanmasını öneririm. Bazı yapılandırmalar söz konusu olacak ve bunun sizin parçacık ortamınızda çalışıp çalışmayacağını bilmek zor olacak, ancak bildiğim tek çözüm, hatta çapraz-sunucu uyumlu bile olsa.