Seam CDI中同一类的多个观察者
我有一门事件观察者课程。这是一个通用的邮件。它接收事件并创建一封电子邮件。我想创建此observer类的多个实例,如下所示:Seam CDI中同一类的多个观察者,seam,java-ee-6,cdi,Seam,Java Ee 6,Cdi,我有一门事件观察者课程。这是一个通用的邮件。它接收事件并创建一封电子邮件。我想创建此observer类的多个实例,如下所示: <m:Mailer resource="WEB-INF/email/adminConfirmation.ftl" emailNotificationAddress="admin@xxxx.com"> <order:onOrderChange> <s:parameters> <order:S
<m:Mailer
resource="WEB-INF/email/adminConfirmation.ftl"
emailNotificationAddress="admin@xxxx.com">
<order:onOrderChange>
<s:parameters>
<order:StateChange>
<s:Observes />
</order:StateChange>
</s:parameters>
</order:onOrderChange>
</m:Mailer>
<m:Mailer
resource="WEB-INF/email/userConfirmation.ftl"
emailNotificationAddress="${order.user.email}">
<order:onOrderChange>
<s:parameters>
<order:StateChange>
<s:Observes />
</order:StateChange>
</s:parameters>
</order:onOrderChange>
</m:Mailer>
此外,我希望它继承基于注释的信息,所以我不必每次都声明这个顺序:onOrderChange方法。我试图用s:modifiers声明两个实例。但无论我做什么,都只附加了一个侦听器实例
我非常希望将同一类的多个不同配置的实例附加为事件观察器。而且还没有找到任何解决办法 如果发布类,而不是Seam 3 xml配置,对每个人来说都可能更容易…:- 您正在搜索的是一个通用邮件程序,它可以侦听不同的事件并根据事件发送不同的电子邮件,对吗?我不确定我是否看到了需求的通用部分,您可能希望在问题中添加更多信息以明确这一点 相反,我建议使用一个MailSender来侦听单个事件,例如,RegistrationMailEvent,它使用不同的限定符@Admin、@User进行注释。我会从一个地方开始完整的电子邮件逻辑——如果它变得太复杂,你仍然可以将它重构成更多的bean 这适合你的需要吗
哦,顺便说一句:事件是同步的——因此您必须知道您正在停止执行线程,直到事件处理完成。在邮件服务器速度较慢的情况下,可能不需要这样做。澄清一下-实施并不重要。我询问如何创建同一类的多个ObserverBean实例来阅读主题。执行和目的并不重要。假设这些bean有完全相同的实现,但是参数化不同。这应该是一个不错的地方,所以你可以放心地假设我读了你文章的主题。