Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/261.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java OSGI是个不错的选择吗? 我目前正在开发一个面向内部的CRM风格的应用程序。这需要与许多外部系统集成,并且在这些服务不可用的情况下(通过系统关闭或与之对话的代码被禁用)应该会正常降级_Java_Spring_Osgi - Fatal编程技术网

Java OSGI是个不错的选择吗? 我目前正在开发一个面向内部的CRM风格的应用程序。这需要与许多外部系统集成,并且在这些服务不可用的情况下(通过系统关闭或与之对话的代码被禁用)应该会正常降级

Java OSGI是个不错的选择吗? 我目前正在开发一个面向内部的CRM风格的应用程序。这需要与许多外部系统集成,并且在这些服务不可用的情况下(通过系统关闭或与之对话的代码被禁用)应该会正常降级,java,spring,osgi,Java,Spring,Osgi,基于我目前的理解,OSGI捆绑包似乎是实现这一点的完美方式。我们可以在执行维护时关闭特定模块,当服务不可用时,代码可以执行不同的操作 我的问题是,Spring显然放弃了OSGI(这个应用程序现在大量使用Spring4.0),OSGI是这个项目的正确选择吗?有没有其他的方法我应该考虑? 谢谢OSGI不是解决这种问题的瑞士军刀。与可能有停机时间的外部服务松散耦合比osgi解决的问题更高。看一看。如果确定某个服务有停机时间,则需要实现切换逻辑。Apache Camel可能是一个更好的选择,因为它的运行

基于我目前的理解,OSGI捆绑包似乎是实现这一点的完美方式。我们可以在执行维护时关闭特定模块,当服务不可用时,代码可以执行不同的操作

我的问题是,Spring显然放弃了OSGI(这个应用程序现在大量使用Spring4.0),OSGI是这个项目的正确选择吗?有没有其他的方法我应该考虑?


谢谢

OSGI不是解决这种问题的瑞士军刀。与可能有停机时间的外部服务松散耦合比osgi解决的问题更高。看一看。如果确定某个服务有停机时间,则需要实现切换逻辑。

Apache Camel可能是一个更好的选择,因为它的运行级别高于OSGI,正如SpaceTrucker所提到的,OSGI是您可能需要的。
当您需要集成外部系统时,Camel非常方便。

您认为,什么是我可能需要使用OSGI的临界点?我确实考虑过这个特性切换路线(虽然我不这么称呼),但我认为OSGi可能是一个更好的方法。作为一个附带的好处,它还可以为我们提供其他软件可以使用的模块。@Innominate我无法准确定义这个转折点。它还影响其他需求。你已经说过模块化就是其中之一。我想和tomix000谈谈骆驼。我有好消息和坏消息要告诉你们。好消息是,OSGi是一个不错的选择,SpringSource放弃或不放弃它是无关紧要的——您仍然可以将Spring与OSGi一起使用。坏消息是你的问题不适合StackOverflow,因为它主要是基于观点的,所以我必须投票结束它。很抱歉Camel基于OSGi,所以这就像说“驾驶丰田凯美瑞比驾驶汽车更好”。它还是一辆车@NeilBartlett,但是如果汽车有手动曲柄启动器或电动启动器,情况会有所不同。我认为首先看一看骆驼是值得的。@SpaceTrucker,或者你可以说骆驼就像在一辆大房车里四处行驶,而我需要的只是一辆小型车;-)幸运的是,我们已经在使用ApacheCamel作为通过JMS与某些系统通信的方法,因此,也许我应该更仔细地看看我可以从中使用哪些其他模块来提供更好的模块化。