के लिए जावा प्रतिबिंब अक्षम करें मुझे कुछ अर्ध-भरोसेमंद जावा कोड कॉल करने की आवश्यकता है और उस कोड के निष्पादन की अवधि के लिए प्रतिबिंब का उपयोग करने की क्षमता को अक्षम करना चाहते हैं।वर्तमान धागे
try{
// disable reflection somehow
someObject.method();
}
finally{
// enable reflection again
}
क्या यह सुरक्षा प्रबंधक के साथ किया जा सकता है, और यदि ऐसा है, तो कैसे?
स्पष्टीकरण/प्रसंग: यह एक पैकेज है कि जावास्क्रिप्ट/राइनो से कहा जा सकता है प्रतिबंधित करने के बारे another question के अनुसरण की है। स्वीकार्य उत्तर उस ब्लॉग एंट्री को संदर्भित करता है कि इसे कैसे किया जाए, और इसके लिए दो कदमों की आवश्यकता होती है, पहला राइनो एपीआई (क्लासशटर) का उपयोग करने वाला पहला, प्रतिबिंब और क्लास .forName() को बंद करने वाला दूसरा। मैं सोच रहा था कि मैं सुरक्षा प्रबंधक का उपयोग करके उस दूसरे चरण को अधिक स्पष्ट रूप से कर सकता हूं (सुरक्षा प्रबंधक के बारे में सीखना, जैसा कि बताया गया है, वैसे ही एक जटिल जानवर है)।
समेकित करने के लिए, मैं कक्षा (forName() को बंद करने और पूरे प्रतिबिंब पैकेज तक किसी भी पहुंच को बंद करने के लिए (कोड से, फ़ाइल सेट नहीं कर रहा) चाहता हूं।
im यकीन नहीं कैसे SecurityManager काम करता है के बारे में है, लेकिन इस सवाल की जाँच: [http : //stackoverflow.com/questions/762459/how-to-disable-java-security-manager] (http://stackoverflow.com/questions/762459/how-to-disable-java-security-manager) –