Перевод в спящий режим spatial и PostGIS с WildFly 8

#hibernate #postgresql #postgis #wildfly-8 #hibernate-spatial

#переход в спящий режим #postgresql #postgis #wildfly-8 #спящий режим-пространственный

Вопрос:

Я выполняю миграцию с Glassfish4 на сервер приложений WildFly8 и получаю следующую ошибку:

 Can't convert object of type org.postgresql.util.PGobject
  

Я использую спящий режим Spatial и PostGIS. Для сервера Glassfish я добавил файл postgis jar в папку / lib / ext, чтобы исправить эту ошибку.

Я следовал инструкциям в этом руководстве:https://gist.github.com/bjornharrtell/3054462, но у меня это не работает, т.е. я добавил эти модули в /org / hibernate /main :

 hibernate-spatial-4.3.jar
resource-root path="jts-1.13.jar
  

и эти записи для modules.xml:

 <resource-root path="hibernate-spatial-4.3.jar"/>
<resource-root path="jts-1.13.jar"/>
...
<module name="org.postgresql"/>
  

и в /org/postgresql/main:

 postgresql-9.3-1101.jdbc41.jar
postgis-jdbc-1.5.3.jar
  

полный modules.xml:

 <?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.1" name="org.postgresql">
<resources>
    <resource-root path="postgresql-9.3-1101.jdbc41.jar"/>
    <resource-root path="postgis-jdbc-1.5.3.jar"/>
</resources>
<dependencies>
    <module name="javax.api"/>
    <module name="javax.transaction.api"/>
</dependencies>
</module>
  

Я также пытался просто добавить jars в WEB-INF / lib, но когда я добавляю ‘Dependencies: org.postgresql export’ в MANIFEST.MF, я получаю:

 org.jboss.modules.ModuleNotFoundException: org.postgresql:main
  

Есть идеи, как я могу получить postgis, спящий режим-spatial и т.д. все классы загружены правильно?

Приветствую, Доминик

Ответ №1:

Решил это! Нашел аналогичную настройку для моего сервера по адресу:https://github.com/opennucleus/opennucleus и я посмотрел на различия. Оказывается, в standalone.xml Я должен был поместить:

 <driver name="postgresql-driver" module="org.postgresql">
                    <driver-class>org.postgresql.Driver</driver-class>
                </driver>
  

вместо:

 <driver name="postgresql" module="org.postgresql">
   <xa-datasource-class>org.postgresql.xa.PGXADataSource</xa-datasource-class>
</driver>
  

Теперь все работает отлично!