[解決済み] 宛先の JMS 接続を更新できませんでした。原因:認証に失敗
2022-02-09 09:12:54
質問
コマンドラインからリスニングしようとするとうまくいくのですが、Spring Bootを使用すると以下のエラーが出ます。
ERROR [org.springframework.jms.listener.DefaultMessageListenerContainer] (DefaultMessageListenerContainer-1) Could not refresh JMS Connection for destination 'wfQueue' - retrying using FixedBackOff{interval=5000, currentAttempts=44, maxAttempts=unlimited}. Cause: authentication failed
javax.jms.JMSSecurityException: authentication failed
これは私のアプリのクラスです
@SpringBootApplication(scanBasePackages = {"com.source.lbm"})
public class EMSConsumerApp {
public static main(String[] args){
run(EMSConsumerApp.class, args);
}
}
JMS コンシューマの定義を行うクラスです。
@EnableJMS
@EnableTransactionManagement
public abstract class SubscriberConfiguration {
private final String url;
private final String clientId;
private final String username;
private final String password;
public SubscriberConfiguration(String url, String clientId, String username, String password) {
this.url = url;
this.clientId = clientId;
this.username = username;
this.password = password;
}
@Bean
public DefaultJmsListenerContainerFactory jsmListenerContainerFactory(ConnectionFactory connectionFactory) {
DefaultJmsListenerContainerFactory containerFactory = new DefaultJmsListenerContainerFactory();
containerFactory.setconnectionFactory(connectionFactory);
containerFactory.setPubSubDomain(true);
containerFactory.setSubscriptionDurable(true);
containerFactory.setSessionTransacted(true);
containerFactory.setAutoStartup(true);
return containerFactory;
}
@Bean
public ConnectionFactory jmsConnectionFactory() throws JMSException{
TibjmsXATopicConnectionFactory connectionFactory = new TibjmsXATopicConnectionFactory();
connectionFactory.setServerUrl(url);
connectionFactory.setClientId(clientId);
connectionFactory.setUserName(username);
connectionFactory.setUserPassword(password);
return connectionFactory;
}
}
これは、サブスクライバーのコンフィグを設定します。
@Configuration
public class LbmSubConfiguration extends SubscriberConfiguration {
public LbmSubConfiguration(
@Value("${ems.lbm.sub.url}") String emsUrl;
@Value("${ems.lbm.sub.clientId}") String subClientId;
@Value("${ems.lbm.sub.username}") String subUsername;
@Value("${ems.lbm.sub.password}") String subPasword) {
super(emsUrl,subClientId,subUsername,subPasword);
}
}
このクラスは ems をリスンし、メッセージを消費します。
@Component
public class LbmEventConsumer {
@JmsListener(destination = "${ems.lbm.sub.destination}", containerFactory = "jmsListenerContainerFactory")
public void onMessage(BytesMessage message){
System.out.println("Message " + message);
}
}
これらのクレデンシャルはコマンドライン上で問題なく動作するので、クレデンシャルに問題はないはずです。おそらく、いくつかの設定が足りないからでしょう(確かではありませんが)。何が問題なのか、解決していただけませんか?
解決方法は?
このコードは正常に動作しますが、scanBasePackageの設定にSubscriberConfigurationのパッケージを追加するのを失念していました。
関連
-
[解決済み】Bad Request - このホストとポートの組み合わせはTLSが必要です。
-
[解決済み] クラスパスに @ConfigurationProperties Spring Boot Configuration Annotation Processor が見つかりません。
-
[解決済み] テンプレート "index "の解決に失敗しました。テンプレートが存在しないか、設定されたテンプレートリゾルバでアクセスできない可能性があります。
-
[解決済み] 宛先の JMS 接続を更新できませんでした。原因:認証に失敗
-
[解決済み] このリソースにアクセスするには、生成されたアクセストークンを使用して完全な認証を行う必要があります。
-
[解決済み] java.lang.ClassNotFoundException: org.gradle.api.internal.plugins.DefaultConvention このエラーを修正するにはどうすればよいですか?
-
[解決済み] org.apache.kafka.common.KafkaException: カフカコンシューマーの構築に失敗した
-
[解決済み] Entity上で@AllArgsConstructorと@NoArgsConstructorを併用する理由とは?
-
[解決済み] 文字列のリストに対するSpring Bootのyaml設定
-
[解決済み] SpringBootのLogbackを無効にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] テンプレート "index "の解決に失敗しました。テンプレートが存在しないか、設定されたテンプレートリゾルバでアクセスできない可能性があります。
-
[解決済み] 宛先の JMS 接続を更新できませんでした。原因:認証に失敗
-
[解決済み] このリソースにアクセスするには、生成されたアクセストークンを使用して完全な認証を行う必要があります。
-
[解決済み] Bad Request - このホストとポートの組み合わせはTLSが必要です。
-
[解決済み] java.lang.ClassNotFoundException: org.gradle.api.internal.plugins.DefaultConvention このエラーを修正するにはどうすればよいですか?
-
[解決済み] org.apache.kafka.common.KafkaException: カフカコンシューマーの構築に失敗した
-
属性値は一定でなければならない
-
[解決済み] Entity上で@AllArgsConstructorと@NoArgsConstructorを併用する理由とは?
-
[解決済み] 文字列のリストに対するSpring Bootのyaml設定
-
[解決済み] SpringBootのLogbackを無効にする