Nano Hash - криптовалюты, майнинг, программирование

Компонент CDI SessionScoped недоступен в SessionMap

Используя @Named("XYZ") и @SessionScoped перед объявлением класса, сеансовый компонент создается, но эти компоненты не сохраняются в карте сеансов.

Карта сеанса проверяется как

окончательный контекст FacesContext = FacesContext.getCurrentInstance(); Объект obj context.getExternalContext().getSessionMap().get("XYZ");

Когда я помещаю управляемый сеансовый компонент JSF в Faces-config.xml, как это

  <managed-bean>
    <managed-bean-name>XYZ</managed-bean-name>
    <managed-bean-class>blah.blah.XYZ</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>

Я могу найти карту сеанса в порядке.

Кажется, что компоненты CDI не хранятся в карте сеансов.

Обратите внимание, что bean.xml существует в моем проекте.


  • Это работало с предыдущей версией Tomcat? И почему вы пытаетесь получить боб таким образом? 04.02.2020
  • Раньше я не использовал CDI. Я только что обновил свой проект до последней версии JSF, когда столкнулся с этой проблемой. 04.02.2020
  • См. также stackoverflow.com/questions/26514456/ 04.02.2020
  • Статья Управляемый компонент с областью действия сеанса недоступен в качестве атрибута сеанса в фильтре — Кукельтье не отвечает на мой вопрос. Я использую сеансовый компонент для хранения информации о пользователе. Я использую служебный метод JSFUTIL.getbean(???) для получения сеансового компонента. 04.02.2020
  • Он как бы отвечает на него, поскольку предлагает использовать @Inject для получения компонента. Если чистое извлечение не является вашей проблемой, но вам нужно сделать с ним что-то, что вы не могли бы сделать, если бы вы его ввели, вы должны были указать это в вопросе, поскольку это важная часть. Вторая ссылка, которую я разместил, содержит дополнительную информацию, если вам нужно что-то с ней сделать. 04.02.2020
  • Не по теме: если у вас все еще есть собственный JSFUtil, вы должны отказаться от него в пользу OmniFaces. 04.02.2020
  • Я использую сеансовый компонент для хранения информации о пользователе. Я использую служебный метод JSFUTIL.getbean(???) для получения сессионного компонента, но у меня никогда не было необходимости в классе JSFUtil для этого за последние 8 лет. У вас, скорее всего, есть место для оптимизации. 04.02.2020
  • JSFUtil — это просто вспомогательный класс. У меня есть код, подобный этому «коду». если (контекст == ноль) { вернуть ноль; } return context.getExternalContext().getSessionMap().get(expr); } ‹/code› Ничего особенного в этом нет. 05.02.2020
  • Наоборот, в этом много особенного. ПОЧЕМУ вы так читаете бин из карты сеанса. Я никогда этого не делал. Смотрите другую ссылку, которую я разместил... 05.02.2020

Новые материалы

Кластеризация: более глубокий взгляд
Кластеризация — это метод обучения без учителя, в котором мы пытаемся найти группы в наборе данных на основе некоторых известных или неизвестных свойств, которые могут существовать. Независимо от..

Как написать эффективное резюме
Предложения по дизайну и макету, чтобы представить себя профессионально Вам не позвонили на собеседование после того, как вы несколько раз подали заявку на работу своей мечты? У вас может..

Частный метод Python: улучшение инкапсуляции и безопасности
Введение Python — универсальный и мощный язык программирования, известный своей простотой и удобством использования. Одной из ключевых особенностей, отличающих Python от других языков, является..

Как я автоматизирую тестирование с помощью Jest
Шутка для победы, когда дело касается автоматизации тестирования Одной очень важной частью разработки программного обеспечения является автоматизация тестирования, поскольку она создает..

Работа с векторными символическими архитектурами, часть 4 (искусственный интеллект)
Hyperseed: неконтролируемое обучение с векторными символическими архитектурами (arXiv) Автор: Евгений Осипов , Сачин Кахавала , Диланта Хапутантри , Тимал Кемпития , Дасвин Де Сильва ,..

Понимание расстояния Вассерштейна: мощная метрика в машинном обучении
В обширной области машинного обучения часто возникает необходимость сравнивать и измерять различия между распределениями вероятностей. Традиционные метрики расстояния, такие как евклидово..

Обеспечение масштабируемости LLM: облачный анализ с помощью AWS Fargate и Copilot
В динамичной области искусственного интеллекта все большее распространение получают модели больших языков (LLM). Они жизненно важны для различных приложений, таких как интеллектуальные..