如何处理程序移动到不同的WAR文件后移动EJC计时器

问题描述 投票:0回答:1

目前,我有一息尚存,我创造了许多EJB编程定时器的某个时候对未来到期一个整体的应用程序。我使用Java EE 7和WildFly 12做到这一点。我已经配置WildFLy把它坚持到它,然后它被序列化并保存准备在其超时处理,所有的工作在这里很好的数据库。现在我分裂整体到微服务,面向迁移这些计时器的问题。

是否有一个干净的方式做这件事的方法吗?任何建议都欢迎。

首先我想对数据库进行更新和通知的对象序列化与包含它所属的部署war文件添加元数据,这是行不通的定时器。

第二,我想通过每一个定时器创建一个一次性一批循环,如果计时器被去除,新的微服务将收到该消息,并在自己的模式与正确的部署信息创建计时器发布的消息。不过,我不喜欢这样的解决方案,因为它是非常混乱,涉及添加大量的if语句,以满足不同类型的定时器。

ejb_timer_id = warFileName.warFileName.MyTimerEventHandler EXPIRE_DATE = 2019年1月4日08:55:00.0000000 serialized_object = Pk9jb20ubWlkbGFuZGhyLnRyZW50LnRhbGVudC5jaGVja2luLnRpbWVycy5OZXh0U2NoZWR1bGVkQ2hlY2tJbkV4cGlyZWRUaW1lckV2ZW50GHMausCwvz8 + FGRlcGxveW1lbnQudHJlbnQud2FyPgRtYWluAAAAAj4YbmV4dFNjaA ==

为了使它工作,我需要从warFileName.warFileName.MyTimerEventHandler的ejb_timer_id成功更新到newWarFileName.newWarFileName.MyTimerEventHandler和序列化对象将需要更新以包含新deploymnet细节,例如从myWarFile到myNewWarFile

java-ee timer timeout ejb
1个回答
1
投票

计时器并不意味着有不同的应用程序或豆之间的迁移。所以这是一个手动过程。也有可能是,如果一个应用程序被卸载/重新部署和计时器豆已经改变或移除侧影响。这可能是定时器数据仍然在持续。

© www.soinside.com 2019 - 2024. All rights reserved.