Eclipse plugin Rhapsody插件Java API,执行速度极慢

Eclipse plugin Rhapsody插件Java API,执行速度极慢,eclipse-plugin,java,rhapsody,Eclipse Plugin,Java,Rhapsody,我已经使用RhapsodyJavaAPI为我的Rhapsody项目创建了一个插件。我的问题是速度非常慢。我有以下功能: private static void collectElements(final IRPModelElement curEl, final IRPCollection elCol) { // collect contained elements for (Object it : curEl.getNestedElements().toL

我已经使用RhapsodyJavaAPI为我的Rhapsody项目创建了一个插件。我的问题是速度非常慢。我有以下功能:

    private static void collectElements(final IRPModelElement curEl,
        final IRPCollection elCol) {
    // collect contained elements
    for (Object it : curEl.getNestedElements().toList()) {
        IRPModelElement element = (IRPModelElement) it;
        if (!skipElement(element)) {
            // add element itself
            elCol.addItem(element);

            // descend
            collectElements(element, elCol);
        }
    }
}

它收集选定元素的所有嵌套元素。我的项目有大约7500个元素,完成上述功能需要22秒。我尝试使用
selectedElement.getNestedElementsRecursive()
获取所有元素,并使用List或HashSet,但是
.toList()
函数也非常慢。有什么建议吗?

出于某种原因,Rhapsody加载项在内部Rhapsody虚拟机中运行时运行速度要快得多

为此,将java编译成.jar,并使用帮助文件配置模型,以将Rhapsody触发器(通常是工具菜单或上下文菜单选项)链接到jar

以这种方式运行外接程序使用常见的Rhapsody虚拟机,速度更快,但要小心!java版本取决于您所使用的Rhapsody版本的设置,名称冲突可能是一个问题(如果您有多个加载项,其中有两个同名类,Rhapsody将只加载一个)


有关设置助手文件的更多信息,请访问Andy Lapping(IBM员工)的网站。

您是否正在打开项目:“使用所有子单元”+“按需加载”?