我有一个需求,我需要共享一些网络资源(jsp、html、js、images、css等)跨不同的基于Spring的Struts2应用程序。似乎OSGi可以用来实现这一点?有人可以指点一下如何使用OSGi实现这一目标吗?其次我想知道OSGi是否成熟到可以用于生产应用程序?提前致谢!编辑:我经历了this发布并且似乎人们能够跨Web应用程序共享Web包。唯一的区别是他们是用SpringMVC做的。我想知道这是否也可以通过Struts2应用程序实现?编辑2:我基本上不清楚以下几点:'shareable-bundle'(包含要共享的网络资源)是否会被打包成.war。如果是,那么最终的Web上下文
我有一个在eclipsevirgoOSGi平台上运行的SpringMVC项目。当我尝试使用导入OSGi服务时标记我得到以下异常:Servlet/Webthrewload()exceptionorg.springframework.beans.factory.parsing.BeanDefinitionParsingException:Configurationproblem:UnabletolocateSpringNamespaceHandlerforXMLschemanamespace[http://www.springframework.org/schema/osgi]这是我的应用
我有一个在eclipsevirgoOSGi平台上运行的SpringMVC项目。当我尝试使用导入OSGi服务时标记我得到以下异常:Servlet/Webthrewload()exceptionorg.springframework.beans.factory.parsing.BeanDefinitionParsingException:Configurationproblem:UnabletolocateSpringNamespaceHandlerforXMLschemanamespace[http://www.springframework.org/schema/osgi]这是我的应用
我有一个通过maven构建的项目。每个模块都构建为一个osgi包。在Eclipse中,模块也具有插件性质。一些模块需要外部依赖项(log4j、apachecommons...),它们也可以作为插件从Maven存储库(例如spring企业存储库,它也是一个OBR)中获得。Maven本身没有问题来解决这些依赖关系,但我如何说服Eclipse使用Maven存储库检索和解决这些包作为插件(我不想为每个包装器插件)?是否有可以在eclipse中安装的“MavenProvisioner”? 最佳答案 我没有找到任何东西,所以我说服我的同事写了一
我们正在尝试通过OSGI包从Karaf容器使用kerberos连接HDFS。我们已经使用apacheservicemix包在karaf中安装了hadoop客户端。org.apache.servicemix.bundlesorg.apache.servicemix.bundles.hadoop-client2.4.1_1Pom文件附在下面:org.apache.felixmaven-bundle-plugin2.3.7truecom.bdbizviz.hadoop.activator.PaHdfsActivator${project.artifactId}${project.versio
我正在尝试将我的Android应用链接到Github存储库。按照EGit用户指南,我首先创建了一个新的Git存储库,但是当尝试添加到版本控制时(“团队”->“添加到版本控制”),这个选项也不在我的列表选项中推送、提交、合并等等。我只能选择ApplyPatch或ShareProject。所以我猜我遗漏了协作部分的一些软件。因此,我尝试安装缺少的Git东西:命令行界面和MylynVersionsConnector。当我尝试安装该软件时,eclipse根据一些存储库错误遇到问题:osgi.boundle和org.eclipse.update.feature.Anerroroccurredwh
我想将springbean从一个bundlecontext导出到另一个bundlecontext。当此bean没有诸如MongoClient之类的接口(interface)时,问题就开始了。第一个包上下文注册Mongoclient,但是当我想将它公开给另一个包时,我从引用包中得到:“在注册表中找不到类型为com.mongodb.Mongo的mongo的bean”。有什么方法可以按类而不是接口(interface)在OSGi注册表中定义bean?异常来自引用包:Exceptioninthread"SpringOsgiExtenderThread-86"org.apache.camel.R
我想构建一个OSGi兼容的多模块应用程序,编译后我在3个文件夹中拥有所有必需的包。我正在使用maven-bundle-plugin和maven-scr-plugin来创建包。我想要的是使用单个命令在osgi容器(Equinox)中运行此应用程序,希望使用脚本。为此,我相信我必须创建一个config.ini文件,列出应用程序中的所有包。有没有办法在Maven编译时生成它?或者是否有更好的方法来获取某个文件夹结构中的所有bundle,以便应用程序可以立即运行? 最佳答案 您可以将maven-pax-plugin与PaxRunne
我现在正在处理OSGi服务,我有一个关于在OSGi中使用服务的问题。有一些不同的方式来注册用户服务。谁能解释OSGiServicetracker和DeclarativeServices之间的区别?哪个更好? 最佳答案 在OSGi中,ServiceTracker是一种获取服务引用的编程方式。即,您编写ServiceTracker代码来“跟踪”对另一个服务的引用,并让您在它可用时使用它。相比之下,声明式服务(DS)允许您声明注入(inject)到组件中的依赖项。因此,DS是一种依赖注入(inject)形式。服务之间的依赖关系图及其启动顺
我正在尝试弄清楚如何使用JUnit在OSGi中实现多包集成测试。对于集成测试,我的意思是实例化bundle的一个子集以自动验证该子系统中的功能。我们正在运行Equinox并使用Eclipse作为工具链。Eclipse提供了“作为JUnit插件运行”选项,它启动了OSGi框架并实例化了配置包,所以我想这是要遵循的路径,但我找不到将DS引用注入(inject)我的测试的方法。我已经看到使用ServiceTracker作为访问不同服务包的编程方式,但这超出了拥有DS的目的,不是吗?我刚刚开始使用OSGI,所以我想我只是遗漏了一些可以让我将多捆绑测试放在一起的拼图。有什么想法吗?谢谢,杰拉德。