WebRequestTrackingFilter未初始化

时间:2018-09-04 13:37:05

标签: java spring azure azure-application-insights

我正在尝试在我的spring项目中实施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配置,它可以正常工作,通过设置环境变量,它可以正常工作,但是我需要通过代码设置密钥。 谢谢! 附言这不是spring-boot应用程序

0 个答案:

没有答案