2015-12-09 2 views
0

Я использую postgres в WildFly Full 9.0.1.Final. К сожалению, для задачи, которая должна быть простой, у нас было 2 человека, которые пытались в течение нескольких дней выяснить, как это сделать.Как добавить источник данных PostgreSQL в WildFly Full 9.0.1.Final?

Я должен добавить, что я использую Docker, и когда я создаю изображение докера, я пытаюсь использовать различные способы добавления поддержки Postgres в WildFly Full 9.0.1.Final.

Мы попытались следующее:

пакетный файл

batch 
connect 
#module add --name=org.postgres --resources=/opt/jboss/wildfly/psql-jdbc.jar --dependencies=javax.api,javax.transaction.api 

#module add --name=org.postgres --resources=/opt/jboss/wildfly/postgresql-9.3-1101.jdbc41.jar --dependencies=javax.api,javax.transaction.api  
module add --name=org.postgresql --slot=main --resources=/opt/jboss/wildfly/postgresql-9.3-1101.jdbc41.jar --dependencies=javax.api,javax.transaction.api 

#/subsystem=datasources/jdbc-driver=postgresql:add(driver-name="postgresql",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver) 
#datasources/jdbc-driver=postgresql:add(driver-name=postgresql,driver-module-name=org.postgresql,driver-xa-datasource-class-name=org.postgresql.xa.PGXADataSource) 
/subsystem=datasources/jdbc-driver=postgres:add(driver-name="org.postgresql",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver) 


#The batch failed with the following error (you are remaining in the batch editing mode to have a chance to correct the error): {"WFLYCTL0062: Composite operation failed and was rolled back. Steps that #failed:" => {"Operation step-1" => "WFLYJCA0041: Failed to load module for driver [org.postgresql]"}} 


#/subsystem=datasources/jdbc-driver=postgres:add(driver-name="postgres",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver) 




# Add the datasource 
#data-source add --jndi-name=java:jboss/datasources/ISDS --name=pu-magick --connection-url=jdbc:postgresql://UI_PG_DATABASE:5432/magick --driver-name=postgresql --user-name=magick --password=magick 
run-batch 

В Dockerfile

ADD modules /opt/jboss/wildfly/modules/ 

Эта попытка привела:

Caused by: java.lang.IllegalStateException: No layers directory found at /opt/jboss/wildfly/modules/system/layers 
    at org.jboss.modules.LayeredModulePathFactory.resolveLayeredModulePath(LayeredModulePathFactory.java:65) 
    at org.jboss.modules.LocalModuleFinder.getRepoRoots(LocalModuleFinder.java:111) 
    at org.jboss.modules.LocalModuleFinder.<init>(LocalModuleFinder.java:107) 
    at org.jboss.modules.LocalModuleFinder.<init>(LocalModuleFinder.java:88) 
    at org.jboss.modules.LocalModuleLoader.<init>(LocalModuleLoader.java:57) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at org.jboss.modules.DefaultBootModuleLoaderHolder$1.run(DefaultBootModuleLoaderHolder.java:37) 
    at org.jboss.modules.DefaultBootModuleLoaderHolder$1.run(DefaultBootModuleLoaderHolder.java:33) 
    at java.security.AccessController.doPrivileged(Native Method) 
    at org.jboss.modules.DefaultBootModuleLoaderHolder.<clinit>(DefaultBootModuleLoaderHolder.java:33) 
    ... 1 more 

Добавление драйвера в папку развертывания

Я нашел в прошлом, что драйвер базы данных могут быть добавлены в JBoss, добавив банку в каталог развертывания. Это, на мой взгляд, примерно так же сложно, как и должно быть.

Итак, я также попытался скопировать postgresql-9.3-1101.jdbc41.jar в /opt/jboss/wildfly/standalone/deployments/

DockerFile

FROM wildflyext/wildfly-camel 
MAINTAINER ah <[email protected]> 

ENV TMPDIR /tmp/ 
ENV WFDIR /opt/jboss/wildfly/ 

RUN /opt/jboss/wildfly/bin/add-user.sh admin admin --silent 






## COPY PG MODULE TO SERVER 
#ADD module.xml opt/jboss/wildfly/modules/ 
#ADD standalone.xml $WFDIR/standalone/configuration/ 
#ADD system /opt/jboss/wildfly/modules/ 



## COPY PG DRIVER TO SERVER 
#ADD postgresql-9.3-1101.jdbc41.jar /opt/jboss/wildfly/standalone/deployments/ 
#ADD postgresql-9.3-1101.jdbc41.jar /opt/jboss/wildfly/ 

#ADD psql-jdbc.jar $WFDIR/standalone/deployments/ 



## COPY STANDALONE TO SERVER 
ADD standalone-camel.xml /opt/jboss/wildfly/standalone/configuration/ 


ADD config.sh $TMPDIR 
ADD batch.cli $TMPDIR 
RUN $TMPDIR/config.sh 


#CMD ["-c", "standalone-camel.xml"] # loads correct standalone, cannot access mgmt console - connection interupted 
#CMD ["-b", "0.0.0.0", "-c", "standalone-camel.xml"] # does not load correct standalone, cannot access mgmt console - connection interupted 
#CMD ["-c", "standalone-camel.xml"m "-b", "0.0.0.0"] # WFLYSRV0073: Invalid option '/bin/sh' 
#CMD ["-c", "standalone-camel.xml", "-b", "0.0.0.0"] # loads correct standalone, cannot access mgmt console - connection interupted 

# attempt with two CMDs = loads incorrect standalone - standalone.xml, not standalone-camel.xml, cannot access mgmt console - connection interupted 
#CMD ["-c", "standalone-camel.xml"] 
#CMD ["-b", "0.0.0.0"] 

# attempt with NO CMDs 
+0

Не могли бы вы поделиться файлом Dockerfile? –

+0

Вы посмотрели http://stackoverflow.com/questions/32332782/how-to-add-module-to-wildfly-using-cli? –

+0

Привет, @aparna, да, это на самом деле мой пост - от попытки в основном сделать то же самое. Через 3 месяца я все еще пытаюсь. – Magick

ответ

0

Решение было следующим: В файле Cli, мне нужно было следующее - клещ был правильным Именование:

module add --name=org.postgresql --slot=main --resources=/opt/jboss/wildfly/postgresql-9.3-1101.jdbc41.jar --dependencies=javax.api,javax.transaction.api 


/subsystem=datasources/jdbc-driver=postgresql:add(driver-name="postgresql",driver-module-name="org.postgresql",driver-class-name=org.postgresql.Driver) 

И мне нужно было удалить этот драйвер fr независимо от того, как он будет сталкиваться с вышеуказанными инструкциями.

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