मैं एक नियम इंजन लिखने की प्रक्रिया में हूं जो सशर्त संरचनाओं द्वारा निर्धारित सरल असाइनमेंट करता है। यह परियोजना की एक शर्त है कि नियम एक्सएमएल प्रारूप में हैं। मैंने सरल कोड ब्लॉक के समान मेरे एक्सएमएल स्कीमा को मॉडल किया है। मैं एक्सएमएल को पार्स करना चाहता हूं और फिर इसे जावा कोड में बदलना चाहता हूं। मैं फिर रनटाइम पर इस कोड को संकलित करना और चलाने की इच्छा करता हूं। ऐसा करने का मतलब यह होगा कि मेरा नियम इंजन अब दुभाषिया के रूप में कार्य नहीं करता है बल्कि मूल जावा बाइट कोड निष्पादित करता है।मैं रनटाइम पर जावा क्लास को संकलित और तैनात कैसे कर सकता हूं?
मैंने पार्सिंग चरण और जावा कोड जनरेशन चरण को कम या कम पाया है। अब मैं अंतिम चरण को समझना चाहता हूं - रनटाइम चरण पर संकलन। Compile to java bytecode (without using Java) मैं संभव समाधान निम्नलिखित के बारे में पता बन गए हैं:
मैं इनमें से एक तुलना प्यार के साथ-साथ हैं
इस सूत्र के बाद रनटाइम चरण पर जावा संकलन को हल करने के लिए अन्य सुझाव।
बिना रनटाइम पर अपने कोड संकलन कर सकते हैं आपके लिए पॉइंटर्स का युगल: 1) टॉमकैट स्रोत डाउनलोड करें, जब यह जेएसपी के लिए कक्षाएं बनाता है तो इसे केवल वही करना है जो आप वर्णन करते हैं। 2) ड्रूल्स (http://www.jboss.org/drools/) पर एक नज़र डालें। मैंने इसे अतीत में उपयोग किया है और जब यह नियम इंजनों की बात आती है तो यह बहुत शक्तिशाली है। –
क्या आपने कभी यह एप्लिकेशन पूरा किया है? यदि आप स्रोतों को साझा करने में सक्षम हैं तो मुझे यह देखने में दिलचस्पी होगी कि यह कैसे काम करता है। –
@EricB। खुशी है कि आपने रुचि दिखाई है। दुर्भाग्य से आवेदन ने कहीं और मोड़ लिया। मैं जावा 6 कंपाइलर एपीआई का उपयोग करने के लिए चला गया, लेकिन एक बहुत ही सरल दायरे के लिए। दूसरे शब्दों में, एक्सएमएल कोड ब्लॉक अभी भी इस दिन संकलित नहीं किए गए हैं ... मैं कोड लिख नहीं सकता क्योंकि मैंने लिखा है क्योंकि यह स्वामित्व है ... – Yaneeve