0

接続に使用する多数の SOAP サービスがあり、同じサービスへの最初の接続を統合から開始するのに多くの時間がかかり、その後のリクエストは応答時間を 60% 短縮しています。

JAXB バインディングの初期化で分析

@Configuration
public interface WSCommons {
Jaxb2Marshaller marshaller = new Jaxb2Marshaller();
    @Bean
      static Jaxb2Marshaller jaxb2Marshaller() {
            marshaller.setPackagesToScan("com.abc");
        return marshaller;
      }
}

最初のリクエストですべてをスキャンしてマーシャラーを作成するには、かなりの時間がかかります。

しかし、

Bean が初期化されると、少数の要求に対して高速に動作します。サービス フローがしばらくアイドル状態になり、要求が再び流れ始めると、MarshallingWebServiceOutboundGateway は非常に遅くなります。

Jaxb2Marshaller は静的であり、この場合は再初期化するために停止する必要があります。

初期化で間違ったことをしている可能性があります。

ありがとう

4

1 に答える 1