- 浏览: 1152671 次
- 性别:
- 来自: 火星郊区
博客专栏
-
OSGi
浏览量:0
文章分类
- 全部博客 (695)
- 项目管理 (48)
- OSGi (122)
- java (79)
- Vaadin (5)
- RAP (47)
- mysql (40)
- Maven (22)
- SVN (8)
- 孔雀鱼 (10)
- hibernate (9)
- spring (10)
- css (3)
- 年审 (6)
- ant (1)
- jdbc (3)
- FusionCharts (2)
- struts (4)
- 决策分析 (2)
- 生活 (10)
- 架构设计 (5)
- 破解 (2)
- 狼文化 (4)
- JVM (14)
- J2EE (1)
- 应用服务器 (1)
- 我的链接 (5)
- 数学 (2)
- 报表 (1)
- 百科 (6)
- Flex (7)
- log4j (2)
- PHP (1)
- 系统 (2)
- Web前端 (7)
- linux (6)
- Office (1)
- 安全管理 (5)
- python (2)
- dom4j (1)
- 工作流 (3)
- 养生保健 (4)
- Eclipse (8)
- 监控开发 (1)
- 设计 (3)
- CAS (1)
- ZK (41)
- BluePrint (3)
- 工具 (1)
- SWT (7)
- google (2)
- NIO (1)
- 企业文化 (2)
- Windoes (0)
- RCP (7)
- JavaScript (10)
- UML (1)
- 产品经理 (2)
- Velocity (10)
- C (1)
- 单元测试 (1)
- 设计模式 (2)
- 系统分析师 (2)
- 架构 (4)
- 面试 (2)
- 代码走查 (1)
- MongoDB (1)
- 企业流程优化 (1)
- 模式 (1)
- EJB (1)
- Jetty (1)
- Git (13)
- IPV6 (1)
- JQuery (8)
- SSH (1)
- mybatis (10)
- SiteMesh (2)
- JSTL (1)
- veloctiy (1)
- Spring MVC (1)
- struts2 (3)
- Servlet (1)
- 权限管理 (1)
- Java Mina (1)
- java 系统信息 (6)
- OSGi 基础 (3)
- html (1)
- spring--security (6)
- HTML5 (1)
- java爬虫搜索 (1)
- mvc (3)
最新评论
-
Tom.X:
http://osgia.com/
将web容器置于OSGi框架下进行web应用的开发 -
chenyuguxing:
你好, 为什么我的bundle export到felix工程中 ...
在Apache Felix中运行bundle -
string2020:
<niceManifest>true</ni ...
Bundle Plugin for Maven -
jsonmong:
OSGI,是未来的主流,目前已相当成熟。应用OSGI比较好的, ...
基于OSGi的声明式服务 -
zyhui98:
貌似是翻译过来的,有很少人在linux上做开发吧
如何成为“10倍效率”开发者
思路就是通过bundleContext来取得资源。
首先,要在对应的插件中先建立一个Activator需要实现BundleActivator接口,
代码
:
- import org.osgi.framework.BundleActivator;
- import org.osgi.framework.BundleContext;
- public class Activator implements BundleActivator {
- private static BundleContext bundleContext;
- public static BundleContext getBundleContext() {
- return bundleContext;
- }
- public void start(BundleContext context) throws Exception {
- Activator.bundleContext = context;
- }
- public void stop(BundleContext context) throws Exception {
- }
- }
然后再需要查找资源的地方,取得bundleContext,通过bundleContext的getResource方法取得URL类型的resource,代码:
- public static InputStream getResourceByContext(String path) {
- try {
- BundleContext bundleContext = Activator.getBundleContext();
- URL resource = bundleContext.getBundle().getResource("/web" + path);
- InputStream in = resource.openStream();
- if (in == null ) {
- String msg = "\nNot found \"" + path + "\";" ;
- log.error(msg);
- }
- return in;
- } catch (IOException e) {
- e.printStackTrace();
- } finally {
- }
- return null ;
- }
注意这里的路径,是从直接写工程文件夹下开始写。
另外,楼下说的
Thread.currentThread().getContextClassLoader().getResource()
也是可以取到的
发表评论
-
关于Felix Log Service
2012-12-07 16:44 1574OSGi服务纲要规范中定义了服务于OSGi平台的通用日志服 ... -
Maven 3 Felix 4 Eclipse 的搭建与部署(部分转载自别人文章)
2012-10-18 10:24 20404.1.开发环境搭建 4.2开发工具 Maven 3 F ... -
【绝对路径】OSGi环境中获取Plugin/Bundle中文件资源的绝对路径
2012-10-08 10:53 2510摘要:在进行Eclipse RCP开发的过程中,需要使用一 ... -
OpenCore:基于OSGi开发纯插件体系结构的WEB应用程序
2012-09-21 17:46 1426随着OSGi/Equinox逐渐成为Java EE服务端的基础 ... -
OSGi技术在Java Web开发中的应用
2012-09-20 11:26 1418随着 Java SE 对模块化功能原生支持的一再推迟(据最 ... -
OSGI典型的应用案例
2012-09-20 11:26 1639OSGI典型的应用案例主要有两个:分别是Eclipse和BMW ... -
OSGi特点
2012-09-20 11:26 12561、JRE版本无关性。虽然Java一直被人们认为是“Write ... -
OSGI与JMX 的关系
2012-09-19 17:09 1064不过重点是: JMX 本来设计的用途就只为了管理,我们不 ... -
在equinox环境开发web应用的"利器" -- registerResources()方法 详解
2012-09-19 17:07 1239registerResources()方法详解 1、简介 ... -
在equinox环境开发web应用的"利器" -- 序
2012-09-19 17:05 1370在equinox环境中开发web应用必须要借助一些工具包提供的 ... -
equinox环境下web应用资源的部署
2012-09-19 17:04 1311osgi的equinox实现环境下,web服务器和web应用都 ... -
OSGi产生的背景--在繁荣的混乱之中走出困惑
2012-09-19 16:58 1172软件的复杂性正在以惊 ... -
将web容器置于OSGi框架下进行web应用的开发
2012-09-16 14:26 3546将web容器置于OSGi框架下,其实就是将web容器做成OSG ... -
在Eclipse中开发OSGi Bundle
2012-09-16 14:26 1337Eclipse为开发OSGI Bundle提供了良好的支持,它 ... -
【第一代服务注册形式】 - 将一个Bundle注册为服务
2012-09-14 10:09 11581、创建业务接口类及其实现类 Java代码 ... -
Declarative Services规范简介及应用
2012-09-14 10:08 1424Declarative Services 是一 ... -
用FileInstall管理Bundle的动态安装、启动、卸载
2012-09-14 10:07 13351、文件目录如下: F:\study_osgi ... -
服务工厂 - Bundle消费者返回不同的服务对象
2012-09-14 10:03 1210一般情况下,服务对象在注册后,任何其它的Bundle在请求 ... -
服务跟踪(ServiceTracker)
2012-09-14 09:58 1164当多个Bundle使用同一 ... -
OSGi容器中Bundle之间Synchronous Communication
2012-09-11 17:07 1566OSGi Core定义了一个服务层,提供了一个Bundl ...
相关推荐
8. `org.springframework.osgi.io`:这个模块提供了OSGI环境下的资源读取和加载功能,如读取bundle中的配置文件。 9. `org.springframework.osgi.core`:这是Spring OSGI的核心模块,包含了一些基础的OSGI服务和...
- 构建bundle:使用构建工具如Maven或Gradle,配置相应的Osgi插件来生成bundle JAR文件。 4. **Eclipse中的Osgi实现** 描述中提到的"简单用代码解释了过程"可能指的是通过Eclipse插件开发的过程。在Eclipse中,...
通常,Eclipse插件的开发会包括一个或多个插件项目,每个项目包含plugin.xml定义插件元数据,以及src目录下的源代码和资源文件。安装包可能是一个.zip或.jar文件,用户可以通过Eclipse的“Install New Software”...
3. **资源清理**:卸载过程中,Jira会释放插件占用的所有资源,包括数据库记录、文件系统中的文件等。 4. **物理删除**:最后,Jira会从插件目录中删除插件的文件和目录,完成卸载过程。 四、Spider插件示例 ...
在启动时,插件加载器会读取 `plugin.xml` 文件中的信息,从而构建起整个插件体系。 - **OSGi (Open Services Gateway Initiative)**:作为 Eclipse 插件架构的基础层,OSGi 提供了一种动态模块化环境,使得插件...
启动后,框架会读取所有插件的清单文件,识别其依赖关系,并准备它们的加载顺序。 第三步,获取插件上下文。插件上下文是每个插件与框架交互的主要接口,它提供了注册服务、查找服务、获取配置和其他插件相关操作的...
- `content.jar`和`artifacts.jar`包含插件的元数据和实际内容,这些文件在安装过程中被Eclipse读取。 - `content.xml.xz`和`artifacts.xml.xz`是压缩的XML文件,存储了插件的详细信息,如版本、依赖、描述等。 - `...
这个插件对于开发者来说非常有用,特别是在项目中需要频繁更新或引入新的库文件时,它可以自动帮助下载所需的jar包,节省手动操作的时间。 插件的核心功能是自动化处理Java项目的依赖管理。在传统的开发流程中,...
在Eclipse插件开发中,这样的包结构通常包含插件的源代码、资源文件、元数据等。 6. **使用流程**: 开发者首先需要将这个插件安装到Eclipse中,然后在Eclipse的插件界面找到并启用它。接着,配置数据库连接,选择...
标题中的“tree 通过插件加载图片”指的是在软件开发中,如何利用特定的插件或者功能,在树形结构(Tree)中加载和显示图片。树形结构是一种常见的数据展示方式,尤其在文件管理器、数据库浏览器或者GUI应用程序中,...
3. **数据加载(Loading)**:处理后的数据可以被加载到新的数据仓库、数据库或者文件系统中。Kettle支持批量和增量加载,确保高效且低影响地将数据导入目标系统。 4. **工作流(Job)和转换(Transformation)**:...
JCaptcha4Struts2 是一个 Struts2的插件,用来增加验证码的支持,使用时只需要用一个 JSP 标签 (<jcaptcha:image label="Type the text "/> ) 即可,直接在 struts.xml 中进行配置,使用强大的 JCaptcha来生成验证码...
4. **content.xml.xz**和**artifacts.xml.xz**:这些是经过xz压缩的版本,用于减小文件大小,节省存储空间,同时不影响文件内容的读取。xz是一种高压缩比的数据压缩格式,适用于大文件的存储和传输。 5. **plugins*...
Eclipse的插件体系基于OSGi模块化系统,每个插件都是一个独立的JAR文件或目录,包含了实现特定功能的Java代码和资源。在这个目录下,你会找到Eclipse Vi Plugin的核心代码和资源。 在使用Eclipse Vi Plugin时,你...
- **启动流程**: 当系统运行后,会先读取MANIFEST.MF文件中的`Bundle-Activator`属性来确定启动类。 - **示例**: `MyRCPPlugin`作为启动类,它实现了必要的接口,并在`plugin.xml`中进行了配置。 通过上述详细介绍...
- 设计引擎读取`.rptdesign`文件,将报表设计转换为执行时的数据结构。 - 报告引擎使用这些数据结构来渲染报表,并支持多种输出格式,如PDF、HTML、Excel等。 2. **API概述** - **OSGi启动和引擎创建**:使用...
- 为了从Excel文件中读取数据,程序可能使用了Apache POI库,这是一个Java API,可以处理Microsoft Office格式的文件。 - POI提供了HSSF(Horrible Spreadsheet Format)API来处理.xls格式,XSSF(XML Spreadsheet...
通常,完整的源码包会包含多个文件夹和文件,如项目的源代码文件(.java)、资源文件(如音频、视频、图片)、配置文件(如XML或.properties)、构建脚本(如Ant或Maven的pom.xml)以及可能的测试代码和文档。...
`features`可能包含描述如何安装和配置Apache POI的特性文件,而`plugins`可能包含实际的插件实现,使得Apache POI能在特定环境中运行。 Apache POI的工作原理涉及解析Office文档的二进制格式,如Excel的BIFF...
2. **查找并修改工作空间路径**:在文件中找到大约第6行的内容,其格式类似于`osgi.instance.area.default=@user.home/Workspaces/MyEclipse 8.5`。这一行指定了MyEclipse的默认工作空间路径。 3. **更改路径**:...