A gyors fejlődés a webes alkalmazások java

Gyors fejlődése Java webes alkalmazások

Ahogy fejleszteni a Java webes alkalmazás?

A gyors fejlődés a webes alkalmazások java

Minden változtatás után hogyan futtatja, és nézd meg? Meddig tart átcsoportosítását alkalmazások és újraindítani a tartály?

Láttam különböző változatai: a teljes újjáépíteni a WAR-fájlt a plug-inek az IDE, mint MyEclipse, fizetési hajlandóság és a „csatlakozó” a servlet konterynerov. Némelyikük nyilvánvaló hiányosságokat, akkor a többi munka -, de van egy sokkal egyszerűbb módja!

Zapuskalka


Ez a módszer maximalizálja a fejlesztés egyszerűen és rugalmasan konfigurálható az alkalmazás minimális időt redeploya. Önnek csak írni egy egyszerű Java-osztály egy fő módszer, amely elindítja a móló szerver azonnal a kívánt alkalmazásokat (az úgynevezett beágyazott mód).

Itt van zapuskalka egy minimális konfiguráció:

Ez a kód elindítja a szerver (servlet konténer) porton 8080, három web-alapú alkalmazások, a kód, amelyet közvetlenül a projekt mappa (root / src / fő / webapp. Reports / src / fő / webapp és petclinic / src / fő / webapp), hogy van, bármilyen változás a fájlok azonnal hatályba lépnek. anélkül, hogy újrafordítani, és peredeploit.

Természetesen azzal a kiegészítéssel, új módszerek lesz, hogy újra kell indítani, de ebben az esetben, egy újraindítás zajlik a lehető leggyorsabban, a szó szoros értelmében másodperceken belül (persze, ha az alkalmazások ne tegyen valamit bonyolult, amikor elkezdi). Ha ez is döntetlen JRebel, csokoládé fog tenni.

Ez az egész trükk.
Természetesen a Flot nem használja Móló, és valami, például Tomcat, JBoss vagy WebLogic. Nem számít, mert beszélünk fejlesztése, ahol a gyorsaság, a stabilitás, stb jelentéktelen és fontos a könnyű telepítést, a végrehajtás sebessége és redeploya. Ezután Beágyazott Móló - amit az orvos rendelt.

Akkor egyszerűen futtatni a fő osztályú imádott IDE, hibakeresési, teszt, újraindítás; és nem kell semmilyen plug-inek nem kell keresni a konfigurációs fájlok, nem kell ásni XML'ah. Minden beállítás kéznél. Ez az élet!

Futtatásához minimum konfiguráció elegendő mindhárom jar fájlokat: servlet-api.jar, jetty.jar, móló-util.jar.

[UPD] Amint azt kblcuk. zapuskalki A fenti kód csak akkor működik a változata Móló 6. Kezdve a hetedik változata Móló, a csomag nevét és osztályok kerültek változott org.mortbay.jetty. * A org.eclipse.jetty. *, úgyhogy meg kell kijavítani import.

Vegyünk néhány további funkciók, amelyek hasznosak lehetnek attól függően, hogy a projekt.

osztálybetöltése

A fenti kód betölti osztályok és attól függően, hogy az összes webes alkalmazások egy rakodó (ClassLoader). Ha valamilyen okból kifolyólag fontos, hogy a webes alkalmazások különböző készletek osztályok és függőségek (jar'ov), akkor is történhet írásban egy kis kód:

Én magam is aktívan használják, amikor azt kellett futni csak sok webes alkalmazások, mindegyik a (ellentmondó) függőségek. Nagyon egyszerű, nagyon kényelmes.

Old-Timer emlékszem, hogy felejthetetlen idők HTML űrlap gyakran használják olyan dolog, mint a JSP. Ha Ön is használja a projektben JSP, akkor van hozzá egy pár függőségek: eclipse-jdtcore.jar, JSP-api-2.1-glassfish.jar, JSP 2.1-glassfish.jar

Configuration JDBC-erőforrásokat

Lehet, hogy van egy egyszerűbb megoldás, de egy ilyen opció Megkerestem:

Ehhez szükség lesz még egy kicsit többet függőség: transactions.jar, móló-naming.jar, tranzakciók-api.jar, tranzakciók-jta.jar, tranzakciók-jdbc.jar, atomikos-util.jar

Lehetséges, hogy automatizálja ezt még egy kicsit?

Ha a lista a webes alkalmazások folyamatosan változik, akkor lehet értelme, hogy írjon egy plugin Eclipse vagy IDEA, ami indítanak Móló összes projekt, amely jelenleg az Eclipse. Az egyik ilyen bővítmény leírása itt - úgy találja, minden projekt, amelyek web.xml fájlt, és más projektek hozzáadja őket a classpath.

Objektivitásra kedvéért próbálom megnevezni néhány buktatók e megközelítésnek.

  • (Képzelt mínusz) Jetty tartály gyengébb a termelékenység Tomcat, JBoss, Gyanta és mtsai.
    Hülyeség. Beszélünk a fejlesztés -, akkor a teljesítmény egyáltalán nem fontos.
    By the way, ez még mindig kérdés, hogy rosszabb.
  • (Képzelt mínusz) Konténer Jetty instabil / néha összeomlik le / tartalmaz memóriavesztés.
    Hülyeség. Lásd. Előző bekezdés.
  • Ha az alkalmazás a sajátos jellemzők egy adott konténer (különösen WebLogic és Oracle AS), majd a móló dolgozik, persze, nem fog.
    Talán semmit nem lehet tenni. Én csak tanácsot, hogy ne használja ezeket a funkciókat az alkalmazás nem függ a tartály.
  • Néha előfordul, hogy az alkalmazás működik a számítógépen beágyazott Móló módban, de összeomlik le, szedik a háborúban, és telepítve egy másik szerverre.
    Csak ritkán, de előfordul. A relatív gyakoriság, sikertelen lehet, mert a classloaders vagy változatok jar'ov.

alternatívák

A szórakozás, sorolok alternatív internetes alkalmazások fejlesztése Java annak szubjektív megítélése.

Továbbra is hozzátenni, hogy a beágyazott mód, akkor nem csak futni Móló, de Tomcat, Glassfish stb Egy speciális tartály nem fontos, fontos elv. Nincs hosszú távú helyreállítási, telepítése, csomagolja ki és állítsa. Minden kezdeni gyorsan és egyszerűen, egyetlen osztályban.

Magam fejlődő webes alkalmazás, így több éve, és a többi tanácsot. Így lesz kevesebb időt töltenek a nyüzsgő körül az összeszerelést és telepítést, és lehet koncentrálni a tényleges tervezési.