ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Я получаю исключение при получении всех записей в таблице в БД.

Ошибка, которую я получил:

   org.hibernate.HibernateException: collection is not associated with any session
        at org.hibernate.collection.internal.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:678) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.engine.internal.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:893) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:360) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doList(Loader.java:2554) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
        at org.hibernate.loader.Loader.doList(Loader.java:2540) ~[hibernate-core-4.3.8.Final.jar:4.3.8.Final]
  
  

Что меня шокирует, так это то, что я не получаю эту ошибку во время тестирования, но она возникает в производственной среде, которая ставит меня в тупик!!

Может ли кто-нибудь здесь помочь мне разобраться в этом странном поведении??

Это как-то связано с размером таблицы??

    public BillingService getBillingCodeByCode(String code){
    List list = billingServiceDao.findBillingCodesByCode( code,"BC");
    if(list == null || list.size() ==0 ){
        return null;
    }
    return (BillingService) list.get(0);
  }
  
  

The billingServiceDao
is initialized by Spring
container:

   private static BillingServiceDao billingServiceDao = 
                  (BillingServiceDao) SpringUtils.getBean("billingServiceDao");
  
  
   public List<BillingService> findBillingCodesByCode(String code, String region) {
    Query query = entityManager.createQuery("select bs  from....");
    query.setParameter("code", code + "%");
    query.setParameter("region", region);

    @SuppressWarnings("unchecked")
    List<BillingService> list = query.getResultList();
    return list;
}
  
  

The culprit is query.getResultList();
but I’m from other universe (. Net) and don’t know the remedy for the problem.

Please help me help my friend solve this problem.

EDIT:- Stack Trace

  SEVERE: Servlet.service() for servlet action threw exception
org.hibernate. HibernateException: collection is not associated with any session
 at org.hibernate.collection. AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:449)
 at org.hibernate.engine. StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:797)
 at org.hibernate.loader. Loader.doQueryAndInitializeNonLazyCollections(Loader.java:241)
 at org.hibernate.loader. Loader.doList(Loader.java:2220)
 at org.hibernate.loader. Loader.listIgnoreQueryCache(Loader.java:2104)
 at org.hibernate.loader. Loader.list(Loader.java:2099)
 at org.hibernate.loader.hql. QueryLoader.list(QueryLoader.java:378)
 at org.hibernate.hql.ast. QueryTranslatorImpl.list(QueryTranslatorImpl.java:338)
 at org.hibernate.engine.query. HQLQueryPlan.performList(HQLQueryPlan.java:172)
 at org.hibernate.impl. SessionImpl.list(SessionImpl.java:1121)
 at org.hibernate.impl. QueryImpl.list(QueryImpl.java:79)
 at org.hibernate.ejb. QueryImpl.getResultList(QueryImpl.java:66)
 at org.oscarehr.common.dao. BillingServiceDao.findBillingCodesByCode(BillingServiceDao.java:47)
 at org.oscarehr.common.dao. BillingServiceDao$FastClassByCGLIB$f613fb7e.invoke()
 at net.sf.cglib.proxy. MethodProxy.invoke(MethodProxy.java:191)
  

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС



Вернуться в основную статью


Для облегчения поиска ошибок был создан отдельный раздел для сбора ошибок из АРМ ЭЛН, читайте внимательнее подсказки ниже:


Для поиска по статье нажмите Ctrl+F и введите первые символы кода ошибки или вопроса


:!:
В случае возникновения ошибки «ERR_SIGN Некорректная подпись головной организации: Ошибка при проверке сертификата. V ALID_SIGNATURE ЭП действительна; При проверке сертификата ЭП произошла ошибка. Не удалось найти/получить доступ к списки отозванных сертификатов УЦ. Обратитесь в службу поддержки ФСС

Кликнуть правой кнопкой мыши по нему — Установить список отзыва


:!:
В случае возникновения ошибки при установке или обновлении программы «GostCryptography.dll Этому файлу не сопоставлена программа для выполнения этого действия»

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Необходимо обновить систему и выполнить команды в командной строке от имени администратора:

  sfc /scannow  
  DISM /Online /Cleanup-Image /RestoreHealth  

После этого необходимо перезагрузиться

Подробнее вы можете прочитать здесь


:!:
В случае возникновения «Internal Error COMCryptoAPIClient»
:

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

В командной строке CMD выполнить (с правами администратора):

  cd C:\FssTools  

— для 32 бита:

  C:\Windows\Microsoft. NET\Framework\v4.0.30319\RegAsm.exe /registered C:\FssTools\GostCryptography.dll  

— для 64 бита:

  C:\Windows\Microsoft. NET\Framework64\v4.0.30319\RegAsm.exe /registered C:\FssTools\GostCryptography.dll  

:!:
В случае возникновения ошибки «Сообщение не соответствует формату XML Encryption»

В меню Администрирование – Настройки сервисов ФСС – Строка соединения укажите следующий адрес сервиса:

  https://eln.fss.ru/WSLnCryptoV20/FileOperationsLnService?WSDL  

Далее в меню Администрирование – Настройка подписей для сервисов установите галку «Шифровать сообщение». После этого Вам необходимо указать Имя сертификата ФСС и Тип контейнера.


:!:
В случае возникновения ошибки «Software caused connection abort: recv failed»

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Обычно данная ошибка возникает при бездействии. Когда сервер автоматически закрывает соединение через некоторое время, а клиент получает данную ошибку в ответ на запрос
В иных случаях соединение может прерываться из-за перезапуска СУБД на сервере, когда клиент пытается запрашивать данные по уже несуществующим соединениям

:!:
В случае возникновения ошибки «HibernateException: Collection is not associated with any session

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Пароль для пользователя Postgres — Manager1
и на схеме public выполнить запрос:

  WITH t AS (
SELECT ln_code, COUNT

FROM public.fc_eln_data_history GROUP BY ln_code HAVING COUNT

> 1) SELECT * FROM public.fc_eln_data_history WHERE ln_code IN (SELECT ln_code FROM t);

Этот запрос выведет строки с одинаковыми номерами ЭЛН. Затем необходимо будет удалить ошибочную строку:
delete from public.fc_eln_data_history where id = ‘ваш id неверной строки’;

Если данный способ не работает и после обновления ПО ошибка повторяется

Необходимо выполнить запрос:

  ALTER TABLE public.fc_eln_data_history ADD CONSTRAINT unique_lncode UNIQUE (ln_code);  

Это ограничение запрещает создавать в таблице public.fc_eln_data_history строки с одинаковым значением ln_code


:!:
В случае возникновения ошибки «В базе данных АРМ ЛПУ имеется некорректная запись» (Transaction already active)

Данная ошибка возникает в случае, когда в какой либо таблице БД приложения сохранены некорректные записи

Для исправления нужно удалить из БД приложения неверную строку (такие записи можно удалить только вручную).

В интерфейсе клиента открывается сервер PostgreSQL 9.5. Затем открывается схема fss (пользователь fss, пароль fss) – Схемы – public – Таблицы.

Данные в АРМ ЛПУ хранятся в таблицах:
fc_eln_data_history — данные листков нетрудоспособнсти;

fc_eln_periods — сведения о периодах нетрудоспособности;

ref_ln_numbers — список запрошенных номеров ЭЛН.

Для просмотра таблицы необходимо выделить ее в дереве таблиц и нажать на значок «Просмотр данных в выбранном объекте»
Выделяете и удаляете (delete) строку, которая содержит пустое значение номера ЭЛН или другие ошибки.
Как вариант, для поиска и удаления ошибочных записей возможно использование SQL запроса типа:
select id from fc_eln_data_history where ln_code is null;
delete from fc_eln_data_history where id = ваш id;
Для открытия окна SQL запросов необходимо в главном меню нажать на значок «SQL».

Обратите внимание! При удалении строки ЭЛН, если в этом ЭЛН были созданы периоды нетрудоспособности, сначала необходимо удалить их. Периоды нетрудоспособности хранятся в отдельной таблице fc_eln_periods и связаны с fc_eln_data_history по номеру ЭЛН. Просмотр и удаление периодов аналогично, описанному выше.


:!:
В случае возникновения ошибки «Unable to acquire JDBC Connection»

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Проблема связана с неработоспособностью сервисов ФСС, необходимо ожидать восстановления


:!:
В случае возникновения ошибки «Ошибка вызова сервиса передачи/получения данных. Л ПУ НЕ НАЙДЕН В СПРАВОЧНИКЕ»

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Необходимо взять документы и лицензии МО, обратиться (подойти на приём) в территориальный орган Фонда по месту осуществления деятельности. Сотрудники ТОФ внесут МО в соответствующие справочники, после чего МО сможет формировать ЭЛН.


:!:
В случае возникновения ошибки «Ошибка вызова сервиса передачи/получения данных. Unmarchalling error: cvc-complex-type.2.4.a: Invalid content was found starting with element»

Для устранения ошибки необходимо снять галочку с постановки на учёт в ранние сроки Также необходимо обновить программу.


:!:
В случае возникновения ошибки «Ошибка при проверке сертификата. V ALID_SIGNATURE ЭП действительна; При проверке сертификата ЭП произошла ошибка. Ошибка построения цепочки сертификатов. Не найден сертификат Удостоверяющего центра, указанный в сертификате пользователя

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Необходимо переустановить ВСЮ цепочку сертификатов уполномоченного лица ФСС


:!:
В случае возникновения ошибки «ЭЛН с номером, указанным в поле «Продолжение ЭЛН» не закрыт»

Необходимо
закрыть предыдущий ЭЛН – невозможно отправить на сервис ЭЛН-продолжение, не
закрыв при этом предыдущий ЭЛН


:!:
В случае возникновения ошибки «Значение поля (групп полей) отличается от существующего значения»

Ошибка сообщает что невозможно внести изменения в ранее успешно отправленные данные ЭЛН. Понятие
«Группа полей» подразумевает некую неделимую целостность полей в ЭЛН,
например, если при открытии ЭЛН были успешно отправлены значения «Фамилия» и
«Имя», при продлении в эту группу полей невозможно будет добавить «Отчество».
Также невозможно исправить или дополнить ранее отправленные данные по периоду
нетрудоспособности, например, в ранее отправленный период добавить подпись
Председателя ВК;


:!:
В случае возникновения ошибки «Направленные данные ЭЛН уже присутствуют в системе»

Вы пытаетесь отправить данные, которые уже присутствуют в системе


:!:
В случае возникновения ошибки при запуске программы «Invalid Configuration Location» The configuration area at . could not be created. Please choose a writable location using the ‘-configuration’ command line option

ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС

Пользователю недостаточно места для создания и хранения временных файлов, создаваемых программой.
Проверьте квотирование места на диске: уберите квотирование либо увеличьте доступное пользователю пространство,


:!:
В случае возникновения ошибки «Количество новых периодов не должно превышать 1»

Ошибка говорит о том, что вы пытаетесь отправить несколько периодов. За один раз можно
отправить только один период нетрудоспособности


Всем, кому понравился или помог это проект — Вы можете помочь ему развиваться материально:
ОРГАНИЗАЦИЯ HIBERNATE HIBERNATEEXCEPTION COLLECTION НЕ СВЯЗАНА С КАКИМ-ЛИБО СЕАНСОМ ФСС



Donate (помощь проекту)

Here’s the point: I want to load «DeliveryOrderEntity» (code below) from DB (MySQL). It has 1 foreign key with «one-to-many» relationship. It connects «BillsEntity» using billNumber
. To make it clear — I have table ORDER
with column BILL_NUMBER
and table BILL
with columns BILL_ID
(primary key) and BILL_NUMBER
(column, that connects BILL
with ORDER
).
Here is my code:

   @Entity
@Table(name = "DELIVERY_ORDER", schema = "", catalog = "kursach")
@NamedQueries(value = {
    @NamedQuery(name = "findAllOrders", query = "from DeliveryOrderEntity"),
    @NamedQuery(name = "getOrder", query = "from DeliveryOrderEntity where orderId=:orderId"),
    @NamedQuery(name = "removeOrder", query = "delete from DeliveryOrderEntity where orderId=:orderId")
})
public class DeliveryOrderEntity implements Serializable{
private int orderId;
private Timestamp orderDate;
private String orderName;
private String orderTelephone;
private Integer billNumber;
private Integer regionId;
private List<BillEntity> listBill;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "ORDER_ID")
public int getOrderId() {
    return orderId;
}

public void setOrderId(int orderId) {
    this.orderId = orderId;
}

@Basic
@Column(name = "ORDER_DATE")
public Timestamp getOrderDate() {
    return orderDate;
}

public void setOrderDate(Timestamp orderDate) {
    this.orderDate = orderDate;
}

@Basic
@Column(name = "ORDER_NAME")
public String getOrderName() {
    return orderName;
}

public void setOrderName(String orderName) {
    this.orderName = orderName;
}

@Basic
@Column(name = "ORDER_TELEPHONE")
public String getOrderTelephone() {
    return orderTelephone;
}

public void setOrderTelephone(String orderTelephone) {
    this.orderTelephone = orderTelephone;
}

@Basic
@Column(name = "BILL_NUMBER")
public Integer getBillNumber() {
    return billNumber;
}

public void setBillNumber(Integer billNumber) {
    this.billNumber = billNumber;
}

@Basic
@Column(name = "REGION_ID")
public Integer getRegionId() {
    return regionId;
}

public void setRegionId(Integer regionNumber) {
    this.regionId = regionNumber;
}

@OneToMany(fetch = FetchType.LAZY, cascade = CascadeType.REFRESH)
@Fetch(FetchMode.JOIN)
@JoinColumn(name = "BILL_NUMBER", referencedColumnName = "BILL_NUMBER", nullable = false, insertable = false, updatable = false)
public List<BillEntity> getListBill() {
    return listBill;
}

public void setListBill(List<BillEntity> listBill) {
    this.listBill = listBill;
}

@Override
public boolean equals(Object o) {
    if (this == o) return true;
    if (o == null || getClass() != o.getClass()) return false;

    DeliveryOrderEntity entity = (DeliveryOrderEntity) o;

    if (orderId != entity.orderId) return false;
    if (orderDate != null ? !orderDate.equals(entity.orderDate) : entity.orderDate != null) return false;
    if (orderName != null ? !orderName.equals(entity.orderName) : entity.orderName != null) return false;
    if (orderTelephone != null ? !orderTelephone.equals(entity.orderTelephone) : entity.orderTelephone != null)
        return false;
    if (billNumber != null ? !billNumber.equals(entity.billNumber) : entity.billNumber != null) return false;
    return !(regionId != null ? !regionId.equals(entity.regionId) : entity.regionId != null);

}

@Override
public int hashCode() {
    int result = orderId;
    result = 31 * result + (orderDate != null ? orderDate.hashCode() : 0);
    result = 31 * result + (orderName != null ? orderName.hashCode() : 0);
    result = 31 * result + (orderTelephone != null ? orderTelephone.hashCode() : 0);
    result = 31 * result + (billNumber != null ? billNumber.hashCode() : 0);
    return result;
}
}
  
  
   @Entity
@Table(name = "BILL")
@NamedQueries({
        @NamedQuery(name = "findAllBills", query = "from BillEntity"),
        @NamedQuery(name = "findAllBillIds", query = "select billNumber from BillEntity group by billNumber"),
        @NamedQuery(name = "findAllBillsById", query = "from BillEntity where billNumber=:billNumber")
})
public class BillEntity implements Serializable {
    private int billId;
    private Integer billNumber;
    private Integer goodCount;
    private Integer goodId;
    private Integer billStatus;
    private GoodsEntity good;

    @Id
    @Column(name = "BILL_ID")
    public int getBillId() {
        return billId;
    }

    public void setBillId(int billId) {
        this.billId = billId;
    }

    @Basic
    @Column(name = "BILL_NUMBER", updatable = false, insertable = false)
    public Integer getBillNumber() {
        return billNumber;
    }

    public void setBillNumber(Integer billNumber) {
        this.billNumber = billNumber;
    }

    @Basic
    @Column(name = "GOOD_COUNT")
    public Integer getGoodCount() {
        return goodCount;
    }

    public void setGoodCount(Integer goodCount) {
        this.goodCount = goodCount;
    }

    @Basic
    @Column(name = "BILL_STATUS")
    public Integer getBillStatus() {
        return billStatus;
    }

    @Basic
    @Column(name = "GOOD_ID")
    public Integer getGoodId() {
        return goodId;
    }

    public void setGoodId(Integer goodId) {
        this.goodId = goodId;
    }

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "GOOD_ID", referencedColumnName = "GOOD_ID", nullable = false, insertable = false, updatable = false)
    public GoodsEntity getGood() {
        return good;
    }

    public void setGood(GoodsEntity good) {
        this.good = good;
    }

    public void setBillStatus(Integer billStatus) {
        this.billStatus = billStatus;
    }

    @Override
    public boolean equals(Object o) {
        if (this == o) return true;
        if (o == null || getClass() != o.getClass()) return false;

        BillEntity that = (BillEntity) o;

        if (billId != that.billId) return false;
        if (billNumber != null ? !billNumber.equals(that.billNumber) : that.billNumber != null) return false;
        if (goodCount != null ? !goodCount.equals(that.goodCount) : that.goodCount != null) return false;
        if (goodId != null ? !goodId.equals(that.goodId) : that.goodId != null) return false;
        return !(billStatus != null ? !billStatus.equals(that.billStatus) : that.billStatus != null);

    }

    @Override
    public int hashCode() {
        int result = billId;
        result = 31 * result + (billNumber != null ? billNumber.hashCode() : 0);
        result = 31 * result + (goodCount != null ? goodCount.hashCode() : 0);
        result = 31 * result + (goodId != null ? goodId.hashCode() : 0);
        result = 31 * result + (billStatus != null ? billStatus.hashCode() : 0);
        return result;
    }

    @Override
    public String toString() {
        return "BillEntity{" +
                "billId=" + billId +
                ", billNumber=" + billNumber +
                ", goodCount=" + goodCount +
                ", billStatus=" + billStatus +
                ", good=" + good +
                '}';
    }


}
  
  

As you can see, I have unidirectional OneToMany relationship. The problem is that when i have 2 rows in DELIVERY_ORDER table with the same BILL_NUMBER and I try to get list of orders — it fails with:

   Caused by: org.hibernate.HibernateException: collection is not associated with any session
at org.hibernate.collection.internal.AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:676)
at org.hibernate.engine.internal.StatefulPersistenceContext.initializeNonLazyCollections(StatefulPersistenceContext.java:1030)
at org.hibernate.loader.Loader.doQueryAndInitializeNonLazyCollections(Loader.java:346)
at org.hibernate.loader.Loader.doList(Loader.java:2522)
at org.hibernate.loader.Loader.doList(Loader.java:2508)
at org.hibernate.loader.Loader.listIgnoreQueryCache(Loader.java:2338)
at org.hibernate.loader.Loader.list(Loader.java:2333)
at org.hibernate.loader.hql.QueryLoader.list(QueryLoader.java:490)
at org.hibernate.hql.internal.ast.QueryTranslatorImpl.list(QueryTranslatorImpl.java:355)
at org.hibernate.engine.query.spi.HQLQueryPlan.performList(HQLQueryPlan.java:195)
at org.hibernate.internal.SessionImpl.list(SessionImpl.java:1269)
at org.hibernate.internal.QueryImpl.list(QueryImpl.java:101)
at org.hibernate.ejb.QueryImpl.getResultList(QueryImpl.java:264)
  
  

Here is the code where i fetch the list:

   public List<DeliveryOrderEntity> listOrders() {
    List findAllOrders = new ArrayList();
    EntityManager entityManager = transactionManager.getEntityManagerFactory().createEntityManager();
    try {
        entityManager.getTransaction().begin();
        findAllOrders = entityManager.createNamedQuery("findAllOrders").getResultList();
    } catch (Exception e) {
        e.printStackTrace();
    } finally {
        entityManager.getTransaction().commit();
    }
    return findAllOrders;
}
  
  

Thank you in advance.

Я нашел несколько вопросов и ответов по этому вопросу о SO, но все они, похоже, охватывают одну из основных причин проблемы: получение коллекции за пределами транзакции или в рамках другой транзакции. Но в моем случае, я получаю в рамках одной и той же транзакции при получении родительского объекта и коллекции.

   @Service
@Transactional
public class IntegrationServiceImpl implements IntegrationService {
@Override
public Integration getIntegrationByIdFetchBackendParameters(Long integrationId) {
Integration integration = integrationDao.get(integrationId);
//not all integrations have to have backend.
if (integration.getBackend() != null) {
Hibernate.initialize(integration.getBackend().getBackendParameters());
}
return integration;
}
...

Но когда дело доходит до Hibernate.initialize этой ветки в org.hibernate.collection.internal. AbstractPersistentCollection выполняется

if ( session == null ) {  
throw new HibernateException( "collection is not associated with any session" );
}

Я не могу понять, почему session
равен null
. Кто-нибудь объяснит это и предложит решение?

РЕДАКТИРОВАНИЕ 1 — Полная трассировка стека

org.hibernate. HibernateException: коллекция не связана ни с одним сеансом 
в org.hibernate.collection.internal. AbstractPersistentCollection.forceInitialization(AbstractPersistentCollection.java:676)
в org.hibernate. Hibernate.initialize(Hibernate.java:77)
на сайте com.dhl.finFw.service. IntegrationServiceImpl.getIntegrationByIdFetchBackendParameters(IntegrationServiceImpl.java:169)
на сайте com.dhl.finFw.web.integration. IntegrationOverviewManagedBean.loadIntegration(IntegrationOverviewManagedBean.java:59)
на сайте com.dhl.finFw.web.integration. AbstractIntegrationManagedBean.initCommonFields(AbstractIntegrationManagedBean.java:69)
на солнце.отражать. NativeMethodAccessorImpl.invoke0 (собственный метод)
на солнце.отражать. NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
на солнце.отражать. DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
на java.lang.reflect. Method.invoke(Method.java:606)
в org.springframework.beans.factory.annotation. InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:344)
в org.springframework.beans.factory.annotation. InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:295)
в org.springframework.beans.factory.annotation. InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:130)
на странице org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory.applyBeanPostProcessorsBeforeInitialization(AbstractAutowireCapableBeanFactory.java:399)
на странице org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1481)
на странице org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)
на странице org.springframework.beans.factory.support. AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)
на странице org.springframework.beans.factory.support. AbstractBeanFactory$2.getObject(AbstractBeanFactory.java:333)
на com.dhl.finFw.spring.scope. ViewScope.get(ViewScope.java:30)
на странице org.springframework.beans.factory.support. AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:329)
на странице org.springframework.beans.factory.support. AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)
на странице org.springframework.context.support. AbstractApplicationContext.getBean(AbstractApplicationContext.java:1117)
по адресу org.springframework.beans.factory.access.el. SpringBeanELResolver.getValue(SpringBeanELResolver.java:56)
на сайте com.sun.faces.el. DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
на сайте com.sun.faces.el. DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
на org.apache.el.parser. AstIdentifier.getValue(AstIdentifier.java:72)
на org.apache.el. ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
на сайте com.sun.faces.facelets.el. TagValueExpression.getValue(TagValueExpression.java:109)
на org.apache.el.parser. AstIdentifier.getValue(AstIdentifier.java:68)
на org.apache.el.parser. AstValue.getValue(AstValue.java:161)
на org.apache.el. ValueExpressionImpl.getValue(ValueExpressionImpl.java:185)
на сайте com.sun.faces.facelets.el. TagValueExpression.getValue(TagValueExpression.java:109)
на com.sun.faces.facelets.tag.jstl.core. ForEachHandler.apply(ForEachHandler.java:161)
на javax.faces.view.facelets. CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
по адресу com.sun.faces.facelets.tag.ui. CompositionHandler.apply(CompositionHandler.java:166)
на com.sun.faces.facelets.compiler. NamespaceHandler.apply(NamespaceHandler.java:93)
на com.sun.faces.facelets.compiler. EncodingHandler.apply(EncodingHandler.java:87)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.include(DefaultFacelet.java:320)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.include(DefaultFacelet.java:379)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.include(DefaultFacelet.java:358)
на сайте com.sun.faces.facelets.impl. DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
по адресу com.sun.faces.facelets.tag.ui. IncludeHandler.apply(IncludeHandler.java:120)
на javax.faces.view.facelets. CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
по адресу com.sun.faces.facelets.tag.ui. DefineHandler.applyDefinition(DefineHandler.java:106)
по адресу com.sun.faces.facelets.tag.ui. CompositionHandler.apply(CompositionHandler.java:178)
на сайте com.sun.faces.facelets.impl. DefaultFaceletContext$TemplateManager.apply(DefaultFaceletContext.java:395)
на сайте com.sun.faces.facelets.impl. DefaultFaceletContext.includeDefinition(DefaultFaceletContext.java:366)
по адресу com.sun.faces.facelets.tag.ui. InsertHandler.apply(InsertHandler.java:111)
на javax.faces.view.facelets. CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
на javax.faces.view.facelets. DelegatingMetaTagHandler.applyNextHandler(DelegatingMetaTagHandler.java:137)
на com.sun.faces.facelets.tag.jsf. ComponentTagHandlerDelegateImpl.apply(ComponentTagHandlerDelegateImpl.java:187)
на javax.faces.view.facelets. DelegatingMetaTagHandler.apply(DelegatingMetaTagHandler.java:120)
на javax.faces.view.facelets. CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
на com.sun.faces.facelets.tag.jsf.core. ViewHandler.apply(ViewHandler.java:179)
на javax.faces.view.facelets. CompositeFaceletHandler.apply(CompositeFaceletHandler.java:95)
на com.sun.faces.facelets.compiler. NamespaceHandler.apply(NamespaceHandler.java:93)
на com.sun.faces.facelets.compiler. EncodingHandler.apply(EncodingHandler.java:87)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.include(DefaultFacelet.java:320)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.include(DefaultFacelet.java:379)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.include(DefaultFacelet.java:358)
на сайте com.sun.faces.facelets.impl. DefaultFaceletContext.includeFacelet(DefaultFaceletContext.java:199)
по адресу com.sun.faces.facelets.tag.ui. CompositionHandler.apply(CompositionHandler.java:155)
на com.sun.faces.facelets.compiler. NamespaceHandler.apply(NamespaceHandler.java:93)
на com.sun.faces.facelets.compiler. EncodingHandler.apply(EncodingHandler.java:87)
на сайте com.sun.faces.facelets.impl. DefaultFacelet.apply(DefaultFacelet.java:164)
на com.sun.faces.application.view. FaceletViewHandlingStrategy.buildView(FaceletViewHandlingStrategy.java:870)
на com.sun.faces.lifecycle. RenderResponsePhase.execute(RenderResponsePhase.java:99)
на com.sun.faces.lifecycle. Phase.doPhase(Phase.java:101)
на com.sun.faces.lifecycle. LifecycleImpl.render(LifecycleImpl.java:139)
в javax.faces.webapp. FacesServlet.service(FacesServlet.java:594)
по адресу org.apache.catalina.core. ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305)
по адресу org.apache.catalina.core. ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
по адресу org.primefaces.webapp.filter. FileUploadFilter.doFilter(FileUploadFilter.java:79)
по адресу org.apache.catalina.core. ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
по адресу org.apache.catalina.core. ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
на сайте com.dhl.finFw.web.filter. FileNotFoundFilter.doFilter(FileNotFoundFilter.java:40)
на сайте com.dhl.finFw.web.filter. FileNotFoundFilter.doFilter(FileNotFoundFilter.java:35)
по адресу org.apache.catalina.core. ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
по адресу org.apache.catalina.core. ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
на org.springframework.web.filter. CharacterEncodingFilter.doFilterInternal(CharacterEncodingFilter.java:88)
на org.springframework.web.filter. OncePerRequestFilter.doFilter(OncePerRequestFilter.java:107)
по адресу org.apache.catalina.core. ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
по адресу org.apache.catalina.core. ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:330)
по адресу org.springframework.security.web.access.intercept. FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:118)
по адресу org.springframework.security.web.access.intercept. FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:84)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
по адресу org.springframework.security.web.access. ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.session. SessionManagementFilter.doFilter(SessionManagementFilter.java:64)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.session. SessionManagementFilter.doFilter(SessionManagementFilter.java:103)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.authentication. AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
по адресу org.springframework.security.web.servletapi. SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
по адресу org.springframework.security.web.savedrequest. RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.authentication. AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:183)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.authentication.logout. LogoutFilter.doFilter(LogoutFilter.java:105)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.session. ConcurrentSessionFilter.doFilter(ConcurrentSessionFilter.java:125)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
в org.springframework.security.web.context. SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
на org.springframework.security.web. FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:342)
на org.springframework.security.web. FilterChainProxy.doFilterInternal(FilterChainProxy.java:192)
на org.springframework.security.web. FilterChainProxy.doFilter(FilterChainProxy.java:160)
на org.springframework.web.filter. DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
на org.springframework.web.filter. DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
по адресу org.apache.catalina.core. ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243)
по адресу org.apache.catalina.core. ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210)
по адресу org.apache.catalina.core. StandardWrapperValve.invoke(StandardWrapperValve.java:222)
по адресу org.apache.catalina.core. StandardContextValve.invoke(StandardContextValve.java:123)
в org.apache.catalina.authenticator. AuthenticatorBase.invoke(AuthenticatorBase.java:502)
по адресу org.apache.catalina.core. StandardHostValve.invoke(StandardHostValve.java:171)
на org.apache.catalina.valves. ErrorReportValve.invoke(ErrorReportValve.java:99)
на org.apache.catalina.valves. AccessLogValve.invoke(AccessLogValve.java:953)
по адресу org.apache.catalina.core. StandardEngineValve.invoke(StandardEngineValve.java:118)
в org.apache.catalina.connector. CoyoteAdapter.service(CoyoteAdapter.java:408)
по адресу org.apache.coyote.http11. AbstractHttp11Processor.process(AbstractHttp11Processor.java:1023)
на org.apache.coyote. AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589)
на org.apache.tomcat.util.net. JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:312)
в java.util.concurrent. ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
в java.util.concurrent. ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
на java.lang. Thread.run(Thread.java:724)

Изменить 2 — поворот

&lt ; xml версия = "1.0" кодировка = "UTF-8"? > 
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-3.1.xsd
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.1.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsd">

<bean id="environmentVariablesConfiguration"
class="org.jasypt.encryption.pbe.config. EnvironmentStringPBEConfig">


<bean id="configurationEncryptor"
class="org.jasypt.encryption.pbe.StandardPBEStringEncryptor">











 
<версия веб-приложения="3.0" xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
FinFwUI
Конфигурация финансовой платформы

Сервлет Faces
javax.faces.webapp. FacesServlet
1


fileServlet
com.dhl.finFw.web. FileServlet

<? -- Расположение файла конфигурации Log4J для проверки инициализации и обновления!
Применяется Log4jConfigListener. Переменная заменяется свойством системы
. во время выполнения. -->

log4jConfigLocation
${finFw.config.location}log4j-finFwUI.properties

<!-- Версия приложения. Переменная заменяется во время сборки Maven. -->
<context-param>
<param-name>applicationVersion</param-name>
<param-value>${applicationVersion}</param-value>
</context-param>
<context-param>
<param-name>primefaces. THEME</param-name>
<param-value>dhl</param-value>
</context-param>
<context-param>
<param-name>javax.faces. FACELETS_SKIP_COMMENTS</param-name>
<param-value>true</param-value>
</context-param>
<context-param>
<param-name>javax.faces. FACELETS_LIBRARIES</param-name>
<param-value>/WEB-INF/springsecurity.taglib.xml</param-value>
</context-param>

<filter>
<filter-name>browserCacheControlFilter</filter-name>
<filter-class>com.dhl.finFw.web.filter. BrowserCacheControlFilter</filter-class>
</filter>
<filter>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<filter-class>org.primefaces.webapp.filter. FileUploadFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>PrimeFaces FileUpload Filter</filter-name>
<servlet-name>Faces Servlet</servlet-name>
</filter-mapping>

<filter-mapping>
<filter-name>springSecurityFilterChain</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<filter-mapping>
<filter-name>fileNotFoundFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>

<filter-mapping>
<filter-name>browserCacheControlFilter</filter-name>
<url-pattern>/pages/protected/integration/subscriptionScheduler.xhtml</url-pattern>
</filter-mapping>

<error-page>
<exception-type>org.springframework.security.access. AccessDeniedException</exception-type>
<location>/pages/public/error/accessDenied.xhtml</location>
</error-page>
<error-page>
<exception-type>java.lang. Throwable</exception-type>
<location>/pages/public/error/internal.xhtml</location>
</error-page>
<error-page>
<error-code>500</error-code>
<location>/pages/public/error/internal.xhtml</location>
</error-page>
<error-page>
<error-code>404</error-code>
<location>/pages/public/error/notFound.xhtml</location>
</error-page>
<error-page>
<error-code>403</error-code>
<location>/pages/public/error/accessDenied.xhtml</location>
</error-page>
</web-app>

   public class ViewScope implements Scope {

private Logger logger = LoggerFactory.getLogger(getClass());

public static final String VIEW_SCOPE_CALLBACKS = "viewScope.callbacks";