-
有没有人使用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是Apache软件基金会下的一个项目,它是一个基于OSGi(Open Service Gateway Initiative)规范的...
标题 "Felix+Struts2做的web示例" 暗示了这是一个使用Apache Felix作为OSGi容器,并结合Struts2框架构建的Web应用程序。Apache Felix是一个开源的OSGi实现,它允许开发者将应用程序分解为模块化组件,使得代码更易于...
最近一段时间有不少朋友发邮件给我要这个例子,有时候没有来得及回邮件,今天把代码上传到CSDN上,需要的下载吧,2个资源分,哈哈。 1、解压后,里面有5个工程,名字为abc的工程是个web工程,用来部署struts插件工程...
在开发Web应用的过程中,Felix和Struts2是两种重要的技术。Felix是Apache软件基金会提供的一个开源实现,它是基于OSGi(Open Service Gateway Initiative)规范的Java框架,主要用于管理和运行模块化的Java应用程序...
Apache iPOJO是Apache Felix项目的一个子项目,它提供了一种在Java应用程序中声明和管理组件的方式,特别适用于OSGi(Open Services Gateway Initiative)环境。Maven iPOJO插件则允许开发者在Maven构建流程中处理...
iPOJO-Toolbox包含几个项目,以简化Apache Felix iPOJO框架上方的组件的概念和使用。 它包含几个处理程序,一些标准的OSGi服务以及一个Eclipse插件,以及许多其他有用的功能。
Struts2.1.8+Felix1.4+hibernate集成源码,内部是自己通过查资料以及编写部分中间件host-register完成Hibernate3.1.3,Struts2.1.8,felix-1.4的集成。该部分的说明会在博文中说明,敬请关注,大家共同进步。
标题中的“springDM+felix”指的是在Java领域中,Spring Dynamic Modules (Spring DM) 和Apache Felix两个开源框架的结合应用。Spring DM是Spring框架的一个扩展,专门用于服务导向架构(SOA)和OSGi(Open Services ...
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 ...
felix软件包是Apache Felix项目的一部分,它是一个开源的实现,完全符合OSGi(开放服务网关倡议)规范的框架。OSGI是一种模块化系统,主要用于Java应用程序,它提供了动态模块发现、加载和管理的能力,使得开发人员...
### Apache Felix:OSGi规范的实现 #### 一、Apache Felix简介 Apache Felix 是一个遵循 OSGi(Open Service Gateway Initiative)R4 规范的开源实现。OSGi 是一个面向服务的架构,旨在为 Java 应用程序提供模块化...
标题中的"Felix 可以用jar包"表明我们讨论的是Apache Felix,这是一个开源的OSGi框架,它允许开发者管理和运行Java模块化应用。OSGi(Open Service Gateway Initiative)是一种Java平台上的服务导向架构,用于创建...
Felix Framework是Apache软件基金会开发的一个开源OSGi(Open Service Gateway Initiative)框架,它为Java应用程序提供了一种模块化开发的方式。OSGi是一种标准的Java模块系统,它允许开发者将复杂的软件系统分解为...
在Felix 2.0.4中,你可以通过命令行界面或使用图形用户界面(如Felix Gogo Shell)来操作这些概念,进行模块的安装、启动和调试。同时,Felix还提供了丰富的API和工具集,方便开发者进行集成和扩展。 总结起来,...
Apache Felix 演示(apache-felix-demo)通常是为了展示如何在 OSGi 环境中开发和运行应用程序,帮助开发者理解 Felix 的工作原理和使用方法。 在这个 demo 中,"order" 可能代表一个订单处理系统的实例,展示了...
在开发使用Felix的OSGi应用时,首先需要准备开发环境,这通常涉及到JDK、Maven和Felix这三个主要部分。JDK是Java Development Kit,是Java应用开发的必备工具。Maven则是项目管理工具,用于项目的构建、报告和文档...
Felix Plugin则是在Felix OSGi环境中使用的插件,用于扩展和增强Felix的功能。 这篇名为“osgi felix plug in”的博文虽然链接不可用,但我们可以基于OSGi和Felix的基本概念来探讨相关的知识点。 1. **OSGi模块...
10. **模块化开发**:使用 Felix 框架,开发者可以将大型复杂应用分解为多个小的、独立的模块,每个模块负责特定的功能,便于维护和升级。 综上所述,"org.apache.felix.main.distribution-4.2.1.zip" 压缩包包含了...
Struts2、Hibernate和Felix是Java开发中的三个重要组件,它们在企业级应用开发中起着关键作用。Struts2是一个MVC(Model-View-Controller)框架,用于构建可维护性和可扩展性高的Web应用程序。Hibernate则是一个对象...
在IT行业中,OSGI(Open ...熟悉OSGI和Felix的使用对于进行现代企业级Java应用开发是十分有益的。在实际开发中,你可能还需要学习更多关于OSGI服务、生命周期管理和配置管理的知识,以便更好地利用这个强大的框架。