2012-08-23 16 views
27

उदाहरण पर औसत जावा ऐप सर्वर चलाने के लिए संभव है रास्पबेरी पाई पर jboss या ग्लासफ़िश सर्वर? कोई सीमाएं? क्या किसी को रास्पबेरी पीआई के लिए जावा विकास में अनुभव है?रास्पबेरी पीआई पर कोई जावा अनुभव?

आरपीआई के लिए कम से कम कोई उचित JVM अच्छा होगा।

+0

हो सकता है कि इस बात के लिए 'कई आरपीआई सवालों के साथ के रूप में – SJuan76

+2

programmers.stackexchange.com' अधिक अनुकूल है, जवाब है," क्यों ऐसा नहीं है? "। यह किसी भी अन्य की तरह एक एआरएम-लिनक्स बॉक्स है। – slim

उत्तर

27

यह बिल्कुल संभव है, लेकिन नए संस्करणों के साथ बेहतर काम करना चाहिए (उदाहरण के लिए पीआई का 512 एमबी संस्करण)। दिसंबर 2012 में ओरेकल ने Developer Preview of Java SE 8 for ARM जारी किया। घोषणा के साथ ब्लॉग पोस्ट में कई ट्यूटोरियल्स के लिंक शामिल हैं जो आपको सादे जावा एसई या जावाएफएक्स के साथ शुरू करना चाहिए, इस पर निर्भर करता है कि आपके इंटरफेस कितने फैंसी होना चाहिए।

  1. Quickie Guide Getting Java Embedded Running on Raspberry Pi
  2. JavaFX on Raspberry Pi – 3 Easy Steps

आप रास्पबेरी Pi पर JavaFX के प्रदर्शन के बारे में चिंतित हैं,, ब्लॉग पोस्ट "JavaFX on Raspberry PI", जो JavaFX के प्रदर्शन के बारे में कुछ जानकारी शामिल की जांच करने के साथ उसकी तुलना मूल अनुप्रयोगों।

अद्यतन: टेस्ट परिणाम पाई
पर जावा 8 के साथ बिलाव 7 चला रहा पाई (MODELL बी) के 512MB संस्करण मिल गया के बाद के बाद, मैं बिना किसी समस्या के जावा 8 और बिलाव 7.0 स्थापित किया। टॉमकैट उदाहरण काम कर रहे थे, और मैं बिना किसी समस्या के टॉमकैट प्रबंधक एप्लिकेशन का उपयोग करने में सक्षम था।

[email protected] ~/ $ free -m 
      total  used  free  shared buffers  cached 
Mem:   438  146  291   0   10   74 
-/+ buffers/cache:   60  377 
Swap:   99   0   99 

pmap 192 एमबी की कुल सूचना दी बिलाव प्रक्रिया द्वारा किया जा रहा:

रैम 64 एमबी ग्राफिक्स कार्ड के लिए इस्तेमाल के साथ, मैं अभी भी मुक्त स्मृति (sshd चल के साथ) की 291 एमबी था।

+0

क्या आपने जावा एसई 8 एआरएम संस्करण के साथ अभी तक कोई परीक्षण किया है? –

+0

अभी तक नहीं, बस 512 एमबी संस्करण पर जाएं और इसके साथ कुछ परीक्षण करेंगे। मैं यहां परिणामों की रिपोर्ट करूंगा। –

+2

नोट: 512 एमबी तक पहुंच प्राप्त करने के लिए आपको नए कर्नेल में से एक की आवश्यकता होगी। पुराने कर्नेल, जैसे सॉफ्टफ्लोट (2012-08-08) के लिए वर्तमान रास्पियन केवल 256 एमबी का समर्थन करते हैं। हालांकि आप अपने कर्नेल को अपग्रेड करने के लिए आरपीआई-अपडेट का उपयोग करके इसे प्राप्त कर सकते हैं। – TheDuke

2

अभी, पीआई पर एक JVM संभव है लेकिन जावा एसई संस्करण ढूंढना मुश्किल है। ओरेकल से एआरएम के लिए एक हो सकता है, लेकिन मैंने कोशिश नहीं की है (मेरी पीआई अभी भी इस तरह से है) और अगर स्मृति दीवार के पीछे है।

पीआई के लिए एक और सीमा उपलब्ध रैम है; जेबॉस और ग्लासफिश जैसे ऐप्स बहुत ही सीमित तैनाती के तहत, पीआई प्रदान करने से अधिक रैम चाहते हैं।

+0

मैं वसंत और जेटी के साथ एक वेब अनुप्रयोग विकसित कर रहा हूं। मुझे लगता है कि रास्पबेरी पाई इसे चलाने में सक्षम होगा, लेकिन परीक्षण नहीं किया, मैं अभी भी इसे प्राप्त करने का इंतजार कर रहा हूं :) – Toilal

+0

यह तब तक चलने में सक्षम होना चाहिए जब तक कि JVM सक्षम नहीं है। एआरएम के लिए जावाएसई प्रदान करने वाले जेवीएम हैं: http://www.oracle.com/technetwork/java/embedded/downloads/javase/index.html लेकिन जैसा कि मेरे पास पाई नहीं है, फिर भी मैं कुछ भी कोशिश नहीं कर सकता। :) –

+0

मेरी पीआई यहाँ है, और यह वास्तव में ओरेकल से ejre चलाता है। मेमोरी खपत के लिए देखें, जैसा कि कहीं और विस्तृत है, लेकिन यह दुनिया के एम्बेड करने योग्य उपकरणों के लिए जिस तरह से है। –

8

आप वास्तव में कर सकते हैं। रास्पबेरी पीआई पर जेबॉस ईएपी (अनिवार्य रूप से जेबॉस एएस 7) चलाने वाले किसी व्यक्ति का blog post है।

12

रास्पबेरी पीआई में पूरे जेवीएम के लिए केवल 185 एमबी उपलब्ध है। (बूट के बाद, 16 एमबी से वीडियो प्रोसेसिंग के साथ)।

उसके बाद, आप आक्रामक और सटीक स्मृति विकल्प (-Xmx120M -XX:MaxPermSize=55M -XX:ReservedCodeCacheSize=4M -Djava.awt.headless=true)

मैं जेट्टी, स्प्रिंग 3 और हाइबरनेट/जेपीए के आधार पर एक आवेदन पत्र बना दिया है उपयोग करने के लिए की जरूरत है। तैनाती के बाद, यह लगभग 15 एमबी हीप स्पेस और 32 एमबी गैर हीप स्पेस (जेपीरोफाइलर मेमोरी विश्लेषण का उपयोग करके)

प्रत्येक लोडेड क्लास स्थायी स्मृति खो जाती है, क्योंकि पर्मजेन स्पेस कचरा नहीं हो सकता है। बहुत से वर्ग केवल प्रारंभिक समर्थन के लिए लोड किए जाते हैं, लेकिन हमेशा के लिए लोड रहेंगे। हो सकता है कि प्रत्येक घटक के लिए कम पर्मजेन स्पेस का उपभोग करने के लिए tweeks पाया जा सकता है।

+0

-XX: + CMSClassUnloadingEnabled -XX: + CMSPermGenSweepingEnabled, जब आप इसे कोरेंट जीसी सेटिंग्स के साथ उपयोग करते हैं तो यह permgen से कक्षाओं को हटाने में सक्षम होना चाहिए, कम से कम यह सामान्य x86 मशीनों पर करता है। मुझे यकीन नहीं है कि एआरएम जेवीएम कितना अलग है। –

4

मैं जेआरई 1 के तहत रास्पबेरी पीआई पर टीजेडब्ल्यूएस का उपयोग करता हूं।7, यह अविश्वसनीय रूप से तेज़ काम करता है और कोई स्मृति समस्या नहीं है।

0

Ive को tomlite डेटाबेस के साथ openjdk पर चल रहा tomcat7 मिला। मेरे लैपटॉप की एक चौकोर गति के आसपास ठीक प्रसंस्करण, लेकिन jsp पृष्ठों को खोलने में 10-15 सेकंड लगते हैं। निश्चित नहीं है कि अभी तक क्यों।

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