gpt4 book ai didi

java - 拦截对 Mailer 操作的调用

转载 作者:行者123 更新时间:2023-12-02 08:00:41 24 4
gpt4 key购买 nike

有没有办法拦截对 Play Mailer class 的调用?

我想记录我的应用程序发送的所有电子邮件。我想访问邮件程序方法参数和方法名称,并记录所有这些。

我尝试过使用@With,但我的@Before方法没有被调用:

@With(EmailInterceptor.class)
public class Mails extends Mailer {

public static void welcome(User user) {
setSubject("Welcome to my app");
setFrom("Me <me@domain.com>");
addRecipient(user.email);

Mailer.send(user);
}
}

public final class EmailInterceptor extends UserAwareControllerBase {
private final static Logger logger = LoggerHelper.getLogger();

@Before
public void logEmail(){
String email = getUser() == null ? "<null>" : getUser().email;
logger.info("Sending email to " + email);
}
}

最佳答案

据我所知,Mailer 没有拦截。检查https://github.com/playframework/play/blob/master/framework/src/play/mvc/ActionInvoker.java 。转到第 142 行,该行清楚地表明只有 Controller 才会获得拦截。

关于java - 拦截对 Mailer 操作的调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8960388/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com