Passa ai contenuti principali

Wildfly 9 configurare un pool verso postgresql

Configurare un pool di connessione al database sembra una operazione semplice, ma si può finire per sprecare un sacco di tempo prezioso...

Preparazione :

scaricare il driver jdbc del database:
nel mio caso : postgresql-9.3-1102.jdbc41.jar

per poter creare il pool dobbiamo creare prima un modulo per il driver:

Modulo :

sotto la cartella principale di wildfly creare il seguente percorso :
  cartellawildfly/modules/org/postgres/main/

in questa cartella copiamo il file postgresql-xxxxx.jdbc41.jar e creiamo un file di nome module.xml

il file module.xml avrà il seguente contenuto : 

<?xml version="1.0" ?>

<module xmlns="urn:jboss:module:1.1" name="org.postgres">

    <resources>
        <resource-root path="postgresql-9.3-1102.jdbc41.jar"/>
    </resources>

    <dependencies>
        <module name="javax.api"/>
        <module name="javax.transaction.api"/>
    </dependencies>

</module>

una volta fatto questo abbiamo dato a wildfly le informazioni necessarie sul driver.

Datasource :

a questo punto andiamo a modificare un altro file per aggiungere il pool:
cartellawildfly/standalone/configuration/standalone.xml
aprendo il file con un editor di testo andiamo a cercare il punto dove sono contenute le info sui datasource, per l'esattezza i tag <datasources></datasources> li delimitano.
quindi al loro interno potremmo incollare un descrittore simile a questo :

<datasource jta="true" jndi-name="java:jboss/PostgresDSPool" pool-name="PostgresDSPool" enabled="true" use-ccm="false">
                    <connection-url>jdbc:postgresql://localhost/postgresdb</connection-url>
                    <driver-class>org.postgresql.Driver</driver-class>
                    <driver>postgres</driver>
                    <transaction-isolation>TRANSACTION_READ_COMMITTED</transaction-isolation>
                    <pool>
                        <min-pool-size>5</min-pool-size>
                        <max-pool-size>20</max-pool-size>
                    </pool>
                    <security>
                        <user-name>postgresus</user-name>
                        <password>postgrespwd</password>
                    </security>
                    <validation>
                        <validate-on-match>false</validate-on-match>
                        <background-validation>false</background-validation>
                    </validation>
                    <statement>
                        <share-prepared-statements>false</share-prepared-statements>
                    </statement>
                </datasource>
              
                <drivers>
              
                  
                    <driver name="postgres" module="org.postgres">
                        <driver-class>org.postgresql.Driver</driver-class>
                    </driver>
              
                </drivers>


Cercare inoltre il default-bindings se si è rimosso il contenuto del datasource di default e modificarlo come segue :

    <default-bindings context-service="java:jboss/ee/concurrency/context/default" 
                   datasource="java:jboss/PostgresDSPool" 
                   managed-executor-service="java:jboss/ee/concurrency/executor/default" 
                   managed-scheduled-executor-service="java:jboss/ee/concurrency/scheduler/default" 
                   managed-thread-factory="java:jboss/ee/concurrency/factory/default"/>

dove i parametri da settare a proprio piacimento sono :
nome del datasource :    java:jboss/PostgresDSPool
nome dell'host del server o ip del db : localhost

nome del database : postgresdb
nome utente : postgresus
password utente  : postgrespwd


a questo punto possiamo riavviare wildfly ed andare a testare la connessione:
per accedere al pannello di amministrazione, ammesso che il server sia su localhost :
http://localhost:9990/console
se non accede esce un messaggio che vi indica le modalità di creazione di un utente.
sulla sinistra : connector -> datasources
selezionate la riga postgresdspool, in basso connection e quindi test.
se la connessione non riesce andate a leggere i log per capire se avete sbagliato l'utente (postgresus) la password ( nell'esempio è postgrespwd ) o il database ( postgresdb ) o altro.

Commenti

Posta un commento

Post popolari in questo blog

Blender e gli scacchi fatti in casa con una stampante 3d

Un giorno ho deciso di provare una stampante 3D, e per prepararmi ho scelto di imparare a usare Blender. Sembrerà ovvio, ma per me questa decisione era cruciale: non trovavo alcuna gioia nell'idea di stampare solo modelli creati da altre persone. Volevo essere autonomo. Se mi fosse servito un ingranaggio, un coperchietto o qualsiasi altro oggetto, volevo essere in grado di disegnarlo e poi stamparlo. Se un giorno deciderete di acquistare una stampante 3D, vi do lo stesso consiglio: imparate prima a usare un programma di disegno 3D. C'è molta più soddisfazione nel stampare qualcosa che avete creato voi stessi. Ho scelto Blender come strumento di apprendimento perché è un software open source. Non solo è gratuito, ma è aperto a contributi da parte di tutti, un grande vantaggio per chi cerca flessibilità e innovazione. Così, prima ancora di acquistare la stampante, ho scaricato Blender dal sito ufficiale www.blender.org , l'ho installato e ho iniziato con il mio primo tutorial...

Installazione application server wildfly

Wildfly è l'erede dell'application server JBOSS. poichi semplici passi da ricordare come guida minima di installazione... prerequisiti: JAVA è consigliato installare l'ambiente java di ORACLE # da root o sudo cd /opt # scaricate il wildfly che vi interessa: # http://wildfly.org/downloads/ # io farò riferimento alla versione wildfly-8.2.0.Final voi sostituitela con la vostra wget http://download.jboss.org/wildfly/8.2.0.Final/wildfly-8.2.0.Final.tar.gz tar xfvz wildfly-8.2.0.Final.tar.gz ln -s /opt/wildfly-8.2.0.Final /opt/wildfly # Copia ed edita il file init di configurazione cp /opt/wildfly/bin/init.d/wildfly.conf /etc/default/wildfly.conf nano /etc/default/wildfly.conf # modifica alcune configurazioni secondo le tue necessità ## Location of WildFly JBOSS_HOME="/opt/wildfly" ## The username who should own the process. JBOSS_USER=wildfly ## The mode WildFly should start, standalone or domain JBOSS_MODE=standalone ## Configuration...

Gnome cambia l'immagine di sfondo ogni tot minuti

Ci sono molti programmi wallpaper changer che promettono di cambiare lo sfondo di gnome o ubuntu, ma a me non funzionano. Cambiare lo sfondo selezionandolo a caso in una cartella delle immagini, sembra una cosa semplice, ed in effetti lo è :). Vediamo come svincolarci dal sistema operativo e dai tool grafici. Utilizzeremo gconf tool ,  python e crontab. nella nostra cartella home creiamo una cartella bin $ mkdir bin spostiamoci in bin e creiamo un file per cambiare lo sfondo $ cd bin $ gedit -w cambiaSfondo.sh con questo contenuto : PID=$(pgrep gnome-session) export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-) set DISPLAY=:0 set GSETTINGS_BACKEND=dconf /usr/bin/python /home/ NOMEUTENTE /bin/randomWall.py attenti a cambiare NOMEUTENTE con il vostro nome utente!!! dopo di che creiamo il file python che sorteggia lo sfondo e lo applica $ gedit randomWall.py con il seguente contenuto : #!/usr/bin/python import o...