Sabato, 13 Luglio 2019 22:54

OpenXava: "Errors trying to obtain data list" con MySchool

Usando l'applicazione esempio "MySchool" dal pacchetto 6.1.2 ( https://www.openxava.org/downloads/ ) si ottengono degli errori e non funziona, malgrado si proceda come indicato nella guida "Quick start" ( https://www.openxava.org/OpenXavaDoc/docs/quick-start_en.html ).

Accedendo alla pagina principale dell'applicazione si ottengono le due seguenti righe di errore:

Impossible to execute Init list action: Transaction marked as rollbackOnly

Errors trying to obtain data list

1. Causa

Le cause sono:

  • la configurazione del datasource è errata.

  • il database HSQLDB è disattivato;

Entrambi gli elementi non sono citati nella guida "Quick start".

2. Soluzione

Premessa: le seguenti indicazioni presuppongono il pacchetto OpenXava 6.1.2 senza alcuna modifica e installato come descritto nella guida "Quick start".

Per risolvere è sufficiente correggere la configurazione del datasource e lanciare il database.

2.1. Correzione della configurazione

  1. Editare il file ~/openxava-6.1.2/tomcat/conf/context.xml

  2. modificare il datasource MySchoolDS come segue

    NB 1: le stringhe in oggetto si trovano in fondo al file

    NB 2: riporto le righe originali impostate come commento e sotto la configurazione corretta

...
<!-- Resource name="jdbc/MySchoolDS" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="5" maxWait="10000"
username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:file:../data/my-school-db"/ -->

<Resource name="jdbc/MySchoolDS" auth="Container" type="javax.sql.DataSource"
maxActive="20" maxIdle="5" maxWait="10000"
username="sa" password="" driverClassName="org.hsqldb.jdbcDriver"
url="jdbc:hsqldb:hsql://localhost:1667"/>
...

2.2. Avvio del database HSQLDB

NB: l'avvio qui descritto del database viene fatto da terminale. Per mantenere avviato il database dobbiamo mantenere aperto il terminale per tutto il tempo che intendiamo usare l'applicazione MySchool.

  1. Puntarsi nella directory "bin" di Tomcat

cd ~/openxava-6.1.2/tomcat/bin/

  1. dare il seguente comando

./start-hsqldb.sh my-school-db 1667

NB: la porta del database usata da MySchool si trova scritta nel file ~/openxava-6.1.2/workspace/MySchool/data/my-school-ds.xml

2.3. Avvio di MySchool

A questo punto possiamo usare MySchool.

Rispetto alla guida "Quick start" per il promo avvio i passi sono i seguenti (in evidenza le varianti rispetto alla guida ufficiale):

  1. correggere la configurazione in context.xml

  2. avviare il database HSQLDB

  3. avviare Tomcat

  4. avviare Eclipse e deploiare l'applicazione MySchool

  5. accedere all'applicazione ( http://localhost:8080/MySchool/modules/Teacher ).

Questo sito utilizza cookie, anche di terze parti, per migliorare la tua esperienza e offrire servizi in linea con le tue preferenze. Chiudendo questo banner, scorrendo questa pagina o cliccando qualunque suo elemento acconsenti all’uso dei cookie. Se vuoi saperne di più o negare il consenso a tutti o ad alcuni cookie vai alla sezione Cookie Policy.