Hello Dev List,
I encountered an issue today with my
KnowledgeAgent removing resources from its RuleBase shortly after creating
it. I have the ResourceChangeScanner running in my application.
I tracked the issue back to the scan()
method in ResourceChangeScannerImpl. It appears that the method is
trying to identify resources that are no longer available and remove them
from both the RuleBase and future scans. To do this it is checking
lastModified on the resource and on a result of 0 removing the resource.
The resources that I configured in my change-set definitely still
exist, but due to URL handler implementation provided by my classloader,
getLastModified always returns 0. (The resource I'm retrieving is
coming from a jar that is in my application's classpath and the URL handler
implementation is oracle.classloader.SharedCodeSourceURL)
Do you think it would be possible for
the scan to identify unavailable resources some other way than with the
lastModified? and then if lastModified is 0 maybe always or never update
the resource? I'm not sure what the best approach to that would be, but
removing resources when their lastModified is 0 seems incorrect to me.
Thanks,
Steve Ronderos