Проблема
С помощью Spring объявляет источник данных как ” org.apache.commons.dbcp. Базовый источник данных
“. При развертывании в WebSphere все работает идеально.
Файл: spring-datasource.xml
classpath:config/database/database.properties
Однако при перезапуске веб-приложения в WebSphere оно получает следующее исключение:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'dataSource' defined in class path resource [config/database/spring/spring-datasource.xml]: Instantiation of bean failed; ...... Caused by: java.lang.ExceptionInInitializerError at java.lang.J9VMInternals.initialize(J9VMInternals.java:222) at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) ... 114 more Caused by: java.util.ConcurrentModificationException at java.util.AbstractList$SimpleListIterator.next(Unknown Source) at java.sql.DriverManager.getDrivers(Unknown Source) at org.apache.commons.dbcp.BasicDataSource.(BasicDataSource.java:57) at java.lang.J9VMInternals.initializeImpl(Native Method) at java.lang.J9VMInternals.initialize(J9VMInternals.java:200) ... 121 more
Похоже, что источник данных (BasicDataSource) вызывает ” java.util. Исключение ConcurrentModificationException
“.
Решение
Вам нужно использовать источник данных WebSphere, а не ” org.apache.commons.dbcp. Базовый источник данных
“. Чтобы исправить это, просто зарегистрируйте источник данных WebSphere и введите имя jndi, например ” jdbc/что-нибудь DS “. Весной объявляет источник данных jdni следующим образом:
Файл: spring-datasource.xml
При разработке WebSphere вы должны следовать способу работы WebSphere.
Оригинал: “https://mkyong.com/websphere/basicdatasource-causing-java-util-concurrentmodificationexception-in-websphere/”