Сонар поднимает проблему с блокировщиком, когда я не закрываю зажигать объект

Анализ SonarQube поднимает блокировку, когда я не закрываю объект зажигания. Я использую кеш в веб-приложении Spring и пытаюсь получить к нему доступ следующим образом:

Ignite ignite = Ignition.getOrStart(igniteConf);

Если я закрою объект в finallyЯ не смог бы снова использовать его в приложении без инициализации и повторного заполнения, что мне не нужно (поскольку в кеше содержатся данные, которые я хочу использовать в приложении позже). Есть ли способ избежать или устранить проблему?

2 ответа

Решение

Я повторю ответ от комментариев здесь более подробно.

Чтобы порадовать Sonar, вы можете создать бин Spring, соответствующий экземпляру Ignite, и автоматически связать его с вашим местом использования. Это фактически эквивалентно использованию зажигания, поэтому вы также можете просто проигнорировать предупреждение.

Как правило, вам не нужно беспокоиться о закрытии Ignite, так как он следует принципу "дай мне разбиться".

Сонар поднимает здесь проблему, чтобы предупредить вас, что этот экземпляр, скорее всего, должен быть где-то закрыт.

Если вы уведомили об этом предупреждении, но пришли к выводу, что вы уже предприняли все необходимые шаги, просто закройте эту проблему в SonarQube как "не будет устранена" или выберите один из других вариантов, чтобы закрыть эту проблему.

Другие вопросы по тегам