Контейнер приложения My Jersey закрывается с сообщением об исключении ниже.
java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_0,0,1879131528) has been shut down
at org.jvnet.hk2.internal.ServiceLocatorImpl.checkState(ServiceLocatorImpl.java:2288)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandleImpl(ServiceLocatorImpl.java:629)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:622)
at org.jvnet.hk2.internal.ServiceLocatorImpl.getServiceHandle(ServiceLocatorImpl.java:640)
at org.jvnet.hk2.internal.FactoryCreator.getFactoryHandle(FactoryCreator.java:103)
... 59 common frames omitted
Wrapped by: org.glassfish.hk2.api.MultiException: A MultiException has 1 exceptions. They are:
1. java.lang.IllegalStateException: ServiceLocatorImpl(__HK2_Generated_0,0,1879131528) has been shut down
При появлении вышеуказанной ошибки приложение не может обработать запрос. Он многократно показывает одно и то же сообщение, а также
мой весенний контейнер приложений также не работает. Ниже приведено сообщение об ошибке, которое я получаю многократно.
org.springframework.beans.factory.BeanCreationNotAllowedException: Error creating bean with name 'daoQuery': Singleton bean creation not allowed while the singletons of this factory are in destruction (Do not request a bean from a BeanFactory in a destroy method implementation!)
java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext
Моя версия Glassfish Jersey - 2.22.2.
Вышеуказанное происходит только при большой нагрузке.
Мы проанализировали проблему и обнаружили, что эта проблема возникает в нескольких сценариях.
- Истекло время ожидания балансировщика нагрузки
- Джерси Hk2 конфликт
Мы исправили эти две точки, но все же мы получаем ту же ошибку при большой нагрузке.
Есть ли способ предотвратить или исправить проблему?