Salve,
Io ho un applicazione che lavora attraverso il framework hibernate su un database derby, è possibile fare in modo che altre applicazioni sempre attraverso hibernate lavorino sullo stesso database ?
Salve,
Io ho un applicazione che lavora attraverso il framework hibernate su un database derby, è possibile fare in modo che altre applicazioni sempre attraverso hibernate lavorino sullo stesso database ?
Il problema/questione non è tanto di Hibernate (che è solo uno "strato" software di mappatura). Il vero problema è cosa c'è "sotto", ovvero quale motore di database viene usato.Originariamente inviato da tritrillidan
Io ho un applicazione che lavora attraverso il framework hibernate su un database derby, è possibile fare in modo che altre applicazioni sempre attraverso hibernate lavorino sullo stesso database ?
La documentazione di Derby per i database "embedded" dice, riporto pari pari:
Derby supports multiple connections to a given database. An example of an embedded application that manages concurrent users is a Tomcat or Geronimo application server that embeds Derby. Any number of users can execute Web applications that access a database through that Web server.
However, only one JVM may boot ("open") that database, so multiple applications running in different JVMs cannot access the same database.
Quindi per la tua domanda: no, in questo caso applicazioni differenti (nemmeno la stessa applicazione che "gira" in due JVM distinte) non possono usare lo stesso database embedded contemporaneamente.
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
si hai perfettamente ragione, infatti mentre aspettavo una risposta avevo letto quella documentazione e anche quella parte che hai citato tu.
Continuando nella lettura però ho trovato anche un'altra cosa , ovvero è possibile far si che applicazioni diverse accedano ad un dB se usano in client network di derby per collegarsi al networkServer di derby.
Però ho provato a seguire il tutorial mostrato nella documentazione senza riuscire ad ottenere risultati utili.
prima di tutto nell'esempio si fà riferimento all'installazione di Derby, che io non ho installato ma ho trovato installato in + path dalle varie versioni di netbeans che ho installato.
Nonostante questa incertezza sono andato avanti lavorando sulla cartella di derby cui fà riferimento il mio netbeans ma anche dopo aver avviato il server non riesco a far collegare le app al Server e quindi al DB.
mi sono sorti alcuni interrogativi. nella documentazione si fà riferimento al client attraverso il quela dovrebbero collegarsi le applicazioni ma essenzialmente come faccio a far collegare un'applicazione preconfigurata in un WAR con il client di derby?
Secondo, il db dovrebbe essere creato dal'applicazione, quindi in qst caso questa forma di bridging attraverso il network cient di derby è ancora funzionale ?
Grazie per eventuali risposte
Sì, oltre che come database "embedded", Derby può funzionare nella modalità classica client/server (come altri DBMS del calibro di MySQL e altri). Ovvero c'è un server in ascolto (su una porta) e i vari client si connettono.Originariamente inviato da tritrillidan
Continuando nella lettura però ho trovato anche un'altra cosa , ovvero è possibile far si che applicazioni diverse accedano ad un dB se usano in client network di derby per collegarsi al networkServer di derby.
Se guardi la documentazione "Getting Started with Derby" in particolare le sezioni:
Activity 3: Run a JDBC program using the embedded driver
e
Activity 4: Create and run a JDBC program using the client driver and Network Server
Vedrai bene le differenze, che alla fin fine riguardano principalmente la classe del driver e l'URL di connessione.
String driver = "org.apache.derby.jdbc.EmbeddedDriver";
String connectionURL = "jdbc:derby:nome_del_db;create=true";
oppure
String driver = "org.apache.derby.jdbc.ClientDriver";
String connectionURL = "jdbc:derby://localhost:1527/nome_del_db;create=true";
Andrea, andbin.dev – Senior Java developer – SCJP 5 (91%) • SCWCD 5 (94%)
java.util.function Interfaces Cheat Sheet — Java Versions Cheat Sheet
grazie ho capito cosa sbagliavo ... non avevo impostato correttamente il driver grazie ancora