2016-07-20 2 views
1

Pulse Web Application을 외부 Tomcat에 배포하려고합니다. 배포 할 때이 오류가 발생합니다. 이 문제를 어떻게 해결해야합니까?SnappyData-0.5 pulse.war을 배포 할 때 Bean 누락 오류가 발생했습니다.

org.springframework.beans.factory.NoSuchBeanDefinitionException : 'org.springframework.security.authenticationManager'라는 이름의 콩은 정의 : 당신은 자녀와 함께 구성 (에 요소를 gobal 요소를 추가하는 것을 잊지 않았다)? 또는 요소에 authentication-manager-ref 속성을 사용할 수도 있습니다.

+0

안녕 제이슨, 나는 SnappyData-0.5를 사용하고 최대한 빨리 당신을 위해 – plambre

답변

0

어떤 버전의 SnappyData를 사용하고 있습니까? classpath에 pulse.properties 파일을 언급해야합니다. 자세한 내용은 http://rowstore.docs.snappydata.io/docs/manage_guide/pulse/quickstart.html#topic_795C97B46B9843528961A094EE520782을 확인하십시오.

문제가 있으면 알려주십시오.

+0

을 대답을 얻을 것이다. 나는 SnappyData 온라인 링크가 다른 오래된 Gemfire 문서로 간다는 것을 발견했다. 나는 당신의 "rowstore"링크를 따라갈 것이고 그것은 방향이다. – Jason

+0

이렇게해도 문제가 해결되지 않습니다. 지정한 문서 링크에 설명 된대로 pulse.properties를 TOMCAT_HOME/lib에 넣었습니다. 오류가 남아 있습니다. 또한, PULSE.log.0 파일을보고 그것을 열면 펄스 속성 파일을 찾을 수 없다는 것을 보여줍니다. – Jason

1

사용중인 Tomcat 버전은 무엇입니까? 여기에 same issue with TC authentication의 또 다른 스레드가 있습니다.

그렇지 않으면 펄스를 "임베디드 모드"로 시도 할 수 있습니까?

+0

pulse.war는 SnappyData-0.5 dist에 미리 빌드 된 웹 응용 프로그램이므로 위의 스레드와 마찬가지로 보안을 '구성'할 수있는 권한이 없습니다. 그 답이 GitHub 소스의 pulse.war 파일을 다른 보안 구성으로 처음부터 빌드하는 것이라면 알려주십시오. 그러나 RowStore는 4 단계에서 문서화합니다.) authentication은 (선택 사항)입니다. 필요하다면 더 많은 설정을 할 것입니다.하지만 필요하지 않다면 그렇게하고 싶지는 않습니다. – Jason

+0

이 기능이 테스트되었거나 간단한 수정 사항이있는 경우 팀원 중 한 명이 다시 돌아올 것입니다. 지금은 위치 응용 프로그램에서 실행중인 Pulse App을 사용해보십시오 ("내장 모드"). – jagsr

2

확인. 이 문제가 해결되었습니다. 또한이 모든 것을 경험하려면 Spring Profile "pulse.authentication.default"를 설정해야합니다. 그렇지 않으면 AuthenticationManager Bean을로드하지 않습니다.

전체적인 문제는 실제로 필요하면 RowStore의 설명서에 OPTIONAL이라고 나와 있습니다.

http://rowstore.docs.snappydata.io/docs/manage_guide/pulse/quickstart.html#topic_795C97B46B9843528961A094EE520782

그것은 실제로 당신이 봄의 프로필을 통과해야 할 때 보안을 구성하는 것은 선택 사항입니다) 4 단계에서 말했다. 또한 "펄스 사용자 인증"절에서 다시 말하지만이 요구 사항은 아니라고합니다.

문제를 해결하려면 spring-security.xml에서 Bean을 활성화하고 pulse.war을 올바르게 배포하기 위해 "pulse.authentication.default"라는 스프링 프로필을 전달해야했습니다.

앞으로 SnappyData pulse.war를 사용하는 것이 더 나은 방법은 "! pulse.authentication.custom"을 사용하는 것일 수 있습니다.이 "pulse.authentication.custom"은 맞춤 인증이 구성되지 않은 경우 항상 기본 AuthenticationManager bean을로드합니다. 미래에 대한

예 변화는 진정 선택 만들려면 :

<beans:beans profile="!pulse.authentication.custom" > 
     <authentication-manager> 
      <authentication-provider> 
       <user-service> 
        <user name="admin" password="admin" authorities="ROLE_USER" /> 
       </user-service> 
      </authentication-provider> 
     </authentication-manager> 
    </beans:beans> 
+0

spring.profiles.default가 web.xml에 설정되고 pulse.authentication.default로 설정됩니다. 이것은 인증 설정을 지정하지 않고 작동했을 것입니다. 사용중인 TC 버전을 지정할 수 있다면 도움이 될 것입니다. 또한 해당 버전을 사용해보고 문제가 있는지 확인합니다. –

관련 문제