2009-10-19 6 views
0

J'essaie de créer une application Web en utilisant GWT. Dans mon application, j'utilise MySQL comme base de données. J'ai essayé d'utiliser un pool de connexions pour contrôler le nombre de connexions à la base de données. Toutefois, Google Web Toolkit ne prend pas en charge CachedRowSet, ce qui m'empêche de fermer les connexions. Est-ce que quelqu'un sait marcher pour ça? (sauf faire une copie profonde du ResultSet)La boîte à outils Web de Google ne fonctionne pas avec CachedRowSet

Répondre

0

Je pense que la meilleure approche serait de faire une copie profonde du jeu de résultats dans une liste de cartes . Chaque élément de la liste serait une carte ou la ligne de l'ensemble de résultats où la clé de la carte est le nom de la colonne et la valeur est la valeur de la colonne. Si vous voulez synchroniser les données depuis le client, ce serait un peu plus compliqué.

0

Vous devez vous rendre compte que même si vous écrivez GWT en Java, il a été compilé en Javascript. Maintenant, asseyez-vous et pensez à la façon dont le javascript sur le terrain de quelqu'un va fermer vos connexions sur votre serveur. Votre intention semble être un fardeau paresseux du côté des clients, et cela n'arrivera tout simplement pas. Une fois que vous aurez franchi cet obstacle mental, les choses se dérouleront beaucoup plus facilement :)

Si vous voulez utiliser GWT, vous devez repenser votre approche. Vous devez vous rappeler que toutes vos données sont déconnectées de votre serveur une fois qu'il est utilisé dans le code GWT, et fonctionne comme javascript une fois compilé. Alors oui, vous devez déplacer vos données dans les POJO appropriés et les transmettre au client à la place. Ne devenez pas fou et essayez de transférer toute votre base de données à votre client, extrayez simplement les pièces dont vous avez besoin ...

+0

En fait, la question n'est pas aussi illogique que votre réponse le laisse croire. Un CachedRowSet peut être vu comme un ensemble déconnecté de résultats. L'une de ses utilisations est de transmettre des données en arrière et en avant entre le serveur et un client léger. – BenM

Questions connexes