Я пытаюсь реализовать ApplicationInsights в своем весеннем проекте. Если я использую ApplicationInsights.xml, он работает нормально. Но в случае, если я удаляю его, WebRequestTrackingFilter инициализируется в первый раз нормально, с ключом инструментария, и когда я пытаюсь сделать запрос, он не выполняется, потому что WebRequestTrackingFilter не инициализируется.
Реализация такая же, как предложено на сайте Microsoft:
@Configuration
@ComponentScan("com.microsoft.applicationinsights.web.spring")
public class AppInsightsConfig {
@Value("${azure.application-insights.instrumentation-key}")
private String appInsightKey;
//Initialize AI TelemetryConfiguration via Spring Beans
@Bean
public String telemetryConfig() {
if (appInsightKey != null) {
TelemetryConfiguration.getActive().setInstrumentationKey(appInsightKey);
}
return appInsightKey;
}
@Bean(name = "appInsightsWebRequestTrackingFilter")
public Filter appInsightsWebRequestTrackingFilter() {
return new WebRequestTrackingFilter("Service provider");
}
}
А:
http.***..addFilterBefore(appInsightsWebRequestTrackingFilter,UsernamePasswordAuthenticationFilter.class)
с
@Autowired
private Filter appInsightsWebRequestTrackingFilter;
И в этом случае статистика не отправляется в Azure? С настройкой XML все работает нормально, с настройкой переменной среды работает нормально, но мне нужно установить ключ с помощью кода.
Спасибо!
Постскриптум Это не подпружиненное приложение