Java EE 6 응용 프로그램에서 XML 처리를위한 인트로 스펙 션에 의존하고 있습니다. 저는 꽤 오랫동안 작업 해 왔습니다. 지금까지 그것은 잘 작동했습니다. 그러나 속성 이름을 바꾸어야했습니다. 문제는 더 이상 존재하지 않는 속성을 찾는 Introspector
Introspector.getBeanInfo(Class<?>)
도 I
- 이 JRebel 사용을 중단 한 후, 신구 세터를 모두 감지된다,
- 글래스 피쉬를 멀리 날려하고 새로운 하나를 설치하고,
- 내 웹 앱을 다시 작성했습니다.
public class AdhocUnavailableTimesRequestTag { public AdhocUnavailableTimeRequestTag[] getAdhocUnavailableTimes() { return adhocUnavailableTimes; } public void setUnavailableTimes(AdhocUnavailableTimeRequestTag[] adhocUnavailableTimes) { this.adhocUnavailableTimes = adhocUnavailableTimes; } private AdhocUnavailableTimeRequestTag[] adhocUnavailableTimes; }
그리고 전화
BeanUtils.propertyTypes(AdhocUnavailableTimesRequestTag.class)
반환 :
다음"adhocUnavailableTimes" => class [LAdhocUnavailableTimeRequestTag; "class" => java.lang.Class" "unavailableTimes" => class [LAdhocUnavailableTimeRequestTag;
내가 introspecting있어 클래스 :public class BeanUtils { public static Map<String, Class> propertyTypes(Class beanType) throws Exception { HashMap<String, Class> propertyTypes = new HashMap<>(); for (PropertyDescriptor descriptor : Introspector.getBeanInfo(beanType).getPropertyDescriptors()) { propertyTypes.put(descriptor.getName(), descriptor.getPropertyType()); } return propertyTypes; } // Added this to flush the introspector static { Introspector.flushCaches(); } }
또한, 나는 인트로 스페의 캐시가 플러시 보장
인트로 스펙터의 원인 더 이상 존재하지 않는 경우 unavailableTimes
을 (를) 수령 하시겠습니까? 어떻게 해결할 수 있습니까?
오, 젠장! 배운 교훈은 어리석은 짓이 아니기 때문에 나는 이것을 지우겠다고 생각합니다. 내 어리 석음을 지적 주셔서 감사합니다. –
가끔씩 모든 사람에게 일어나는 일 :) 그냥 신선한 눈이 필요합니다. –
답변에 댓글을 달 수도 있습니다. 나는 이것을 삭제하지 않을 것이다. –