Я развернул Jackrabbit 2.6.4 в Glassfish 4 с помощью jackrabbit-jca-2.6.4.rar.
Все работает, когда я использую следующую конфигурацию (Derby через JDBC):
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.DerbyPersistenceManager">
<param name="url" value="jdbc:derby:${wsp.home}/db;create=true"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
но когда я переключаюсь на это (Mysql через источник данных):
<PersistenceManager class="org.apache.jackrabbit.core.persistence.pool.MySqlPersistenceManager">
<param name="url" value="jdbc/MySQLDataSource"/>
<param name="driver" value="javax.naming.InitialContext"/>
<param name="schemaObjectPrefix" value="${wsp.name}_"/>
</PersistenceManager>
Я настроил пул подключений Mysql JDBC и ресурс подключения JDBC (jdbc / MySQLDataSource) в Glassfish и поместил mysql-connector-java-5.1.26-bin.jar в каталог domain / lib. Я могу успешно пропинговать базу данных через страницу Glassfish JDBC Connection Pool в пользовательском интерфейсе администратора.
Мне что-то не хватает в конфигурации JackRabbit PersistanceManager?
ОБНОВЛЕНИЕ 1
Если я не использую свой источник данных, а вместо этого использую URL-адрес JDBC в моей конфигурации PersistanceManager для подключения к базе данных, он работает должным образом.
Оказывается, пул соединений Mysql JDBC был настроен неправильно.