public class MailSender extends BatchAction<SqlRow>
| Constructor and Description |
|---|
MailSender()
コンストラクタ。
|
| Modifier and Type | Method and Description |
|---|---|
protected void |
addBodyContent(javax.mail.internet.MimeMessage mimeMessage,
nablarch.common.mail.MailRequestTable.MailRequest mailRequest,
java.util.List<? extends MailAttachedFileTable.MailAttachedFile> attachedFiles,
ExecutionContext context)
指定された
MimeMessageにメールメッセージ本文(添付ファイル含む)を追加する。
メッセージ本文を暗号化する場合や、電子署名を付加する場合には本メソッドをオーバライドし処理を本文の追加処理を変更すること。 |
protected void |
containsInvalidCharacter(java.lang.String target,
java.lang.String mailRequestId)
メールヘッダ・インジェクションチェック
チェック対象文字列に\rもしくは\nを含んでいるかのチェック。 チェック内容を変更する場合や、チェック結果の振る舞いを変更する場合には本メソッドをオーバライドし処理をチェック処理を変更すること。 |
protected javax.mail.internet.MimeMessage |
createMimeMessage(SqlRow data,
java.lang.String mailRequestId,
nablarch.common.mail.MailRequestTable.MailRequest mailRequest,
javax.mail.Session session,
MailRecipientTable mailRecipientTable)
メールデータを作成する。
|
DataReader<SqlRow> |
createReader(ExecutionContext ctx)
このタスクの入力データを読み込むデータリーダを生成して返す。
|
protected Result |
handleException(SqlRow data,
ExecutionContext context,
nablarch.common.mail.MailRequestTable.MailRequest mailRequest,
MailConfig mailConfig,
java.lang.Exception e)
メール送信時の例外のハンドル処理を行う。
本クラスでは、障害ログを出力し、送信ステータスを送信失敗にしてリトライを行う。
本メソッドでは、すべての例外をリトライ対象として
SendMailRetryableExceptionを送出している。
独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。 |
protected void |
updateToFailed(SqlRow data,
ExecutionContext context)
処理ステータスを異常終了に更新する。
更新時に例外が発生した場合は、
ProcessAbnormalEndを送出する。 |
protected void |
updateToSuccess(SqlRow data,
ExecutionContext context)
処理ステータスを正常終了に更新する。
|
protected void |
writeCreateMailFailedLog(SqlRow data,
nablarch.common.mail.MailRequestTable.MailRequest mailRequest,
MailConfig mailConfig,
javax.mail.MessagingException e)
メール作成が失敗した場合に、障害検知ログに出力する。
メール作成が失敗した時に、独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。
|
protected void |
writeSendMailFailedLog(SqlRow data,
nablarch.common.mail.MailRequestTable.MailRequest mailRequest,
MailConfig mailConfig,
javax.mail.SendFailedException e)
メール送信失敗時の
SendFailedException例外の障害検知ログに出力する。
メール送信失敗時に、独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。 |
handleerror, errorInExecution, initialize, postExecution, preExecution, terminate, transactionAbnormalEnd, transactionFailure, transactionNormalEnd, transactionSuccess, writeErrorLog, writeFatalLog, writeLogcountByParameterizedSql, countByStatementSql, getParameterizedSqlStatement, getParameterizedSqlStatement, getSqlCStatement, getSqlPStatement, search@Published(tag="architect") protected Result handleException(SqlRow data, ExecutionContext context, nablarch.common.mail.MailRequestTable.MailRequest mailRequest, MailConfig mailConfig, java.lang.Exception e)
SendMailRetryableExceptionを送出している。
独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。data - 入力データ(メール送信要求のレコード)context - 実行コンテキストmailRequest - メール送信要求mailConfig - メール設定e - メール送信時の例外#handle(SqlRow, ExecutionContext) が返す処理結果@Published(tag="architect") protected void writeSendMailFailedLog(SqlRow data, nablarch.common.mail.MailRequestTable.MailRequest mailRequest, MailConfig mailConfig, javax.mail.SendFailedException e)
SendFailedException例外の障害検知ログに出力する。
メール送信失敗時に、独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。data - 入力データ(メール送信要求のレコード)mailRequest - メール送信要求mailConfig - メール設定e - メール送信失敗時のSendFailedException例外@Published(tag="architect") protected void writeCreateMailFailedLog(SqlRow data, nablarch.common.mail.MailRequestTable.MailRequest mailRequest, MailConfig mailConfig, javax.mail.MessagingException e)
data - 入力データ(メール送信要求のレコード)mailRequest - メール送信要求mailConfig - メール設定e - MessagingException@Published(tag="architect") protected javax.mail.internet.MimeMessage createMimeMessage(SqlRow data, java.lang.String mailRequestId, nablarch.common.mail.MailRequestTable.MailRequest mailRequest, javax.mail.Session session, MailRecipientTable mailRecipientTable)
data - 入力データ(メール送信要求のレコード)mailRequestId - メール送信要求IDmailRequest - メール送信先情報session - メールセッションmailRecipientTable - メール送信先管理テーブルのスキーマjavax.mail.MessagingException - メールメッセージの生成に失敗した場合@Published(tag="architect")
protected void addBodyContent(javax.mail.internet.MimeMessage mimeMessage,
nablarch.common.mail.MailRequestTable.MailRequest mailRequest,
java.util.List<? extends MailAttachedFileTable.MailAttachedFile> attachedFiles,
ExecutionContext context)
MimeMessageにメールメッセージ本文(添付ファイル含む)を追加する。
メッセージ本文を暗号化する場合や、電子署名を付加する場合には本メソッドをオーバライドし処理を本文の追加処理を変更すること。mimeMessage - MimeMessagemailRequest - メール送信要求管理の情報attachedFiles - 添付ファイルの情報context - 実行コンテキストjavax.mail.MessagingException - メールメッセージの生成に失敗した場合@Published(tag="architect")
protected void containsInvalidCharacter(java.lang.String target,
java.lang.String mailRequestId)
target - チェック対象文字列mailRequestId - メール送信要求IDnablarch.common.mail.InvalidCharacterException - チェック対象文字列に\rもしくは\nを含んでいた場合@Published(tag="architect") public DataReader<SqlRow> createReader(ExecutionContext ctx)
DatabaseRecordReaderを生成する。createReader in interface DataReaderFactory<SqlRow>createReader in class BatchAction<SqlRow>ctx - 実行コンテキスト@Published(tag="architect") protected void updateToFailed(SqlRow data, ExecutionContext context)
ProcessAbnormalEndを送出する。data - 送信対象データcontext - 実行コンテキスト@Published(tag="architect") protected void updateToSuccess(SqlRow data, ExecutionContext context)
data - 送信対象データcontext - 実行コンテキスト