问题
我们的 Liferay 系统是与其他 Web 应用程序同步数据的基础。
我们Model Listeners
为此目的使用。
通过侦听器有很多 Web 服务调用和数据库更新,因此 Liferay 中的特定操作太慢了。
例如:在 liferay 中
添加时,User
我们需要触发大量 Web 服务调用来添加用户详细信息并使用用户数据更新其他系统,以及一些 liferay 自定义表。因此,添加用户需要花费大量时间,并且在极少数情况下,请求可能会超时!
由于其中的代码UserListener
仅依赖于用户详细信息,即使有任何异常UserListener
仍然会在 Liferay 中添加用户,所以我们想到了以下解决方案。
我们在 Liferay 中还有一个调度程序,如果在侦听器中执行代码时出现异常,它会修复问题。
建议的解决方案
UserListener
我们考虑使用并发 API使代码异步。
所以这是我的问题:
- 是否建议在模型侦听器中使用并发代码?
- 如果是,那么如果我们也通过此代码更新 Liferay 自定义表,例如事务或其他内容,是否会产生不利影响?
- 这种方法的其他一般优点和缺点是什么?
- 有没有其他更好的方法可以在不影响用户体验的情况下实时更新其他系统?
感谢您对此事的任何帮助