在WSO2ESB类中介中进行策略交集

时间:2012-08-07 11:37:58

标签: wso2 intersection policy wso2esb

我创建了一个Class Mediator,我想在其中交叉两个策略。我使用Carbon Studio for Eclipse创建了类中介,它自动将一些预定义的库添加到项目的构建路径中。

其中一个库是neethi-2.0.4.wso2v1.jar。

如果我想使用intersect-method,我会得到一个异常。如果我查看源代码,我会看到intersect-method只会抛出“UnsupportedOperationException”。

因此,给定的neethi lib对于交集是没用的,因此我想使用最新的Neethi lib(又名neethi-3.0.2.lib)在我的班级调解员中进行交集。

你能否告诉我如何包含第三方库,特别是在我的用例中,这些库应该覆盖esb内部曾经使用过的内容(neethi-2.0.4.wso2v1.jar)。

由于

1 个答案:

答案 0 :(得分:0)

Developer Studio将这些库添加到项目类路径中,这样开发人员就不会在源代码中出现构建错误。

因此,这些库仅用于开发时间,仅适用于Dev Studio。它们不是服务器运行时中使用的库。

运行时库由WSO2 Carbon Server运行时提供。因此,由于服务器中的neethi版本不支持它,因此服务器发生此UnsupportedOperationException。因此,您需要在服务器运行时升级库。

但正如您所看到的,WSO2已经分叉了neethi代码库并在分叉源上实现了一些自定义实现。所以IMO,只是升级版本无济于事。

无论如何,你需要实际升级库,看看你是否遇到任何问题。

要升级版本,您可以为较新的Neethi库创建Java库工件,并将其包含在CAR文件中,并在服务器运行时部署CAR文件或将新的Neethi库复制到<CARBON_HOME>/repository/components/lib位置

您可以在<CARBON_HOME>/repository/components/plugins位置找到当前的Neethi资料库。如果您发现类似于“链接错误”的错误或异常,请尝试删除旧版本的库。但它会引起一些其他例外。

因此IMO的底线是,您将面临版本升级的一些问题。但是,当然,你可以尝试一下,看看我们能否克服它们。试一试,在这里发表您的观察。我们会尽力为您提供帮助。