【问题标题】:How to add a Service on moqui startup?如何在 moqui 启动时添加服务?
【发布时间】:2016-05-10 11:13:33
【问题描述】:

我想在 moqui 框架启动时将 apache ignite 添加到 moqui 框架中。 我尝试在postFacadeInit() 方法中启动实例,并且成功了。 但是,有没有什么侵入性较小的方法可以解决这个问题?比如制作一个组件,当我需要的时候,我可以把组件放到组件文件夹中

【问题讨论】:

    标签: moqui


    【解决方案1】:

    在 Moqui Conf XML 文件中,您可以使用 webapp.after-startup 和 webapp.before-shutdown 元素来指定要运行的操作(在 XML Actions 元素中)。类加载器之后的运行会将组件库目录中的 jars 添加到类路径中,因此您可以实例化对象或调用 init/destroy 方法等。

    仅供参考:Moqui 的下一个版本包括 Hazelcast,其功能与 Apache Ignite 非常相似。部分功能已在 moqui/moqui-framework 存储库中,更多功能已实现并将很快合并。

    【讨论】:

    • 谢谢,我认为解决这个问题的方法不好(使用 Moqui Conf xml)。因为启动后绑定在webapp上,这意味着我的组件应该知道我可以覆盖conf以添加启动后的webapp信息。我理解对吗?如果是的话,我想,如果moqui框架可以提供一些生命周期回调,比如一些接口:AfterMoquiStartup,Before BeforeMoquiShutdown,PreMoquiFacadeInit,PostMoquiFacadeInit...并且在component.xml中,我可以注册我的生命周期回调,当moqui加载我的组件时,它可以自动实现我的生命周期,你觉得我的想法是什么?
    • 您能说得更具体些吗?这与当前支持的有什么不同?
    • 再看这个,我发现一个区别:如果 Moqui 没有在 servlet 上下文中初始化(包括用于测试等),那么这些将不会运行。我会考虑这一点,为组件添加一个更通用的机制来初始化和销毁​​(也许是一个要实现的接口)。如果您想跟踪此潜在功能,请随时在 moqui/moqui-framework 中创建问题。
    • 谢谢,我会尝试自己添加这个功能,我想你可能需要更多的时间来关注 moqui 的主要功能。顺便说一句,我真的很喜欢 moqui,但是我公司使用的 biz,这些天,我比较ofbiz和moqui比较多,我觉得无论是架构还是开发方便,moqui都比ofbiz好。
    • 上周我开始致力于减少对框架中使用的各种工具的依赖,特别是在标准接口可以插入其他工具的地方。在这项工作中,ToolFactory 接口以及管理这些接口的配置和代码应该满足您的需求。代码在 github 的 moqui/moqui-framework 仓库中。
    猜你喜欢
    • 1970-01-01
    • 2016-08-15
    • 1970-01-01
    • 2019-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-05
    • 1970-01-01
    相关资源
    最近更新 更多