2010-05-16 15 views
10

मैं जानना चाहता हूं कि कौन सा जावा वेब एप्लिकेशन ढांचा "हॉट रीलोड" क्षमता प्रदान करता है, यानी, यह अनुप्रयोगों को विकसित करने की अनुमति देता है और उन्हें "लगभग तुरंत" सर्वर पर पुन: नियोजित किया जाता है (यानी, कुछ सेकंड से भी कम समय में)।कौन सा जावा वेब ढांचा हॉट-रीलोड प्रदान करता है?

जावा दुनिया में, Play! बॉक्स से बाहर करता है, लेकिन जो मैं खोज रहा हूं वह एक और संपूर्ण सूची है।

अन्य उदाहरण जिन्हें मैं जानता हूं उनमें शामिल हैं: Nuxeo WebEngine, बशर्ते आप ग्रहण और सही प्लगइन का उपयोग कर रहे हों, या पाइथन दुनिया में, Django और Pylons (--reload विकल्प का उपयोग करते समय)।

उत्तर

10

कोई उन महीनों के बाद रुचि हो सकती है, तो:

आप कर सकते हैं configure jetty इतना है कि यह गर्म अपने संकलित वर्गों को तैनात करेगा (ग्रहण + NetBeans सुविधा को बचाने पर संकलन है)। Maven के साथ आप अपने pom.xml में इस config के बाद mvn jetty:run लिख सकते हैं:

 <plugin> 
      <groupId>org.mortbay.jetty</groupId> 
      <artifactId>maven-jetty-plugin</artifactId> 
      <version>${jetty.version}</version> 
      <configuration> 
       <scanTargets> 
        <scanTarget>target/classes/</scanTarget> 
       </scanTargets> 
       <scanIntervalSeconds>1</scanIntervalSeconds> 
      </configuration> 
     </plugin> 

यह jrebel के उपयोग के बिना किया जा सकता है और इसका मतलब है: आईडीई + इसे बचा + आपके ब्राउज़र ने जाने में बदलाव करना + F5 => आप कर चुके हैं!

उस सुविधा के साथ उदा। विकेट या वाडिन गर्म तैनाती योग्य हैं (लेकिन अन्य भी!)

+0

क्या ऐसा करने के लिए कोई गैर-मेवेन तरीका है? – nilskp

+0

मुझे ऐसा लगता है, दस्तावेज़ देखें। कमांड लाइन के माध्यम से और जावा – Karussell

0

ग्रहण में एक स्ट्रैट्स (2) अनुप्रयोग विकसित करते समय इसे स्वचालित रूप से फिर से लोड किया जाता है जैसे ही आप फ़ाइल को सहेजते हैं जो सफलतापूर्वक संकलित करता है।

हालांकि, सत्र हर पुनः लोड जो थोड़ा कष्टप्रद है पर खो रहे हैं ..

+0

यह आईडीई द्वारा ट्रिगर किए गए एप्लिकेशन सर्वर में एप्लिकेशन का एक स्वचालित पुनर्वितरण है। –

0

आप POJOs उपयोग करते हैं, EJBs के बजाय, Seam framework अपनी सूची में होना चाहिए।

2

टेपेस्ट्री 5 में सिंगल क्लास/पेज परिवर्तनों की गर्म तैनाती है, जैसा सीम करता है।

15

जहां तक ​​मुझे पता है, आप jrebel का उपयोग करते हुए लगभग हर जावा ढांचे के साथ गर्म पुनः लोड कर सकते हैं। जैसा कि अन्य उत्तरों में उल्लेख किया गया है, कुछ ढांचे में निर्मित कुछ प्रकार के हॉट-तैनाती हैं।

+1

पिटी यह मानक जे 2 ईई विकास की पार्टी नहीं है। – mdma

1

मुझे लगता है कि आप इसे विकास उद्देश्यों के लिए चाहते हैं, न कि उत्पादन के लिए (जावा के लिए उत्पादन में गर्म-पुनः लोडिंग == बड़े समय में असफल)। बहुत ही कम मैं एक वाणिज्यिक उत्पाद को ढूढ़ूंगा, लेकिन अगर आप जावा में हॉट-रीलोडिंग चाहते हैं तो विकास को तेज करने के लिए, आप वास्तव में क्या चाहते हैं JRebel है। यह गर्म रीलोडिंग आपके हिस्से पर काफी आसानी से होगा।

नोट: जो कुछ भी आप करते हैं, अपने जावा ऐप्स के लिए जेआरबेल (या उस मामले के लिए कोई गर्म तैनाती) का उपयोग न करें।

+0

के माध्यम से गर्म रीलोड की परिभाषा खराब है? [1. पूरे सर्वर को पुनरारंभ किए बिना किसी ऐप को फिर से लोड करना (जिसमें एकाधिक ऐप्स हो सकते हैं)। 2. फ़ाइलों को बदलने पर स्वचालित रूप से # 1 प्रदर्शन। ] निश्चित रूप से, आप उत्पादन में # 2 के बिना कर सकते हैं, लेकिन आपको # 1 की आवश्यकता हो सकती है –

0

यदि आप अपने जावा (नियंत्रक, मॉडल) कोड को संपादित करना चाहते हैं और तुरंत अपने परिवर्तन को देखने के लिए अपने ब्राउज़र को रीफ्रेश करें और अपने वेब सर्वर को पुनरारंभ किए बिना, आप scooter का उपयोग कर सकते हैं। वैसे, इसका अंतर्निर्मित टूल फ़ाइल ब्राउज़र आपको ब्राउज़र के माध्यम से अपने कोड को संपादित (संकलित) करने की अनुमति देता है। एक ब्राउज़र आईडीई के रूप में सक्षम नहीं हो सकता है, लेकिन यह आपको अपने ऐप को दूरस्थ रूप से विकसित करने में मदद करता है।

0

ब्लॉक पर एक नया बच्चा है, RelProxy, यह ओपन सोर्स है, जेआरबेल की तरह इतना उन्नत नहीं है, लेकिन इसका उपयोग रनटाइम में आपके कोड के एक सबसेट को स्वतंत्र रूप से बदलने के लिए किया जा सकता है और इसे लगभग कोई प्रदर्शन दंड नहीं देता है और नहीं यदि आप चाहें तो विकास और उत्पादन में संदर्भ पुनः लोड करने की आवश्यकता (कोई सत्र खो गया नहीं)।