Devel.cz Lupa Měšec Podnikatel Root Zdroják.cz DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
Java na webovém serveru: posílání e-mailů a CAPTCHA

Tonda aura:56
24. 3. 2010 21:05 Nový

K těm mailům

celé vlákno

1. Z jakého důvodu je ta universální navržena jako EJB? Přijde mi, že to není nutné, my to máme prostě jako běžnou utility třídu.

2. Odesílání přes JMS používáme docela dlouho a dost se to osvědčilo, JMS běžící na stejném či sousedním serveru je daleko dostupnější a spolehlivější než SMTP rozhraní Exchange serveru kdesi, odesílající aplikace je rychle vyřízena a nemusí řešit nedostupnost SMTP serveru.

Franta Kučera aura:90
25. 3. 2010 15:02 Nový

Re: K těm mailům

celé vlákno

ad 1) jako obyčejná třída by to šlo, ale v ní by nám nefungovala ta anotace @Resource a museli bychom lookup toho mail/nekurak.net dělat ručně, což není tak elegantní.

ad 2) to bude asi tím, že nepoužívám MS Exchange a s rychlostí nebo stabilitou Postfixu nemám problém :-) Díky tomu, že veškerý kód pracující s JavaMail API je schovaný v tom jednom EJB, není problém v budoucnu to JMS zapojit a místo přímého posílání přes SMTP by metoda odesliZpravu() ty zprávy předávala do JMS – ale to bych dělal až ve chvíli, kdy se přímé odesílání neosvědčí, jinak by mi to přišlo předčasné a nadbytečné – nicméně půda na takovou úpravu připravená je (díky zapouzdření a tomu, že JavaMail kód není rozlezlý po celé aplikaci).

Tonda aura:56
25. 3. 2010 18:12 Nový

Re: K těm mailům

celé vlákno

Lookup session z JNDI je na pár řádků, doslova. Případně i na to se dá udělat nějaký helper, navíc jsme to navrhovali pro Javu 1.4.

U nás se občas stane, že některý z Exchange serverů je nedostupný, blbne konektivita, při přečíslování IP trvá než se občerství DNS, atp.

My máme to předání do JMS napsané jako vlastní JavaMail Transport, takže přepnutí „do JMS“/„přímo na SMTP“ by znamenalo jen změnit v konfiguraci JNDI jméno pro lookup JavaMail session. Takže když je potřeba napsat kód odesílající mail, můžeme použít vlastní zjednodušující API pro vytvoření a odeslání mailu nebo, pokud potřebuji něco speciálního, můžeme použít přímo JavaMail, jedinou podmínkou je načíst JNDI jméno JavaMail session z konfigurace a použít tuto session.

Jak koukám na to vaše zapouzdření, tak možnost odeslání plaintext mailu jednomu příjemci je poněkud omezující.

exception
exception (neregistrovaný) 85.214.22.---
27. 3. 2010 20:57 Nový

error handling

celé vlákno

dobry den

natyka sa to priamo temy, ale aky ma podla vas vyznam pouzyvat genericke catched vynimky?
za hlavne nevyhody ich pouzytia povazujem najma to ze
1. nesuvisia priamo s biznis logikou metody, napriek tomu su castou jej signatury a kazia rozhranie
2. vynimka sa prenasa do dalsej hierarchie volania
stretnut sa s api kde kazda metoda deklaruje SpecificApiEx­ception nie je ojedinele
aky to ma potom vyznam?

otazka nebola smerovana ofenzivne, netyka sa priamo temy ale mna osobne viac ako funkcionalita na takychto clankoch zaujima sposob kodovania, ktory je casto podcenovany a pritom napr v pripade error handlingu sa nejedna vobec o trivialnu zalezitost, skor naopak

Zasílat nově přidané příspěvky e-mailem