Comment arrêter correctement la base de données en mémoire de Derby

Je suis en utilisant le derby à une base de données intégrée. De plus, je suis à l'aide de sa base de données en mémoire option pour mes tests unitaires.

Ce que je ne peux pas savoir comment éteindre (Un petit coup d'oeil sur le code) la base de données Derby. Je crois que j'ai de travailler pour une base de données standard, mais je suis différent des exceptions lors de la tentative de code similaire sur une base de données en mémoire.

Je vais omettre les détails, je vais les ajouter si d'autres jugent nécessaires.

En gros, je suis en train de fermer ma base de données dans ces deux modes d'où ma base de données en mémoire est toujours appelé "eh":

DriverManager.getConnection("jdbc:derby:memory:eh;shutdown=true");

alors:

DriverManager.getConnection("jdbc:derby:eh;shutdown=true");

L'ancien résultats dans une exception, mais pas celui attendu. Les détails sont les suivants:

java.sql.SQLNonTransientConnectionException: Base de données "mémoire:eh' arrêt.

Les derniers résultats en

java.sql.SQLException: Base de données 'eh' introuvable.

Fondée sur ce que j'ai pu comprendre, nous voulons un SQLException mais pas ce que nous recevons. D'autre part, la SQLNonTransientConnectionException erreur semble plus approprié, mais ce n'est pas le type (bien que c'est un dérivé du SQLException) ni n'a le droit de l'état. Le code de l'état à la fin: 08006.

L'exemple de code que j'ai montre que SQLException avec un SQL état de "XJ015".

Remarque: L'exemple je suis référencement est: WwdEmbedded Programme (Le Code Java).

source d'informationauteur Frank V