protocol buffers - toByeArray doesn't exist in my java protobuffer -
मैं protoc version 2.5 और protobuf-java-2.5.0.jar फ़ाइल का उपयोग कर रहा हूँ ताकि निम्न प्रोटॉब को संकलित किया जा सके
// यह डिजिटल रीयल-एस्टेट संदेश प्रकाशक {आवश्यक स्ट्रिंग नाम = 1; आवश्यक int32 id = 2; // इस व्यक्ति के लिए अद्वितीय आईडी नंबर आवश्यक डबल ask_price = 3; वैकल्पिक स्ट्रिंग ईमेल = 4; Enum MediaType {WEB = 0; NEWSPAPER = 1; पत्रिका = 2; वैकल्पिक मीडियाटाइप मीडिया = 5; फोन फ़ोन टाइप करें {MOBILE = 0; होम = 1; कार्य = 2; } संदेश फोन नंबर {आवश्यक स्ट्रिंग संख्या = 1; वैकल्पिक फ़ोन प्रकार प्रकार = 2 [डिफ़ॉल्ट = होम]; } बार-बार फोन नम्बर फ़ोन = 6; }
तब मेरे पास मेरे जावा कोड में निम्नलिखित पंक्ति है जो एक प्रकाशक। बिल्डर पर डेटा सदस्यों को सेट करके यादृच्छिक प्रकाशक वस्तु बनाता है और फिर कॉलिंग .build () और परिणाम लौट रहा है।
<पूर्व> प्रकाशक pub = genPubProtoBuf ();
हालांकि, पब में "toByteArray ()" विधि नहीं है पब स्पष्ट रूप से एक प्रकाशक है जो जनरेटेड संदेश का विस्तार करता है जो एब्सटमेस्ज लाइट प्रदान करता है, जहां toByteArray () एक सार्वजनिक विधि है, इसलिए प्रकाशक को यह भी होना चाहिए क्या मुझे कुछ स्पष्ट और अनुपलब्ध है जो मेरे प्रकाशक वस्तु का निर्माण ठीक से नहीं कर पा रहा है?
यहां तक कि अजनबी, जब मैं .java फ़ाइल को देखता हूं जो प्रकाशक के लिए जनरेटेड कोड रखती है, तो मुझे किसी भी प्रकार के बैटएरे ()
संपादित करें: कोड जहां मैं pub.toByteArray बुला रहा हूँ नीचे दिया गया है:
जबकि (सही) {प्रकाशक पब = जीनपबप्रोटोबुफ (); स्ट्रिंग कुंजी = pub.getName () + pub.getEmail () + pub.getMedia ()। ToString () + pub.getPhone (0); बाइट [] बाइटएर्र = पब। टूबेटअरे (); KeyedMessage & lt; स्ट्रिंग, बाइट [] & gt; डेटा = नया कीज संदेश & lt; स्ट्रिंग, बाइट [] & gt; ("सरल विषय", कुंजी, बाइटएर्र); producer.send (डेटा); कोशिश {Thread.Sleep (dataProductionInterval); } पकड़ (बाधित अपवाद यानी) {ie.printStackTrace (); }}
Comments
Post a Comment