Comment puis-je commencer et de continuer à fonctionner de hsqldb en mode serveur à partir de l'intérieur de mon application web?
Je ne veux pas l'utiliser en mode incorporé comme je l'ai peut permettre à d'autres applications externes d'accéder ainsi. Et je veux exécuter le démarrage du serveur en même temps que Tomcat charge de ma demande (ou tout simplement quand tomcat fonctionne d'ailleurs). C'est donc que je n'ai pas de demander aux clients d'exécuter manuellement hsqldb avec une commande ou un script avant de pouvoir mettre mon war dans tomcat et l'exécuter (pour garder les choses simples).
Je peux peut-être appeler Serveur de main, par l'envoi de la commande à partir de Java, mais cela va me donner un interminable fil, je ne suis pas sûr de la façon de les gérer. Est-il plus facile testé façon de le faire?
OriginalL'auteur Ravish Bhagdev | 2010-09-07
Vous devez vous connecter pour publier un commentaire.
Selon la HSQLDB Documentation est possible de démarrer la base de données à partir du Code Java:
http://hsqldb.org/doc/2.0/guide/listeners-chapt.html#listeners_appstart-sect. Ainsi, vous pouvez utiliser une servlet pour charger la base de données lorsque l'application web de départ. La procédure doit être la suivante:
Créer une Servlet "InitDatabase" et de mettre le code pour démarrer la base de données sur la méthode init()
Dans votre web.xml ajout de la propriété charger au démarrage et 1. Cet appel à la méthode init() lorsque l'Application Web de départ.
Après ce faire, l'Application Web va commencer à HSQLDB dans un nouveau Thread. L'arrêt de la base de données lorsque l'application s'arrête, vous pouvez remplacer la méthode destroy() de InitServlet. Dans la méthode de détruire, vous devez exécuter la commande "SHUTDOWN" normal requête sql (via JDBC).
OriginalL'auteur Ernesto Campohermoso
Vous pouvez utiliser HSQLDB sur le site web/serveur d'application en mode incorporé et autoriser les applications externes pour l'accès en exécution de l'org.hsqldb.serveur.Servlet sur votre site web/serveur d'application. Les applications externes se connecte ensuite à la servlet utilisant jdbc:hsqldb:http: de type url.
Si vous souhaitez exécuter org.hsqldb.serveur.Serveur (la version 2.0 de la classe), ou org.hsqldb.Serveur, en tant que processus distinct comme Tomcat, vous pouvez utiliser la classe org.hsqldb.util.MainInvoker à l'appel de la méthode principale pour plusieurs classes (ex: Tomcat et HSQLDB Serveur) avec le Serveur appelé en premier.
OriginalL'auteur fredt