2016-04-28 2 views
1

С моей недавней попыткой настроить HikariCP с wildfly, интересно, с JCA на месте, должен ли я выполнять стандартные JCA-конфигурации для адаптации пула соединений HikariCP?является HikariCP пулом подачи жалоб JCA?

+0

Зачем вам нужен Hikari в среде Java EE? Сервер приложений выполняет весь процесс объединения. –

+0

Правда, в моем случае я использую железный джакамар, дикой. Но я много слышал об HikariCP, так что думал, я мог бы использовать его. –

ответ

3

Ну, ваш вопрос довольно запутанный. Перейдем к ключевым моментам:

  • Похоже, что вы хотите заменить IronJacamar на HikariCP. Это невозможно. Hikari - это пул соединений JDBC, а IronJacamar - контейнер JCA. Помимо объединения пулов (на самом деле, не только JDBC) контейнер JCA также способен управлять жизненным циклом адаптеров ресурсов, обработкой управляемых сообщениями, преобразованием потоков, связанных с EJB, на вызовах MDB и всем этим.

  • Об использовании HikariCP в качестве адаптера ресурса внутри контейнера JCA: едва ли возможно. Фактически вы можете написать обертку вокруг Hikari для предоставления конфигурации JCA, поскольку JCA - это широкая спецификация без жестких ограничений. Однако это приведет к дополнительным накладным расходам без какого-либо выигрыша. Другой проблемой будет обработка persistence.xml при развертывании: адаптеры ресурсов рассчитаны на жизнь дольше, чем любое другое развертывание. Они являются агностическими для развертывания и просто предназначены для обеспечения некоторого интерфейса, который каждый может использовать. Если вы будете использовать Hikari в качестве адаптера JCA, вам нужно будет предоставить информацию о сохранении через ее спецификацию активации. Единственное яркое место здесь - вы можете зарегистрировать Hikari DataSource в JNDI, обеспечивая надежный исходный путь для вашего persistence.xml. Однако трудно предсказать, будет ли ваш ресурсный адаптер создаваться до или после вашей подсистемы JPA.

  • Нет особых причин для этого. Единственное преимущество, которое может получить Хикари, - это скорость. Java EE не о скорости, а о надежности и стандартизованной архитектуре. Если вам нужна эта скорость, вам лучше остаться на уровне SE, избегая всех накладных расходов на контейнер.

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