2017-10-24 5 views
0

내 프로젝트 application.properties 경고를 제공합니다. 말하는스프링 부트 Apache kafka 바인더 프로젝트, application.properties spring.cloud.stream.kafka.binder. jaas 속성을 알 수 없음

'spring.cloud.stream.kafka.binder.jaas.loginModule'은 알 수없는 속성입니다.

내 프로젝트 .pom 파일은

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 
<modelVersion>4.0.0</modelVersion> 
<groupId>com.shiwantha.test</groupId> 
<artifactId>KafkaTestOne</artifactId> 
<version>0.0.1-SNAPSHOT</version> 
<parent> 
    <groupId>org.springframework.cloud</groupId> 
    <artifactId>spring-cloud-stream-binder-kafka-parent</artifactId> 
    <version>1.1.0.RC2</version> 
</parent> 

<properties> 
    <java.version>1.8</java.version> 
    <spring-kafka.version>1.1.1.RELEASE</spring-kafka.version> 
    <spring-integration-kafka.version>2.1.0.RELEASE</spring-integration-kafka.version> 
    <kafka.version>0.10.0.0</kafka.version> 
</properties> 


<dependencies> 
    <!-- spring-boot --> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-web</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.kafka</groupId> 
     <artifactId>spring-kafka</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework.integration</groupId> 
     <artifactId>spring-integration-kafka</artifactId> 

    </dependency> 
    <dependency> 
     <groupId>org.apache.kafka</groupId> 
     <artifactId>kafka_2.11</artifactId> 

     <exclusions> 
      <exclusion> 
       <groupId>org.slf4j</groupId> 
       <artifactId>slf4j-log4j12</artifactId> 
      </exclusion> 
     </exclusions> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.kafka</groupId> 
     <artifactId>kafka-clients</artifactId> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-stream-binder-kafka</artifactId> 
     <version>1.1.0.RC2</version> 
    </dependency> 

    <dependency> 

     <groupId>org.springframework.boot</groupId> 

     <artifactId>spring-boot-starter-security</artifactId> 

    </dependency> 
    <dependency> 

     <groupId>org.springframework.security</groupId> 

     <artifactId>spring-security-test</artifactId> 

     <scope>test</scope> 

    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 

</dependencies> 



<build> 
    <plugins> 
     <!-- spring-boot-maven-plugin --> 
     <plugin> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-maven-plugin</artifactId> 
     </plugin> 
    </plugins> 
</build> 

<repositories> 
    <repository> 
     <id>spring-snapshots</id> 
     <name>Spring Snapshots</name> 
     <url>http://repo.spring.io/libs-snapshot-local</url> 
     <snapshots> 
      <enabled>true</enabled> 
     </snapshots> 
     <releases> 
      <enabled>false</enabled> 
     </releases> 
    </repository> 
    <repository> 
     <id>spring-milestones</id> 
     <name>Spring Milestones</name> 
     <url>http://repo.spring.io/libs-milestone-local</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
    <repository> 
     <id>spring-releases</id> 
     <name>Spring Releases</name> 
     <url>http://repo.spring.io/release</url> 
     <snapshots> 
      <enabled>false</enabled> 
     </snapshots> 
    </repository> 
</repositories> 
내가 Kerberos를 사용하여 고정 카프카 클러스터와 통신 스프링 부팅 카프카 소비자 응용 프로그램을 만들

아래에 주어진다. 키 테이블 파일이 있어요. 카프카 서버 정보.

spring.cloud.stream.kafka.binder.configuration.security.protocol=SASL_PLAINTEXT 
spring.cloud.stream.kafka.binder.brokers = 10.48.148.44,10.48.148.45,10.48.148.46,10.48.148.47 
spring.cloud.stream.kafka.bindings.input.consumer.autoCommitOffset = false 



spring.cloud.stream.kafka.binder.jaas.loginModule = com.sun.security.auth.module.Krb5LoginModule 
spring.cloud.stream.kafka.binder.jaas.controlFlag = required 
spring.cloud.stream.kafka.binder.jaas.options.useKeyTab = true 
spring.cloud.stream.kafka.binder.jaas.options.storeKey = true 
spring.cloud.stream.kafka.binder.jaas.options.keyTab = src/main/resources/gitcc_kafka_user.keytab  
spring.cloud.stream.kafka.binder.jaas.options.principal = [email protected] 

이러한 문제를 극복하도록 도와주세요. 나는 이것에 초보적이다. kerberos가 보호하는 kafka 서버를 사용하는 샘플 프로젝트를 제공 할 수 있다면 제발.

+0

무엇 스프링 부팅 버전을 볼 수 있습니다 너 사용하고있어? 카프카 바인더 1.1.0 버전을 사용하고 있습니까? 최신 버전 (1.3.0.RELEASE 일 수 있음)으로 응용 프로그램을 시험해보고 문제가 아직 남아 있는지 확인할 수 있습니까? – sobychacko

+0

sobychacko 답변 해 주셔서 감사합니다. 나는 kafka 바인더 1.3.0.RELEASE를 사용하여 봄 부팅 시동기 부모 1.5.7 및 1.5.8을 사용했습니다. 여전히 결과는 동일합니다 –

+0

@sobychacko 문제없이 작동 할 수있는 완전한 pom 파일을 제공 할 수 있습니까? 나는 여러 버전의 종속성 조합을 시도했다. 이것 좀 도와주세요. 고맙습니다. –

답변

0

이것은 나에게 잘 돌아 간다. 당신은 ...이 건물은 디버거에서 설정되는

@SpringBootApplication 
@EnableBinding(Sink.class) 
public class So46903311Application { 

    public static void main(String[] args) { 
     SpringApplication.run(So46903311Application.class, args); 
    } 

} 

spring.cloud.stream.kafka.binder.jaas.loginModule=testForSo46903311 
spring.cloud.stream.kafka.binder.brokers=localhost:9092 

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.5.8.RELEASE</version> 
    <relativePath/> <!-- lookup parent from repository --> 
</parent> 

<properties> 
    <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding> 
    <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding> 
    <java.version>1.8</java.version> 
    <spring-cloud.version>Dalston.SR4</spring-cloud.version> 
</properties> 

<dependencies> 
    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-stream</artifactId> 
     <version>1.3.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-stream-binder-kafka</artifactId> 
     <version>1.3.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.cloud</groupId> 
     <artifactId>spring-cloud-stream-binder-kafka-core</artifactId> 
     <version>1.3.0.RELEASE</version> 
    </dependency> 

    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-test</artifactId> 
     <scope>test</scope> 
    </dependency> 
</dependencies> 

STS Debugger

+0

정말 죄송합니다. 회사에서 다른 긴급 프로젝트를 제공하여 시간을 확인할 수 없었습니다. @Gary Russell은 이제 내 프로젝트에 spring kafka 2.0 버전을 사용했습니다. 이 버전에는 insert jaas 설정을위한 bean이있다. 그것은 나의 인증 문제를 해결했다. 그 버전에 정말 감사드립니다. 하지만 위의 솔루션에서 jaas 구성을 제공하는 방법을 알고 싶습니다. 그리고 나는 apache kafka 바인더와 spring kafka를 사용하는 것의 차이점을 알고 싶습니다. 나는이 분야에 정말 새로운 도움이된다. –

+0

나는 단지 'application.properties'에 속성을 넣었다. 카프카 바인더는'spring-kafka'를 밑에 사용합니다. –