Pax Runner:对于进程内执行器有什么经验吗?
我目前正在决定从 IDE 运行 OSGi 应用程序时使用哪个 pax 执行器(请参阅 http://paxrunner.ops4j .org/space/Executors 查看可用的列表)。当我想使用 pax runner 从 IDE 运行进程时,基本上有两种选择:
In-Process-Executor(在与 Pax Runner 本身相同的 Java 进程中运行 OSGi 进程):
- PRO:易于附加调试器。
- PRO:轻松终止 OSGi 进程,因为不会启动第二个 Java VM。
PRO:启动速度更快。
CON:严重限制 paxrunner 对非 javaVM 设置的功能(该设置来自 Pax Runner 的文档)。
默认执行器:(在新的 Java 进程中运行 OSGi 进程)
PRO:启用 Pax Runner 设置各种 JavaVM 设置。
CON:更难附加调试器(需要一些远程调试设置)。
- 缺点:如果 Pax Runner 没有正确执行,几乎不可能杀死 OSGi 进程。
- CON:启动时间较长,因为启动了两个 JVM。
所以我的问题基本上是,是否有人经历过 Pax Runner 的 JVM 设置功能至关重要且 OSGi 进程在使用进程内执行器时无法工作的情况。我还没有找到这样的例子,但是我需要决定是否支持进程内、默认执行程序或两者都支持,因此一些利用默认执行程序的 JVM 设置功能的实际用例将真正帮助我做出那个决定。
I am currently deciding which pax executor to use when running OSGi applications from the IDE (see http://paxrunner.ops4j.org/space/Executors for a list of available one's). There basically two choices for me when I want to run a process from the IDE with pax runner:
In-Process-Executor (Runs the OSGi process in the same Java Process as Pax Runner itself):
- PRO: Easy to attach a debugger to.
- PRO: Easy to kill the OSGi process, as no second Java VM is started.
PRO: Faster to start.
CON: heavily limits paxrunner's capabilities to non-javaVM settings (that one is from the documentation of Pax Runner).
Default Executor: (Runs the OSGi process in a new Java process)
PRO: enables Pax Runner to set various JavaVM settings.
CON: Harder to attach a debugger to (needs some remote debugging setup).
- CON: Almost impossible to kill the OSGi process if Pax Runner doesn't do it properly.
- CON: Longer startup times as two JVMs are started.
So my question basically is, if someone experienced a scenario where Pax Runner's JVM settings capabilities were crucial and the OSGi process would not work when using the in-process executor. I have not yet found such an example, however I need to decide if I support in-process, default executor or both, so some real-world use case that makes use of JVM-setting capabilities of the default executor would really help me in making that decision.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
如果您从 IDE 启动 Pax Runner 的原因是为了测试,请查看 Pax Exam,它也(可选)在下面使用 Pax Runner。那么你就不用太担心了。
If the reason you start Pax runner from IDE is for Testing, have a look at Pax Exam, which also (optionally) uses Pax Runner underneath. Then you don't need to worry too much.