Bir configureless java sunucu için herhangi bir kullanım?

4 Cevap java

Java seviyorum. Bu harika. Aslında, Java kodu sadece aşağı doğru seksi olduğunu düşünüyorum! Ama Java web uygulamaları yazma hakkında nefret birkaç şey vardır:

  1. O kadar çok yapılandırma dosyaları. Bana bir web.xml oluşturmak zorunda değil sağlayan bir sunucu / konteyner / çerçeve / etc bulmak zorunda. Ve çerçeveler sadece hiç bu karmaşıklığı ekleyin.

  2. Ben PHP çalışma şeklini seviyorum. Bir dizine dosyaları açılır ve hemen onları göz atabilirsiniz. Neden Java bunu yapamaz? Java bu işlemek için gayet yansıma yetenekleri vardır. Peki neden bir dizine etti. Sınıf dosyaları bırakamazsınız, ve sonra hemen bunları taramak mümkün olacak? (.... Ben tomcat dizinin dağıtabilirsiniz biliyorum, ama bu yol açar)

  3. Ve PHP gibi, neden sunucu bir app dağıtmanız ben istediğiniz her zaman yeniden başlatmanız gerekiyor? (Glassfish sıcak dağıtır yapabilirim, ama ben yine de bir. Savaş dosyasına paketlemek zorunda)

Yani, benim soru: herhangi bir kullanımı var mı, ya da bir Java sunucu için mevcut çözüm; Size bir dizine basit Pojos açılan ve hemen onları taramak mümkün olmasını sağlar? Özünde, sadece Java, PHP olan her şeyi istiyorum. Herhangi bir düşünce?

4 Cevap

Grails ihtiyaçların bazı hitap edebilir. Bu (RoR) gibi yapılandırma üzerinde kongre yanadır. Ben sıcak dağıtmak sorunu ancak, sizin istediğiniz gibi dikişsiz bir şekilde olmadığını düşünüyorum.

Senin büyük endişe web.xml s yazma ve benzeri ise, her zaman uygulama içine bir web kabı (diyelim ki, İskele) gömmek ve programlama yapılandırabilirsiniz. Ama (sanıyorum) size düşünüyorsanız ne kadar muhtemelen değil.

1 O kadar çok yapılandırma dosyaları. Bana bir web.xml oluşturmak zorunda değil sağlayan bir sunucu / konteyner / çerçeve / etc bulmak zorunda. Ve çerçeveler sadece hiç bu karmaşıklığı ekleyin.

Since the new Java EE 6 annotations no artık web.xml ihtiyaç var. Give it a look. Java EE 6 (10 Aralık 2009 yayınlandı) nispeten yeni olduğu için, mevcut çerçeveler bu uymak yükseltilmesi için henüz.

2 PHP işleri seviyorum. Bir dizine dosyaları açılır ve hemen onları göz atabilirsiniz. Neden Java bunu yapamaz? Java bu işlemek için gayet yansıma yetenekleri vardır. Peki neden bir dizine etti. Sınıf dosyaları bırakamazsınız, ve sonra hemen bunları taramak mümkün olacak? (.... Ben tomcat dizinin dağıtabilirsiniz biliyorum, ama bu yol açar)

Söz konusu sunucu hotdeploy / autodeploy etkinleştirmeniz gerekir. Sen hakkında daha ayrıntılı gerekir "ama bu yol açar ..." sabit böylece.

3 ve PHP gibi, neden sunucu bir app dağıtmanız ben istediğiniz her zaman yeniden başlatmanız gerekiyor? (Glassfish sıcak dağıtır yapabilirim, ama ben yine de bir. Savaş dosyasına paketlemek zorunda)

Sen iyi bir sunucu eklentisi ile bir IDE gerekir. Eclipse ile Glassfish plugin, ben gerçekten herhangi bir hıçkırık için sunucuyu yeniden başlatmak için herhangi bir ihtiyaç yoktu.

Daha geleneksel Java web çerçeveleri dan Wicket dış yapılandırma az gerektirir. Aslında burada dağıtım modunda Wicket tabanlı web uygulaması çalıştırmak için tam web.xml içeriğin (taken from here and slightly modified):

<web-app>
    <display-name>Wicket Examples</display-name>
    <filter>
        <filter-name>HelloWorldApplication</filter-name>
        <filter-class>org.apache.wicket.protocol.http.WicketFilter</filter-class>
        <init-param>
          <param-name>applicationClassName</param-name>
          <param-value>org.apache.wicket.examples.helloworld.HelloWorldApplication</param-value>
        </init-param>
        <init-param>
          <param-name>configuration</param-name>
          <param-value>deployment</param-value>
        </init-param>
    </filter>
    <filter-mapping>
        <filter-name>HelloWorldApplication</filter-name>
        <url-pattern>/*</url-pattern>
    </filter-mapping>
</web-app>

Eğer Bahar zevk varsa, aslında web.xml yapılandırma sonra hatlarının sadece çift Bahar'ın dinleyici için sadece yapılandırmaları olurdu anlamına hangi Wicket uygulaması Bahar ApplicationContext farkında yapabilirsiniz.

Sadece tasarruf, Eclipse gibi hata ayıklama modunda bir IDE içinde geliştirmek zaman dosya yeniden derleyip istediğini vererek JVM içindeki tanımı (eğer mümkünse) güncellenir.

Ben Reçine sınıflarında sıcak güncelleme değişiklikleri yapabilirsiniz / fakat son zamanlarda denemedim inanıyorum.