码迷,mamicode.com
首页 > 其他好文 > 详细

commons logging的getFactory()方法

时间:2015-06-16 17:05:19      阅读:97      评论:0      收藏:0      [点我收藏+]

标签:

getFactory()方法返回一个Factory

首先从系统属性获取factory的实现类名,没有则继续

String factoryClass = getSystemProperty(FACTORY_PROPERTY, null);
public static final String FACTORY_PROPERTY = "org.apache.commons.logging.LogFactory";


 

通过JDK1.3的Service Discovery机制 查找factory的实现类名,没有则继续

final InputStream is = getResourceAsStream(contextClassLoader, SERVICE_ID);
protected static final String SERVICE_ID =
        "META-INF/services/org.apache.commons.logging.LogFactory";


查找配置文件

commons-logging.properties

中的属性

org.apache.commons.logging.LogFactory

来查找factory的实现类名,没有则继续

Properties props = getConfigurationFile(contextClassLoader, FACTORY_PROPERTIES);
public static final String FACTORY_PROPERTIES = "commons-logging.properties";


 

String factoryClass = props.getProperty(FACTORY_PROPERTY);
public static final String FACTORY_PROPERTY = "org.apache.commons.logging.LogFactory";


 

最后如果以上3个都没找到,采用

org.apache.commons.logging.impl.LogFactoryImpl


 

factory = newFactory(FACTORY_DEFAULT, thisClassLoader, contextClassLoader);
public static final String FACTORY_DEFAULT = "org.apache.commons.logging.impl.LogFactoryImpl";



 


 

commons logging的getFactory()方法

标签:

原文地址:http://blog.csdn.net/u011686226/article/details/46517853

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!