0 0

有没有人使用Felix + ipojo做开发的?0

有没有人使用Felix + ipojo做开发的?

有的话,可以多交流下。

现在用Felix + ipojo感觉真寂寞啊

问题补充:发现 @Context(Source.INSTANCE) 注解无效。
反复跟踪源码,结果是 BundleContextHandler 在处理实例Context注入的时候,InstanceManager中压根还没有设置InstanceContext。
设置部分在ManagedType.InstanceSupport.addService(...)方法内的:

ComponentInstance instance = m_future.get().createComponentInstance(instanceDeclaration.getConfiguration());
if (instance instanceof InstanceBundleContextAware) {
   ((InstanceBundleContextAware) instance).setInstanceBundleContext(instanceDeclaration
                                        .getBundle().getBundleContext());
}

要命的是 使用在前,设置在后...  后来查询到这事ipojo 1.12版本的BUG。

BUG编号:FELIX-4646  
https://issues.apache.org/jira/browse/FELIX/component/12311164/?selectedTab=com.atlassian.jira.jira-projects-plugin:component-summary-panel

问题补充:本以为这是 BundleContextHandler 实现有误,所以,试着重新定义了一个新的注解 @InstanceBundleContext,提供了一个新的Handler。
但最终发现仅仅通过Handler, 这个问题绕不过。
也许IPOJO需要调整 InstanceBundleContext的注入时机。

只能等ipojo的下一个版本了,不知道什么时候才会出来..现在是2014-10-15

问题补充:在GoGo控制台执行 update ** 命令,结果发现死锁。
要Update的bundle是通过 Install obr:*** 方式加载的。

发现控制台无反应后, 用JConsole检查了一下,发现
LogListenerThread所在的线程和Gogo Shell所在线程发生死锁。

以前也偶尔发现过执行命令后无反应的现象,由于是在调试,所以就重启Felix,没有太在意。
这种死锁还是比较头疼的事情...

难道不能使用org.apache.felix.log-1.0.1日志模块吗?

问题补充:关于以ipojo为主要组件模型的系统启动时性能监测。

目前找到的一个办法是实现QueueListener,并且把实现类作为QueueListener的服务进行注册。

大概原理是 ipojo下的各种依赖关系基本都是通过事件回调形式发生的,
这些事件任务被ipojo丢到了一个事件队列中,依次触发执行;
(当然ipojo自身提供了同步的、异步的队列服务,缺省情况下,是由PreferenceQueueService丢到一个异步队列中执行)

ipojo的队列服务提供了队列监听器,并且任务在执行时,会进行统计任务执行时间(参考JobInfoCallable类);QueueListener由ReplayQueueEventProxy进行触发。

问题补充:由于缺省情况下,ipojo的任务处理线程只开了一个([ipojo]pool-1-thread-1这个线程),
上面的性能统计基本能用,如果有并发任务的话,统计时间就不准了。
2014年10月10日 16:26
目前还没有答案

相关推荐

    Felix华为Felix开发和运行包。

    华为Felix开发和运行包

    felix+strust+spring-DM的例子

    最近一段时间有不少朋友发邮件给我要这个例子,有时候没有来得及回邮件,今天把代码上传到CSDN上,需要的下载吧,2个资源分,哈哈。 1、解压后,里面有5个工程,名字为abc的工程是个web工程,用来部署struts插件工程...

    Felix+struts2做的web示例

    参照网上的示例自己做的,主要是webapp这个bundle,可以运行

    Felix 和 Struts2 开发 Web 应用

    使用 Felix 和 Struts2 开发 Web 应用 采用了struts 构建web ,feilx 构建bundle

    iPOJO Toolbox-开源

    iPOJO-Toolbox包含几个项目,以简化Apache Felix iPOJO框架上方的组件的概念和使用。 它包含几个处理程序,一些标准的OSGi服务以及一个Eclipse插件,以及许多其他有用的功能。

    Struts2.1.8+Felix1.4+hibernate集成源码

    Struts2.1.8+Felix1.4+hibernate集成源码,内部是自己通过查资料以及编写部分中间件host-register完成Hibernate3.1.3,Struts2.1.8,felix-1.4的集成。该部分的说明会在博文中说明,敬请关注,大家共同进步。

    felix整合spring

    NULL 博文链接:https://kai2008.iteye.com/blog/493726

    springDM+felix

    springDM+felix

    FELIX

    FELIX

    OSGi and Apache Felix 3.0.pdf

    Simplify your OSGi development experience by learning about Felix iPOJO. A relentlessly practical beginner's guide that will walk you through making real-life OSGi applications while showing you the ...

    felix2.0.1

    Apache的Felix框架最新版本,OSGi容器,有需要的来这里下载。

    felix 可以用jar包

    felix 可以用jar包felix 可以用jar包felix 可以用jar包felix 可以用jar包felix 可以用jar包

    利用felix和struts2实现osgi web

    利用felix和struts2实现osgi web

    Felix---Java开发笔记20100628

    Java,Myeclispe,strtuts,hibernate,spring,js,ajax开发笔记,Felix笔记

    felix-framework-5.6.8

    osgi框架最新felix-framework-5.6.8,想找个felix插件版的,可惜404

    struts2+Hibernate+felix1.4.0 integrated

    felix1.4.0 集成struts2。1.8 Hibernate3.1.3

    felix 文档

    felix文档 一个简单的helloworld

    apache-felix-demo

    运用apache的felix,写的demo

    Felix 2.0.4

    OSGi In Practice作者的推荐OSGi框架的Felix 最新版本 2.0.4包括jar包,配置文件等等 学习OSGi必须的

    felix:Felix编程语言

    一种高级的,静态类型的,高性能的脚本语言,带有本机C ++嵌入。 产品特点 汽车制造商 这个文件: // hello.flx println$ "Hello World"; 可以直接运行: flx hello.flx 它只是有效。 没有makefile。 没有编译器...

Global site tag (gtag.js) - Google Analytics