2014-12-26 4 views
0

Windows Server 2008의 Karaf 3.0.1에서 일련의 응용 프로그램을 실행하고 있습니다. 제 서비스 라이브러리 중 하나가 제 3 자 라이브러리에 문제가 있습니다.카라프를 래퍼를 통해 서비스로 실행하고 콘솔에서 동일한 사용자로 실행하는 것의 차이점은 무엇입니까?

karaf 설치는 전용 Active Directory 서비스 사용자 계정으로 실행됩니다. Windows 서버에 로그인하여 (자체 로그인을 사용하여) karaf 서비스 사용자 (run-as 사용)로 명령 프롬프트를 열고 karaf를 시작하면 모든 프로세스가 올바르게 작동합니다.

하지만 karaf를 Windows 서비스로 실행하고 싶습니다. 나는 지침에 따라 카라프 포장지를 사용했고, 서비스로 설치했다. 콘솔에서 대화 형으로 실행하는 데 사용했던 동일한 karaf 서비스 사용자로 실행하고 있지만 Windows 서비스에서 실행될 때마다 "로드 할 수 없거나 찾을 수없는"래퍼 로그에 메시지가 표시됩니다. 파티 도서관. 제 3 자 라이브러리를 공개 할 수 있는지 확신 할 수 없지만 기능면에서 JNI를 사용한다고 생각합니다. dll이 관련되어 있으며 deploy 폴더에이 dll의 복사본이 있고 Windows \ system32/syswow64 폴더에 모두 들어 있습니다. 카라프 서비스 사용자에게 카라프 폴더 전체에 대한 모든 권한을 부여했습니다.

이것은 사용 권한 문제와 같은 것으로 보이거나 래퍼 서비스 구성에 뭔가 빠져 있지만 나에게 아무 것도 나타나지 않습니다. 서비스와 달리 실행중인 karaf와 동일한 사용자 자격 증명을 사용하여 콘솔에서 실행하는 것의 차이점은 무엇입니까? 다른 아이디어?


편집 : 내 karaf 설치 아래의 \ lib 폴더에 내 DLL을 배치 결국 래퍼에 대한 자세한 문서를 거쳐. 그 후 내 응용 프로그램이 작동하는 것 같습니다.

답변

1

dll의 유형에 따라 제공되는 서비스 래퍼가 32 비트 래퍼이므로 이는 Tanuki Service Wrapper의 라이센스 문제 때문일 수 있습니다. 그래서 서비스를 사용하는 대신 bin/karaf로 시작할 때 dll을 사용할 수 있습니다. Tanuki Wrapper를 사용하려면 직접 설치해야합니다. 그것의 가장 최신 버전은 라이센스 문제로 인해 배송 될 수 없습니다.

+0

래퍼 뒤에있는 리소스를 알려 주셔서 감사합니다! 나는 문서를 훑어 보았고 나의 카라프 설치 아래 lib \ 폴더에 내 dll을 복사 할 필요가 있었다. 그 후 모든 것이 예상대로 작동하는 것 같습니다. –