स्प्रिंग डेटासोर्स एपीआई में ओरेकल गुण नहीं दिए गए हैं, इसलिए आपको बीन में प्रवेश करने के बाद अतिरिक्त गुण सेट करने होंगे। आप इसे उस वर्ग के साथ कर सकते हैं जो 'बीनपोस्टप्रोसेसर' लागू करता है। साथ ही, चूंकि यह वसंत है, इसलिए आपको बीन इनिट को उड़ाए बिना अतिरिक्त गुण सेट करने के लिए वर्तमान डेटा स्रोत को एक हैंडल प्राप्त करने की आवश्यकता है। आप क्लास के कारण ऑटोवायर का उपयोग नहीं कर सकते हैं तो पोस्टप्रोसेसर उस बीन को छोड़ देगा। तो, आपको बीन डालना होगा। फिर आप स्प्रिंग बीन में गुणों को सेट करने के बजाय Oracle द्वारा आवश्यक मापदंडों को स्थापित करने के लिए setConnectionProperties का उपयोग कर सकते हैं जो काम नहीं करेगा और ऊपर वर्णित त्रुटि देता है।
साथ ही आपको इस विषय का शीर्षक Secuity->Security भी ठीक करना चाहिए। क्षमा करें यदि फ़ॉर्मेटिंग बंद है क्योंकि मैं उत्तर पोस्ट करने के लिए नया हूँ।
@Component
public class OracleConfigurer implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String name) throws BeansException {
final Logger LOG = LoggerFactory.getLogger(OracleConfigurer.class);
if (bean instanceof DriverManagerDataSource) {
Properties properties = ((DriverManagerDataSource) bean).getConnectionProperties();
if (null == properties) properties = new Properties();
properties.put("oracle.net.encryption_types_client", "(AES256)");
properties.put("oracle.net.crypto_checksum_client", "REQUIRED");
properties.put("oracle.net.encryption_client", "REQUIRED");
DriverManagerDataSource dataSource = ((DriverManagerDataSource) bean);
dataSource.setConnectionProperties(properties);
}
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String name) throws
BeansException {
return bean;
}
}