public class MailSender extends BatchAction<SqlRow>
TransactionEventCallback.Provider<TData>
REQUEST_DATA_REQUEST_SCOPE_KEY
Constructor and Description |
---|
MailSender()
コンストラクタ。
|
Modifier and Type | Method and Description |
---|---|
protected void |
addBodyContent(javax.mail.internet.MimeMessage mimeMessage,
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,
MailRequestTable.MailRequest mailRequest,
javax.mail.Session session,
MailRecipientTable mailRecipientTable)
メールデータを作成する。
|
DataReader<SqlRow> |
createReader(ExecutionContext ctx)
このタスクの入力データを読み込むデータリーダを生成して返す。
|
Result |
handle(SqlRow data,
ExecutionContext context)
メール送信要求を元にメールを送信する。
|
protected Result |
handleException(SqlRow data,
ExecutionContext context,
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,
MailRequestTable.MailRequest mailRequest,
MailConfig mailConfig,
javax.mail.MessagingException e)
メール作成が失敗した場合に、障害検知ログに出力する。
メール作成が失敗した時に、独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。
|
protected void |
writeSendMailFailedLog(SqlRow data,
MailRequestTable.MailRequest mailRequest,
MailConfig mailConfig,
javax.mail.SendFailedException e)
メール送信失敗時の
SendFailedException 例外の障害検知ログに出力する。
メール送信失敗時に、独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。 |
error, errorInExecution, initialize, postExecution, preExecution, terminate, transactionAbnormalEnd, transactionFailure, transactionNormalEnd, transactionSuccess, writeErrorLog, writeFatalLog, writeLog
countByParameterizedSql, countByStatementSql, getParameterizedSqlStatement, getParameterizedSqlStatement, getSqlCStatement, getSqlPStatement, search
@Published(tag="architect") public MailSender()
public Result handle(SqlRow data, ExecutionContext context)
@Published(tag="architect") protected Result handleException(SqlRow data, ExecutionContext context, 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, MailRequestTable.MailRequest mailRequest, MailConfig mailConfig, javax.mail.SendFailedException e)
SendFailedException
例外の障害検知ログに出力する。
メール送信失敗時に、独自の処理を実施したい場合は本メソッドをオーバーライドすることで行うことができる。data
- 入力データ(メール送信要求のレコード)mailRequest
- メール送信要求mailConfig
- メール設定e
- メール送信失敗時のSendFailedException
例外@Published(tag="architect") protected void writeCreateMailFailedLog(SqlRow data, 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, MailRequestTable.MailRequest mailRequest, javax.mail.Session session, MailRecipientTable mailRecipientTable) throws javax.mail.MessagingException
data
- 入力データ(メール送信要求のレコード)mailRequestId
- メール送信要求IDmailRequest
- メール送信先情報session
- メールセッションmailRecipientTable
- メール送信先管理テーブルのスキーマjavax.mail.MessagingException
- メールメッセージの生成に失敗した場合@Published(tag="architect") protected void addBodyContent(javax.mail.internet.MimeMessage mimeMessage, MailRequestTable.MailRequest mailRequest, java.util.List<? extends MailAttachedFileTable.MailAttachedFile> attachedFiles, ExecutionContext context) throws javax.mail.MessagingException
MimeMessage
にメールメッセージ本文(添付ファイル含む)を追加する。
メッセージ本文を暗号化する場合や、電子署名を付加する場合には本メソッドをオーバライドし処理を本文の追加処理を変更すること。mimeMessage
- MimeMessage
mailRequest
- メール送信要求管理の情報attachedFiles
- 添付ファイルの情報context
- 実行コンテキストjavax.mail.MessagingException
- メールメッセージの生成に失敗した場合@Published(tag="architect") protected void containsInvalidCharacter(java.lang.String target, java.lang.String mailRequestId) throws InvalidCharacterException
target
- チェック対象文字列mailRequestId
- メール送信要求IDInvalidCharacterException
- チェック対象文字列に\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
- 実行コンテキスト