배경 : proj A와 proj B라는 두 개의 프로젝트가 있습니다. 이제 proj A에 cache.xml 파일 인 java bean (고객 빈), 저장소 클래스 (RecordRepository). 내가 PROJ의 B에서다른 .jar 파일의 cache.xml에 정의 된 Bean을로드하는 중 문제가 발생합니다.
Cache.xml
</gfe:client-region>
<!--Scan for annotated GemFire Repositories-->
<gfe-data:repositories base-package="cache.repository" />
cache.xml에 저장소 클래스를 로딩하고, 나는 PROJ A의 항아리를 가져온 다음 빈과 저장소를로드하려고합니다. 나의 목표는 고객 빈의 객체를 생성 한 다음 저장소 빈을 호출하여 고객 빈을 저장하는 것이다.
Employee emp = (Employee)facilityCacheLoader.getRegionBean();
emp.setRecordId("2001");
emp.setRecordString("record string 2002");
// update the Bean and save
RecordRepository rep = (RecordRepository)facilityCacheLoader.getRepository();
rep.save(emp);
하지만 다음과 같은 예외가 점점 오전 :
예외 스레드를 "주"org.springframework.beans.factory.NoSuchBeanDefinitionException : 유형의 어떤 자격 콩은 [cache.repository.RecordRepository] 정의되지 않은 (AbstractApplicationContext.java:1125) at com.rxc.cacheclient.CacheLoaderClient .main (CacheLoaderClient.java:40)
그게 내가하고있는 일입니다. Proj의 Jar 파일을 프로젝트 B의 클래스 패스에 추가하려고합니다.하지만 RecordRepository를 가져 오지 않습니다. 그러나 Proj B에 Proj A를 추가하면 RecordRepository를 가져 와서 영역을 업데이트합니다. 확실하지는 않지만, 생성되는 jar 파일에 문제가있는 것처럼 보입니다. – abhisekh
두 프로젝트 Proj A와 Proj B가 있습니다. Proj A에는 CrudRepository를 확장하는 저장소 인터페이스가 있습니다.이 저장소 인터페이스는 지역의 데이터를 가져오고 저장하는 데 사용됩니다. 자, Proj B에 Proj A를 포함 시켰을 때 지역에 데이터를 저장/업데이트 할 수 있습니다. 그러나, Proj A의 jar 파일을 생성하고 Project B의 classpath에 그 jar 파일을 포함 시키면 저장소에서()/get()을 수행 할 수 없으며 오류가 발생합니다 - org.springframework.beans.factory.NoSuchBeanDefinitionException : [FacilityRepository] 유형의 적격 빈이 정의되지 않았습니다. – abhisekh