2010-01-20 3 views
2
<bean id="data.emf" 
    class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean" > 
    <property name="persistenceUnitName" value="transactions-optional" /> 

</bean> 

기본적으로 모든 콩은 (문서에 따라) 싱글 톤이지만 저는 어떻게 든 여전히 entitymanagerfactory의 복제본을 얻고 있습니다. 거기에 단일 매개 변수를 강제로 봄 3.0 위의 콩 설정할 수있는 매개 변수가 무엇입니까? 이후,스프링 3.0 강제 싱글 톤 콩

<bean scope="singleton" ... > 
</bean> 

당신은 일반적으로하지만,이 작업을 수행 할 필요가 없습니다 : 문제는 당신이 같은 싱글이 될 수있는 빈을 강제 할 수

+0

놀라운 것 같습니다. 왜 당신은 중복을 얻고 있다고 생각합니까? – John

+0

내 로그를 참조하십시오. http://stackoverflow.com/questions/2093913/google-app-engine-compass-caused-entitymanagerfactory-error – cometta

+0

설정의 기본 범위가 어딘가에서 변경 되었습니까? – Roman

답변

4

문제, 호스트 모드에서, GAE 생산에 표시되지 않습니다 singleton이 기본 범위이며 기본값을 변경할 방법이 없습니다.

Spring DEBUG 레벨 로그는 Bean이 인스턴스화 될 때마다 항목을 생성하므로 Bean이 처리되는시기와 위치를 확인할 수 있습니다.

+0

나는 scope = "singleton"을 설정하려고했지만 여전히 같은 오류가 발생합니다. 전체 로그 덤프 http://codepaste.net/bnwtyh를 게시했습니다. 내가 로그에서 무엇을 찾아야하는지 알 수 있습니까? – cometta

0

아마도 문제가 범위를 벗어나지 않았을 수 있습니다. 다른 빈을 프로그램의 다른 장소 (예 : 주석과 함께) 또는 다른 컨텍스트 파일에 정의하지 않았습니까? 해당 빈 정의에 주석을 달고 여기서 선언하지 않고 인스턴스를 찾을 수 있는지 확인하십시오.

+0

전체 앱에서 "transactions-optional"라는 키워드를 이미 검색했습니다. 결과 없음 = ( – cometta

+0

뿐만 아니라 "data.emf", entitymanagerfactory 키워드는 XML 파일에만 있음 – cometta