2009-03-25 15 views
1

Requirement : JAVA desktop mail client which could connect to existing gmail,y! mail a/c & will allow receive/send mails, support offline view of mails, plus with more features as & when it comes. i am using Java Mail Api'sefficacement Concevoir un courrier simple client

Underlying Mail Storage: I have decided to use HSQLDB with Hibernate. Email content can have attachments , HTML , so i decided to use LONGVARBINARY type to store the email Body & attachments.

Please let me know whether this approach is good & will it give me good performance when it comes to retrieval. Also give me some pointers on how to store java email objects in HSQLDB into LONGVARBINARY type & how to dereference it to get the actual data. ??

2)I am confused over this because , with Approach 1 , i will end up storing all mail contents somehow on my local disk to enable offline viewing. And imagine if i have 1GB of mails >

Répondre

1

Si vous utilisez une approche basée sur les fichiers (et cela ne vous excluez pas d'utiliser une base de données), vous pouvez compresser et décompressez le (s) fichier (s) que vous utilisez pour la persistance lorsqu'il n'est pas utilisé. Puisque vous stockez du texte simple, la compression est susceptible d'être significative et la diminution de la vitesse ne serait pas si mauvaise si vous le faites à des moments intelligemment choisis. Enfer, vous pourriez même en faire une option.

La plus grande chose (pour moi) à considérer ici est le temps de recherche. Que voulez-vous que les utilisateurs puissent rechercher? Si la recherche est importante, j'utiliserais probablement une base de données. Mon approche initiale du problème consisterait à stocker les informations d'objet et d'en-tête (dates, expéditeur, destinataire, etc.) dans des colonnes séparées, puis à sérialiser l'objet entier dans une colonne de données binaires (éventuellement compressée). Cela rendrait les recherches en texte intégral plus longues, mais c'est normal, n'est-ce pas?

+0

Un bon Josh. Techniquement pouvez-vous me dire comment je peux stocker l'objet d'email dans DB. Toute technologie spécifique que j'ai besoin d'utiliser et également sélectionnera simplement les requêtes de recherche et sélectionnez la colonne de données binaires sérialisé pour obtenir le dossier correct ou y at-il quelque chose de plus à faire. –

+0

Je ne suis pas préoccupé par les recherches en texte intégral. –