FUSE ESB, Hibernate, MySQL
Я создаю приложение cxf, которое будет работать под FUSE ESB.
Обычно я создавал приложение только для обмена данными, но теперь мне нужно создать приложение, которое будет иметь связь с MySQL.
Я начал собирать конфигурацию в cxf, но нашел одну проблему.
Когда я добавляю класс:
com.mchange.v2.c3p0
к моему <Import-Package>
мое приложение исчезает из доступного приложения cxf на FUSE ESB.
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>2.1.0</version>
<extensions>true</extensions>
<configuration>
<instructions>
<Bundle-SymbolicName>${project.artifactId}</Bundle-SymbolicName>
<Import-Package>
......
com.mchange.v2.c3p0,
......
<DynamicImport-Package>...</DynamicImport-Package>
</instructions>
</configuration>
</plugin>
Когда я удаляю com.mchange.v2.c3p0
из pom.xml, приложение появляется.
Что мне нужно сделать?
1 ответ
Я предполагаю, что ваш пакет не запускается, потому что не может разрешить зависимость com.mchange.v2.c3p0. По умолчанию FuseESB не содержит зависимостей C3P0, поэтому вам необходимо включить их в свой проект или развернуть их в виде отдельного пакета.
Если вы предоставляете зависимость в своем собственном пакете, вы должны экспортировать пакеты c3p0 или добавить их как частный пакет. Что-то вроде этого
...
<Private-Package>
...
com.mchange.*
...
</Private-Package>
...
Конечно, вам нужно добавить зависимость maven для c3p0 в вашем pom.
В любом случае, вы должны прочитать запись в блоге Лукаша.