- PR -

EJBで電子メールを扱う

1
投稿者投稿内容
Ichiro
会議室デビュー日: 2001/08/09
投稿数: 9
お住まい・勤務地: 広島
投稿日時: 2001-09-19 11:43
 EJBを利用したWebアプリケーションの開発を協力会社に委託して行なっています。

 このシステムでは,利用者からのユーザ登録申込を受け付けた際,確認の意味で申込者に電子メールで受け付け完了のお知らせをすることとなっています。

 協力会社担当者の言い分では,「EJBで電子メールを出すことはできない。一旦データベースに格納して,クーロンやジョブスケジューリングソフトにより,10分間隔くらいでバッチプログラムを起動し,データベースからメール未送信の受付情報を抽出してメールを送信するしかない。」ということでした。

 私自身としては,ユーザからの登録申込受付の都度,個別にメールを発信させたいと考えているのですが,EJBでもメール発信できるといわれる方,あるいは他の良い方法をご存知の方はいらっしゃいませんか?
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2001-09-19 12:34
たしかに、EJB自体にメール送信機能は含まれていません。
JavaBeansは、基本的に情報の保持する役目しか担っていませんからね。
この場合、EJBの生成・取得などを制御しているServlet(フロント側)などからメール送付処理を行ったらいかがでしょうか。
J2EEパッケージには、JavaMailという3rd Partyが含まれていますから、実装自体はそれほど難しくないでしょう。
個人的には、バックエンド側からのバッチ形式による一括処理しか実装できないというのは、ちょっと問題だと思いますね。
H2
ぬし
会議室デビュー日: 2001/09/06
投稿数: 586
お住まい・勤務地: 港
投稿日時: 2001-09-19 16:39
以前、ECサイト構築に携わったときに似たようなことをしました。謎の白覆面さんの言われるようにServletでメールを送る処理をするようにしたと思います。JavaMailのことも聞いていたのですが、あまり難しくなかったので自分で作ってしまいました。学生の私でもきちんとできたので(今のところ何も苦情はとどいていないので・・・)実装自体はほとんど難しくありませんよ。

ちょこっと困ったのは文字のエンコードですね。Java内部ですとUnicodeだったので文字化けしたりしなかったり・・・。Shift JISに変換しないといけないということに気づくのに時間がかかってしまいました。(恥ずかしながら・・・経験不足なので
Ichiro
会議室デビュー日: 2001/08/09
投稿数: 9
お住まい・勤務地: 広島
投稿日時: 2001-09-19 19:28
 感動しております。インターネットの便利さを痛感しました。

 恥ずかしながら,私自身,@IT会議室どころか,インターネット上で見知らぬ者が情報交換をする場に参加するのは今回が初めてでした。

 先ほど,出先から帰ってメールをチェックすると「謎の白覆面」さん,「H2}さんからそれぞれ返答が記入されているとのこと。

 早速お二方の返答を確認させていただき,今後に希望を持った次第です。ありがとうございます。

 お二方ともこの会議室では常連さんのようですね。

 私はJavaに関してはまだまだ素人同然の者ですが,これを機会にスキルアップのひとつの方法としてこの会議室を積極的に活用しようと思っております。いずれは返答する立場になって恩返しができればと思っております。
miki
大ベテラン
会議室デビュー日: 2001/09/21
投稿数: 174
お住まい・勤務地: 東京都八王子市
投稿日時: 2001-09-21 11:26
同じ問題で悩んだことがあります。
登録処理の一部としてメールを出すなら、やはりEJBからメールを出したいですね。

Session Beanから完了メールを送信する例が、J2EE Blueprintsにあります。サンプルコードのソースコードもダウンロードできますから、参考にしてはいかがでしょう。

http://java.sun.com/j2ee/blueprints/sample_application/stateless_services/index.html#1050609

なお、J2EE Blueprintsの日本語翻訳は、次のURLからダウンロードできます。

http://jdc.sun.co.jp/j2ee/blueprints.html
おがわ
大ベテラン
会議室デビュー日: 2001/08/01
投稿数: 199
お住まい・勤務地: 千葉県
投稿日時: 2001-09-24 01:16
EJB( or JavaBeans ) の中で、送信メールの情報を保持し、
メール送信メソッドを1ビジネスロジックとして実装することは可能かもしれませんね。
1

スキルアップ/キャリアアップ(JOB@IT)