2015-03-21 2 views
0

Моим вариантом использования является обработка 50 файлов csv и загрузка их в базу данных MySQL с использованием модуля задания весны xd filejdbc.Весна xd пул подключений для модуля/job/filejdbc

Для этого я настроил источник данных пула соединений в весенне-XD-1.0.0.RELEASE \ XD \ Config \ servers.yml как:

весна: DataSource: URL: JDBC: MySQL: // локальный: 3306/spring_xd Имя пользователя: springxd пароль: springxd driverClassName: com.mysql.jdbc.Driver maxActive: 75 maxIdle: 10 minIdle: 10 initialSize: 10 maxWait: 30000 validationQuery: выберите 1 validationInterva л: 30000 testOnBorrow: истинно testOnReturn: ложные testWhileIdle: ложные timeBetweenEvictionRunsMillis: 10000 minEvictableIdleTimeMillis: 60000 removeAbandoned: истинная removeAbandonedTimeout: 300 logAbandoned: истинные

Когда singlenode начинается весной XD инициализирует этот пул.

Но проблема в том, что когда задание filejdbc запускает его снова, инициализирует пул соединений с указанными выше конфигурациями. Поскольку \ spring-xd-1.0.0.RELEASE \ xd \ config \ modules \ job \ filejdbc \ filejdbc.properties использует те же конфигурации пула подключений с серверов.yml

Данные файлов csv загружаются только в базу данных используя filejdbc connectionpool, а не весну xd.

Из-за этого мои соединения db заканчиваются.

Теперь, когда я уменьшаю соединение на серверах.yml до макс. Активного 20, а когда запускается задание, Spring xd выбрасывает исключение пула соединений, так как у меня есть 50 загружаемых файлов csv.

Я просто не могу настроить server.xml max активным до 10 для базы данных весны xd и файловой файловой системы maxactive до 60 для моей пользовательской базы данных, так что 50 файлов могут быть загружены при запуске задания filejdbc. Это всегда выдает исключение выключения соединения.

Просьба сообщить.

деталь, как показано ниже: весны XD версия - весна-XD-1.0.0.RELEASE в singlenode версии Java - JDK 7 среды - окна

+0

Сколько контейнеров в этой работе запущена в? Кроме того, зачем вам одно подключение к файлу? –

ответ

0

Существует ошибка в локальной шине сообщения, где все разделы выполняются одновременно. В вашем случае это приведет к тому, что пул соединений будет исчерпан. Мы открыли для этого ошибку - https://jira.spring.io/browse/XD-2868.

Пока это не исправлено, вы можете работать с другой шиной сообщений, такой как Redis или RabbitMQ, и вы должны увидеть, что ваша работа завершена. Вы можете попробовать, запустив сервер Redis, а затем начать singlenode с:

xd-singlenode --transport redis

Смежные вопросы