* <p>
* 如果返回<code>null</code>表示使用原来的装载机制来取得资源。
* </p>
*/
public Resource getResourceByPath(String path) {
ResourceLoadingService resourceLoadingService = getResourceLoadingService();
if (resourceLoadingService == null) {
// 如果resource loading service不存在,则返回null,调用原来的装载机制来取得资源。
return null;
}
com.alibaba.citrus.service.resource.Resource resource;
try {
resource = resourceLoadingService.getResource(path, FOR_CREATE);
} catch (IllegalStateException e) {
// resourceLoadingService未准备好,有可能是在初始化resource loading service的过程中,
// 某个loader或filter通过spring resource loader注入resource,从而产生递归调用。
// 此时返回null,调用原来的装载机制来取得资源。
return null;