JAVA: מדוע Message צריך Session?

Guy Yafe

New member
JAVA: מדוע Message צריך Session?

אני משתמש ב - JavaMail API, ומנסה לבנות תוכנית שתשלח אימיילים.
מקריאה בדוקומנטציה אני מבין שהמחלקה Session מיצגת (כשמה) Session לשרת מסוים (לדוגמה חשבון הGMAIL שלי שדרכו אני רוצה לשלוח לעצמי מייל)
המחלקה Message מייצגת הודעת דואר אלקטרוני. ספציפית אני מדבר על המחלקה MimeMessage .
העניין הוא שכדי לבנות אובייקט מסוג MimeMessage אני צריך קודם כל שיהיה לי Session מסוים (אני צריך לתת אותו בתור פרמטר לבנאי של ההודעה). הדבר נראה לי לא הגיוני כי לא אמור להיות קשר בין ההודעה שאני שולח לבין הצינור בו אני שולח אותה.

המטרה שלי היא ליצור אובייקט שנקרא EmailAgent שתפקידו ליצור בעצמו את ה - Session ולקבל הודעות אותן הוא שולח דרך ה - Session.
מדוע אם כך יש את ההגבלה הזו?

גיא
 

selalerer

New member
הממ.. לא מתכנת Java אבל זה באמת נראה מוזר.

אם זה מפריע לך, תוכל ליצור מחלקת Message משלך שמחזיקה את כל מה שאתה רוצה (למשל: subject, content, date, from וכו') ולעשות לה מטודה toMimeMessage שתקבל את ה-session כפרמטר ותחזיר MimeMessage. במטודה תשתמש כשתרצה לשלוח את ההודעה.
 

Guy Yafe

New member
תודה. זה בערך מה שעשיתי

המחלקה EmailAgent מייצרת את ה - Session בעת יצירת אובייקט, ובאמצעות פונקציה createMimeMessage מקבלת את כל הפרמטרים של ההודעה ומיצרת אותה.
 
למעלה