草庐IT

osgi-container

全部标签

java - OSGi 包启动级别是如何定义的?

OSGi包启动级别是如何定义的?我正在使用Apachefelix,并希望在整个框架执行过程中保持启动级别。我预计根本不需要非常频繁地更改bundle的起始级别,Manifest.MF中的一个条目似乎是最明智的。我已经到org.osgi.framework.startlevel但还没有看到一个实际的例子。我也在使用maven和maven-bundle-plugin,如果有一种优雅的方式将起始级别合并到POM中,那将是非常棒的。 最佳答案 Bundle不会在构建时定义它们自己的起始级别;将bundle安装到框架中的管理员或代理定义了它。

exec failed: unable to start container process: exec: “ip“: executable file not found in $PATH

问题报错:OCIruntimeexecfailed:execfailed:unabletostartcontainerprocess:exec:"ip":executablefilenotfoundin$PATH:unknown报错原因:因为该容器的镜像时精简版,内部缺少iproute2导致无法使用ip命令解决方式:进入容器dockerexec-it容器名/bin/bash进入后:更新aptapt-getupdate安装iproute2agtinstall-yiproute2安装完以后退出exitdockerexec-it容器名ipaddr 修改后尝试结果:同理OCIruntimeexecfa

java - 如何在字符串中使用 contains 和 equalsIgnoreCase

有没有办法在不区分大小写的情况下检查字符串是否包含某些内容?例如:(此代码无效,只是为了让您对我的问题有一个基本的了解)Stringtext="Iloveponies";if(text.contains().equalsIgnoreCase("love"){//dosomething}编辑:--------还是不行哦,原来它不起作用。这是我正在使用的。(这是一个游戏的诅咒过滤器)publicvoidonChat(PlayerChatEventevent){Playerplayer=event.getPlayer();if(event.getMessage().contains("dou

Java 树集 : remove and contains() not working

我已经向TreeSet添加了一些简单的对象,但是当我调用TreeSet的remove()和contains()方法时,它们不起作用。但是,当我遍历集合时,对象被打印出来。应将员工对象添加到集合中,而对象的唯一性基于对象名称属性。Id属性是应该排序的值,但不是唯一的。publicclassEmployee{privateStringname;privateintid;publicintgetId(){returnid;}publicvoidsetId(intid){this.id=id;}publicStringgetName(){returnname;}publicvoidsetNam

java - 元素存在但 `Set.contains(element)` 返回 false

一个元素如何不包含在原始集合中,而是包含在其未修改副本中?原始集不包含该元素,而其副本包含该元素。Seeimage.以下方法返回true,尽管它应该始终返回false。c和clusters的实现都是HashSet。publicstaticbooleanconfumbled(Setc,Set>clusters){return(!clusters.contains(c)&&newHashSet(clusters).contains(c));}调试显示元素是包含在原始元素中,但Set.contains(element)出于某种原因返回false。Seeimage.有人可以向我解释一下这是怎么

java - 集成 Maven、Tycho 和 Eclipse 时处理非 OSGi 依赖项

我有一堆基于Eclipse的插件,我一直在迁移到Maven/Tycho。这些插件中的大多数都依赖于我现在通过Maven管理的独立库,而不是与.jar混为一谈。文件。我当前设置中最麻烦的部分是由于Tycho明显无法处理Maven-only(即非OSGi)Artifact。我当前的设置是这样的:在pom.xml对于每个Eclipse插件,我都会发布unpack目标maven-dependency-plugin在initialize期间阶段。这会将我指定的Artifact解压缩到单独的target/dependencies目录。target/dependencies目录被添加为build.p

java - Tomcat 和 OSGi

我想知道是否可以嵌入像Karaf这样的OSGi容器在Tomcat实例中。根据thisSOquestion和其他一些,它似乎可能,但我似乎无法找到有关如何执行此操作或需要注意哪些陷阱/警告的任何可靠细节。所以:是否可以在Tomcat中嵌入一个OSGi容器,这样我就可以在任何时候将OSGi包热部署到这个容器而无需重新启动Tomcat?如果上面#1的答案是"is",那么在Tomcat中嵌入OSGi会暴露哪些系统服务/端口?我问是因为我想在我没有管理员权限的JavaPaaS上托管的Tomcat服务器中部署OSGi。我想知道当我尝试将嵌入式OSGi容器部署到Tomcat时,它是否会尝试开始监听端

java - 访问另一个 osgi 包中的资源?

我使用eclipse插件项目向导(使用eclipseHelios)创建了两个OSGI包A和B。在bundleB的list文件中,我添加了bundleA作为依赖项。此外,我已经导出了A中的包,因此它们对B可见。我在包A中也有一个.properties文件,我想让它对包B可见。在包A的build.propertiesPane中,我指定了:source..=src/bin.includes=META-INF/,\.,\bundle_A.properties现在在bundleB中,我尝试使用以下方法加载.properties文件:privatePropertiesloadProperties(

java - OSGI JNDI 是否允许与来自非 OSGI 代码的 JNDI 调用共存?

第126章OSGIEnterpriseRelease5specification提到兼容性:"SupportthetraditionalJNDIprogrammingmodelusedbyJavaSEandJavaEEclients."和使用OSGI不感知代码:"ClientsandJNDIContextprovidersthatareunawareofOSGiusestaticmethodstoconnecttotheJREJNDIimplementation.TheInitialContextclassprovidesaccesstoaContextfromaproviderand

java - 从 maven 切换到 gradle 来管理一个 osgi 大项目(>200 包)

我们有一个大的(~215个包,并且还在增加)osgi(felix+springdm)项目,使用maven和maven-osgi插件构建。我们有几个maven方式的问题:1.子模块pom必须从父pom继承以利用公共(public)变量和依赖项(没关系),但是父pom必须包含所有包pom才能将所有内容构建在一起。这种循环引用使得保持所有同步变得非常困难。2。子包的单独版本控制非常复杂,以至于(在我加入项目之前)决定对所有包使用相同的版本。这意味着我们现在也会为每个版本更新所有bundle的版本,即使实际上只是更改了其中的一部分。这使得osgi的整个概念有点毫无意义恕我直言。请注意,我并不是