当前位置: 首页>>代码示例>>Java>>正文


Java Introspector.flushFromCaches方法代码示例

本文整理汇总了Java中java.beans.Introspector.flushFromCaches方法的典型用法代码示例。如果您正苦于以下问题:Java Introspector.flushFromCaches方法的具体用法?Java Introspector.flushFromCaches怎么用?Java Introspector.flushFromCaches使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在java.beans.Introspector的用法示例。


在下文中一共展示了Introspector.flushFromCaches方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: checkListeners

import java.beans.Introspector; //导入方法依赖的package包/类
private void checkListeners() {
	BeanInfo beanInfo = null;
	try {
		beanInfo = Introspector.getBeanInfo( getClass(), Object.class );
		internalCheckListeners( beanInfo );
	}
	catch( IntrospectionException t ) {
		throw new HibernateException( "Unable to validate listener config", t );
	}
	finally {
		if ( beanInfo != null ) {
			// release the jdk internal caches everytime to ensure this
			// plays nicely with destroyable class-loaders
			Introspector.flushFromCaches( getClass() );
		}
	}
}
 
开发者ID:lamsfoundation,项目名称:lams,代码行数:18,代码来源:Cloneable.java

示例2: getBeanInfo

import java.beans.Introspector; //导入方法依赖的package包/类
/**
 * @desc 根据对象获取对象所有属性、属性值
 *
 * @author liuliang
 *
 * @param entity 对象
 * @return Map<String,Object> [key:属性名   value:属性名对应的值]
 */
public static Map<String,Object> getBeanInfo(Object entity){
	Map<String,Object> map = new HashMap<String, Object>(16);
	try {
		Class<?> clazz = entity.getClass();
		BeanInfo beanInfo = null;
		if(null == methodCache.get(clazz)){
			Class<?> superClazz =clazz.getSuperclass();
			beanInfo = Introspector.getBeanInfo(clazz, superClazz);
			methodCache.put(clazz, beanInfo);
			
			Introspector.flushFromCaches(clazz);
			if(null != superClazz){
				Introspector.flushFromCaches(superClazz);
			}
		}else{
			beanInfo = methodCache.get(clazz);
		}
		
		PropertyDescriptor[] pdArr = beanInfo.getPropertyDescriptors();
		for(PropertyDescriptor pd:pdArr){
			String fieldName = pd.getName();
			Object fieldValue = getFieldValue(pd.getReadMethod(),entity);
			map.put(fieldName, fieldValue);
		}
	} catch (IntrospectionException e) {
		logger.error("获取对象信息异常,entity:{}",entity.getClass(),e);
	}
	return map;
}
 
开发者ID:yunjiweidian,项目名称:TITAN,代码行数:38,代码来源:BeanInfoUtil.java

示例3: forgetClassLoader

import java.beans.Introspector; //导入方法依赖的package包/类
public void forgetClassLoader(String id, Plugin dInfo) {

    if(dInfo == null) {
      forgetClassLoader(id);
      return;
    }

    GateClassLoader classloader = null;

    synchronized(childClassLoaders) {
      classloader = childClassLoaders.remove(id);
    }

    if(classloader != null && !classloader.isIsolated()) {
      // now only remove those classes from the caches that the
      // classloader was responsible for
      for(ResourceInfo rInfo : dInfo.getResourceInfoList()) {
        try {
          @SuppressWarnings("unchecked")
          Class<? extends Resource> c =
                  (Class<? extends Resource>)classloader.loadClass(
                          rInfo.getResourceClassName());
          
          if(c != null) {
            // in theory this shouldn't be needed as the Introspector
            // uses soft references if we move to requiring Java 8 it
            // should be safe to drop this call
            Introspector.flushFromCaches(c);

            AbstractResource.forgetBeanInfo(c);
          }
        } catch(ClassNotFoundException e) {
          // hmm not sure what to do now
           e.printStackTrace();
        }
      }
    }
  }
 
开发者ID:GateNLP,项目名称:gate-core,代码行数:39,代码来源:GateClassLoader.java


注:本文中的java.beans.Introspector.flushFromCaches方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。