2012-12-14 7 views
5

मेरे पास एक अमेज़ॅन एस 3 बाल्टी है जो मेरे जावा एप्लिकेशन के लिए मेरी .jar फाइलें रखती है। और मेरे पास एक वेब सर्वर है जो गतिशील रूप से जेएनएलपी फ़ाइल बनाता है और सेवा करता है जो कोडबेस के लिए इस अमेज़ॅन एस 3 बाल्टी को इंगित करता है।मुझे अपनी जेएनएलपी फाइल को अमेज़ॅन एस 3 बाल्टी (डायनामिक आईपी एड्रेस सीडीएन) के लिए जेएआर फाइलों के साथ कैसे कॉन्फ़िगर करना चाहिए?

जेएनएलपी मेरी अमेज़ॅन एस 3 बाल्टी से .jar फ़ाइलों को सही ढंग से डाउनलोड करने में सक्षम है।

ExitException[ 3]java.io.IOException: Cannot find cached resource for URL: http://s3.amazonaws.com/....  
     at sun.plugin2.applet.JNLP2Manager.prepareLaunchFile(Unknown Source) 
     at sun.plugin2.applet.JNLP2Manager.loadJarFiles(Unknown Source) 
     at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source) 
     at java.lang.Thread.run(Unknown Source) 

करता जावा कैश आईपी पते के साथ .jar फ़ाइलें: लेकिन जब शुरू करने की कोशिश कर रहा है, मैं निम्नलिखित अपवाद मिल सकता है? इससे पहले जावा लॉग में, निम्नलिखित मुद्रित किया गया है: "कैश: कैश एंटर्री आईपी मिस्चैच: 207.171.189.80! = 207.171.187.117"। दोनों आईपी एस 3 को हल करते हैं।

मुझे आश्चर्य है कि मुझे यह समस्या मिल रही है और मुझे लगता है कि यह एक आम समस्या है लेकिन एक अच्छा समाधान नहीं मिल रहा है।

<jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://207.171.189.80/... 

के बजाय:

<jnlp spec="1.0" xmlns:jfx="http://javafx.com" codebase="http://s3.amazonaws.com/... 

यह हर काम करता है मैं JNLP फाइल में आईपी पते छड़ी है। अन्यथा, यह आमतौर पर उपरोक्त अपवाद के साथ टूट जाता है।

क्या कोई इस के लिए एक अच्छा समाधान जानता है? धन्यवाद।

+0

मेरा सुझाव है कि आप [बग डेटाबेस] (http://bugs.sun.com/) देखें और यदि आपको कुछ भी समान दिखाई नहीं देता है, तो एक नई रिपोर्ट उठाएं। –

+0

ठीक है, मैंने चारों ओर देखा लेकिन कुछ भी नहीं मिला। मैंने एक नई रिपोर्ट उठाई और यदि यह एक बग में बदल जाता है, तो मैं इसे यहां संदर्भित करूंगा। धन्यवाद। – Patrick

+1

मुझे "साइट कैबिनेट" के अंदर Google साइट्स पर जावा एप्लेट एम्बेड करने के साथ एक ही समस्या थी - मैंने जावा लॉग को भी सक्षम किया और पाया कि "कोडबेस" यूआरएल क्लाउड के अंदर पिंजरा था। मेरे एप्लेट के विभिन्न हिस्सों को वास्तव में Google की स्पेस में विभिन्न आईपी से लाया जा रहा था (जहां यह फाइल कैबिनेट में फाइलों को स्टोर करता है)। मेरा कामकाज code.google.com पर एप्लेट होस्ट करना था, जो मुझे एहसास है कि शायद उपयोगी जानकारी नहीं है। मुझे लगता है कि यह एकमात्र समस्या नहीं है जेआरई क्लाउड की तरह व्यवहार के साथ है। – Fuhrmanator

उत्तर

0

क्या आपकी जेएनएलपी फ़ाइल का एस 3 होस्टनाम आधारित संस्करण कभी-कभी काम करता है? यदि हां - मुझे उम्मीद है कि कारण अमेज़ॅन के एस 3 होस्टनामों पर कम समय-से-कम मूल्य है।

अभी "ए" रिकॉर्ड केवल 30 सेकंड के बाद समाप्त हो जाते हैं। इसका मतलब यह हो सकता है कि प्रत्येक JAR फ़ाइल के लिए HTTP अनुरोधों के बीच S3 को, DNS कैश की समयसीमा समाप्त हो जाती है। तो अगला जेएआर अनुरोध एक और DNS लुकअप का कारण बन जाएगा।

मैंने देखा कि एस 3 के लिए DNS केवल एक आईपी पता देता है, लेकिन फिर यह 30 सेकंड के बाद घूमता है।

% dig s3.amazonaws.com 
;; ANSWER SECTION: 
s3.amazonaws.com.  229  IN CNAME s3.a-geo.amazonaws.com. 
s3.a-geo.amazonaws.com. 213  IN CNAME s3-1.amazonaws.com. 
s3-1.amazonaws.com.  28   IN A  176.32.100.200 

मैं JNLP बारे में निश्चित नहीं हूँ, लेकिन आम तौर पर जावा कि जार फ़ाइलों सभी एक ही "स्रोत" से लोड किए गए हैं यह सुनिश्चित करने के बारे में बहुत picky है। मुझे लगता है कि जावा, इस संदर्भ में, "स्रोत" का अर्थ "एक ही आईपी पता" करना चाहता है।

सबसे खराब स्थिति, आप अपने जेएनएलपी को गतिशील रूप से उत्पन्न करने का प्रयास कर सकते हैं, इसे वास्तविक समय में एस 3 में डालकर, फिर अपने ग्राहकों को पूर्ण बंडल प्राप्त करने के लिए निर्देशित कर सकते हैं?

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