हां, यह किया जा सकता है। आपको केवल InputStream
प्राप्त करने की क्षमता है। मेरे मामले में मैं अपने स्रोत जेपीए कक्षा RulePackage
का उपयोग नियम स्रोत को बाइट [] के रूप में जारी रखने के लिए करता हूं, लेकिन आप अपने डीबी स्कीमा में बीएलओबी/सीएलओबी फ़ील्ड तक पहुंचने के लिए सीधे जेडीबीसी कनेक्शन का उपयोग कर सकते हैं। महत्वपूर्ण बात यह है, जब यह नियम संकुल के निर्माण की आवश्यकता होगी भी बचाने संग्रहीत नियम स्रोत की टाइप करने के लिए है:
switch(rulePackage.getRuleSourceType()) {
case DRL:
kbuilder.add(ResourceFactory.newByteArrayResource(rulePackage.getSource()), ResourceType.DRL);
break;
case EXCEL:
kbuilder.add(ResourceFactory.newByteArrayResource(rulePackage.getSource()), ResourceType.DTABLE, excelConfig);
break;
case CSV:
kbuilder.add(ResourceFactory.newByteArrayResource(rulePackage.getSource()), ResourceType.DTABLE, csvConfig);
break;
default:
throw new Exception("Rule package '" + rulePackage.getName() + "' has unknown type");
}
आप newInputStreamResource विधि का उपयोग करता है, तो अपने मामले में और अधिक लागू विचार कर सकते हैं:
case DRL:
kbuilder.add(ResourceFactory.newInputStreamResource(new StringInputStream(myDrlAsString)), ResourceType.DRL);
break;
या
case DRL:
kbuilder.add(ResourceFactory.newInputStreamResource(new ByteArrayInputStream(myDrlAsByteArr)), ResourceType.DRL);
break;
ऐसा कुछ।