2012-04-11 16 views
6

में कनवर्ट करें मेरे पास main() विधि वाला जावा क्लास है। इसमें कुछ संख्या क्रंचिंग और विश्लेषण करने के लिए तर्क शामिल है। यह प्रति दिन एक बार चलाने के लिए निर्धारित है और यदि आवश्यक हो तो मैन्युअल रूप से फिर से चलाया जा सकता है। दिनचर्या अपनी गतिविधियों को लॉग इन करने के लिए Log4j का उपयोग करती है। इसे चलाने और लॉग की जांच करने के लिए होस्ट बॉक्स में दूरस्थ लॉगिन की आवश्यकता होती है।जावा कंसोल प्रोग्राम को वेबपैप

मैं इसे एक वेब एप्लिकेशन में परिवर्तित करना चाहता हूं, जहां मैं इसे वेब पेज के माध्यम से ट्रिगर कर सकता हूं और लॉग के आउटपुट को देख सकता हूं, आदर्श रूप से यह स्क्रॉल करता है।

ऐसा करने का सबसे अच्छा तरीका क्या होगा? एक जावा वेबपैप? एक साधारण जेनेरिक वेब आधारित स्क्रिप्ट धावक? या कोई अन्य विकल्प जो मुझे पता नहीं हो सकता है।

अद्यतन: log4j

  • से स्क्रॉल उत्पादन को देखने के लिए अगर मैं पृष्ठ को छोड़
  • की क्षमता एक वेब पेज से इसे शुरू करने के

    1. की क्षमता: एक आवश्यकताओं पर अधिक विस्तार से काटा और फिर वापस आओ, मुझे यह बताना चाहिए कि आखिरी रन अभी भी चल रहा है और लॉग दिखा रहा है। मुझे समानांतर में कई उदाहरण चलाने की क्षमता रखने की आवश्यकता नहीं है।
  • +2

    क्या आपके पास किसी जावा वेब ढांचे के साथ अनुभव है? –

    +0

    उम, एक साधारण स्विंग एप्लिकेशन नहीं करेगा? –

    +0

    @Shagaan - हाँ, मेरी जावा वेब फ्रेमवर्क पसंद है स्प्रिंग एमवीसी – Danish

    उत्तर

    5

    क्या आपने कार्य चलाने के लिए एक हडसन/जेनकींस सर्वर स्थापित करने पर विचार किया है? क्योंकि इसमें आपके द्वारा वर्णित विशेषताएं हैं, यह एक जावा वेब ऐप है, और यह आपके मौजूदा प्रोजेक्ट में संशोधन के बिना काम करेगा।

    +0

    एक अतिरिक्त बोनस के रूप में, आप अपने जावा स्रोत कोड बनाने और इसे भी परीक्षण करने के लिए जेनकींस का उपयोग कर सकते हैं। – Bernard

    +0

    और यदि आपके पास भविष्य में अतिरिक्त नौकरियां हैं, तो आप उन्हें बिना संशोधन के जोड़ सकते हैं। और, यदि आप एक टीम के माहौल में काम करते हैं, तो लोग पहले से ही जेनकींस से परिचित हो सकते हैं। और आपको मुफ्त में बग फिक्स (और संभवतः प्लगइन्स) मिलते हैं। और ... – Kevin

    +0

    यह बहुत अच्छा लग रहा है! मैं निश्चित रूप से यह एक शॉट दे दूंगा। क्या यह विंडोज़ एज़ूर क्लाउड पर इसे तैनात करना संभव है? – Danish

    0

    आप आप AJAX के माध्यम से पत्र भरना होगा और नए लॉग प्रविष्टियों के लिए मतदान और अपने पृष्ठ पर एक मेज पर उन्हें जोड़ने के लिए वसंत MVC के साथ अजाक्स इस्तेमाल कर सकते हैं jsp/JSF

    +0

    मुझे खेद है कि मैं अपनी आवश्यकताओं पर स्पष्ट नहीं था। मैंने उन्हें प्रतिबिंबित करने के लिए अपना प्रश्न अपडेट कर लिया है। मुझे लगता है कि यह काम करेगा, लेकिन मैं एक स्क्रॉलिंग लॉग देखना चाहता हूँ। साथ ही, प्रक्रिया HTTP टाइमआउट से अधिक समय तक चल सकती है। – Danish

    +0

    मुझे लगता है कि वेब-सेवा अभी भी आपके मामले में एक विकल्प है। यही है ना ? – vkantiya

    +1

    आप किसी प्रकार के धूमकेतु/लंबे मतदान समाधान के साथ स्क्रॉलिंग लॉग कर सकते हैं। – Kevin

    1

    से वेब सेवा को फोन करने की कोशिश कर सकते हैं। AJAX कॉल के लिए JQuery और स्प्रिंग एमवीसी नियंत्रक विधि का उपयोग करके इसे नए लॉग एंट्री की जांच करने के लिए यहां कुछ त्वरित नमूना कोड दिया गया है।

    JSP:

    $.getJSON("logs.htm", { lastLogId: logId }, function(response) { 
        $('#myTable tr:last').after('<tr><td>' + response + '</td></tr>'); 
    }); 
    

    वसंत MVC नियंत्रक (रिटर्न JSON):

    @Controller 
    public class LogController { 
    
        @RequestMapping("logs.htm") 
        public @ResponseBody String getLogs(@RequestAttribute("lastLogId") Integer lastLogId, HttpSession sess) { 
         LogList logs = sess.getAttribute("logs"); // just an example using user-defined class "LogList" 
         return logs.getNextLog(lastLogId); 
        } 
    } 
    

    (जब log4j सत्र के लिए लॉग प्रविष्टियों को स्टोर करने की आवश्यकता होगी कुछ टुकड़ों मैं यहाँ का उल्लेख नहीं था रहे हैं लॉग, आदि ..), लेकिन मुझे आशा है कि स्प्रिंग एमवीसी और AJAX का उपयोग करके ऐसा करने के लिए इसे कम से कम मददगार होगा।

    संबंधित मुद्दे