2016-03-24 4 views
1

私はRunnableを実装し、bluemixでkafkaコンシューマをインスタンス化するJavaクラスを持っています。 KafkaConsumerをインスタンス化しようとすると、このクラスは例外より下にスローされます。 jaas.confファイルは共有ディレクトリに格納されます。これは過去1ヶ月間正常に動作していました。今日このエラーが発生し始めました。私は自分のコードを変更したことを覚えていません。私はkafka-client 0.9.0.0を使用しています。私もkafkaクライアント0.9.0.1で同じ結果を試しました。Kafakaコンシューマinitは例外をスローします: 'KafkaClient'エントリを見つけられませんでした

org.apache.kafka.common.KafkaException: 
java.lang.IllegalArgumentException: Could not find a 
'KafkaClient' entry in `/home/vcap/app/wlp/usr/shared/config/lib 
/global/jaas.conf`. 

ファイルjaas.confを、それが探していると はそれでコンテンツを以下のいた場所に存在しています。

KafkaClient { 
    com.ibm.messagehub.login.MessageHubLoginModule required 
    serviceName="kafka" 
    username="xxxxxxx" 
    password="xxxxxxx" 
}; 

答えて

4

「jass.conf」ファイルのパスに基づいて、私はこれが事実であるなら、あなたは以下の通りのserver.xmlにjaasLoginModuleを指定してくださいする必要があり、あなたがBluemixにリバティアプリを実行していることを前提とし:

<featureManager> 
    <feature>appSecurity-2.0</feature> 
</featureManager> 

<library id="messageHubLoginLib"> 
    <fileset dir="${server.config.dir}" includes="messagehub.login-1.0.0.jar"/> 
</library> 

<jaasLoginModule id="KafkaClient" 
      className="com.ibm.messagehub.login.MessageHubLoginModule" 
      controlFlag="REQUIRED" libraryRef="messageHubLoginLib"> 
    <options serviceName="kafka" username="#USERNAME" password="#PASSWORD"/> 
</jaasLoginModule> 

<jaasLoginContextEntry id="KafkaClient" name="KafkaClient" loginModuleRef="KafkaClient" /> 

注:Bluemixでリバティアプリを使用している場合は、単に明確化のために、現在のJAAS構成は、そのjaas.confをファイルを使用していません。したがって、前述のserver.xml設定を使用する必要があります。

ここには、Libertyの設定方法の詳細が記載されています

+0

ありがとうございます。私はこれを試してみる。 – Madhu

関連する問題