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

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...

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...

configurazione bridge e kvm su debian like / ubuntu

Configurazione scheda BRIDGE  Per prima cosa diciamo che una scheda bridge è una scheda virtuale, che si appoggia ad una scheda fisica e permette di far collegare altre schede virtuali tramite la sua configurazione alla rete esterna. Il mio caso d'uso è utilizzarla per permettere a delle macchine virtuali di uscire sulla rete come se fossero altri computer collegati alla stessa. Le configurazioni di seguito sono riferite a sistemi debian based. immaginiamo che la nostra rete principale sia : eth0 con ip 192.168.1.99/24 significa che questa configurazione la troviamo nel file /etc/network/interfaces iface eth0 inet static address 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1 diventa in versione bridge : iface eth0 inet manual # Bridge setup iface br0 inet static bridge_ports eth0 address 192.168.1.99 broadcast 192.168.1.255 netmask 255.255.255.0 gateway 192.168.1.1 ...