- 浏览: 255400 次
- 性别:
- 来自: 北京
最新评论
-
aquarion:
非常感谢,解决了我的问题
Perspective 自定义设置扩展点 -
zheng_zhen:
好文章,进一步问您一下,请问自己实现的run/debug如何能 ...
【原创】Eclipse Launcher (Run/Debug As 菜单扩展)实现 -
salever:
mwdnjupt 写道http://www.xeclipse. ...
浅析OSGI的bundle依赖 -
mwdnjupt:
http://www.xeclipse.com/?p=1165 ...
浅析OSGI的bundle依赖 -
Tom.X:
插件化、模块化应遵循高内聚、低耦合的原则,尽量不要在各bund ...
浅析OSGI的bundle依赖
文章列表
本文同步发表在http://www.xeclipse.com/?p=1324上
在Java的List类型集合中,ArrayList和LinkedList大概是最常用到的2个了,细看了一下它们的实现,发现区别还是很大的,这里简单的列一下个人比较关心的区别。
类声明
ArrayList
public class ArrayList<E> extends AbstractList<E>
implements List<E>, RandomAccess, Cloneable, java.io.Serializable
LinkedLis ...
本文同步发表在 http://www.xeclipse.com/?p=1300
最近又抽空看了一下java的System类,发现了一些有意思的地方,做一个简单的整理吧,免得忘记了。
public final class System extends Object
System 类包含一些有用的类字段和方法。它不能被实例化。
在 System 类提供的设施中,有标准输入、标准输出和错误输出流;对外部定义的属性和环境变量的访问;加载文件和库的方法;还有快速复制数组的一部分的实用方法。
以上源自JDK 6.0的官方API说明,这里分享一下个人的理解。
这个类有几个比较重要的方法,比如 ...
最近遇到这样一个问题,使用JFreechart 1.0.13开发的程序,在Windows上正常运行,到Linux下就莫名其妙的报错了,查看log,出现了
Caused by: java.lang.NoClassDefFoundError
at org.jfree.chart.ChartFactory.createBarChart...
一般的出现NoClassDefFoundError,都是因为缺少Java Class的依赖,而且会提示缺少的Class名字,这个就比较怪了,这里我们看看如何处理这类的问题。
出错原因
Google一下
java.lang.NoClassD ...
上一篇文章,简单的介绍了最基础的Dynamic Service的实现。使用Service Tracker可以实现动态的查找调用Service,但是这种实现不适用于大型的项目,想像一下如果有几百个bundle的servide相互查来查去的,岂不是一件很痛苦的事情。
OSGI 4提供了Declarative Service,简称DS,它提供了XML的方式去声明Service,实现bind和unbind。
声明Service
具体见:http://www.xeclipse.com/?p=1229
OSGI本身是松散结构的,Bundle之间的依赖关系最好不要定死,尤其是不要根据Bundle的启动顺序,来决定bundle是不是能够使用。所以OSGI引入了Dynamic Service的概念,动态的Service使得Bundle的启动不依赖于固定的顺序。
这里面涉及到Service的register和unregister,以及Service Event的监听等,这里就不详细讲解了,而且个人也不一定能完全讲得清楚。
具体见:http://www.xeclipse.com/?p=1223
OSGI的Service,就不介绍了。它主要是为了解除bundle之类的“死”依赖,将具体的实现与API接口分离。下面看看如何在OSGI应用中使用Service。
测试环境:eclipse 3.6, Equinox
首先是测试的plugin project——org.equinoxogsi.toast.dev.gps
详细见:http://www.xeclipse.com/?p=1220
前言
中国Eclipse社区(www.ceclipse.org)由于网站备案原因,为已经无法访问,目前正在重新申请备案中。这里把一些常见的Eclipse RCP开发的资料整理一下,以作为过渡时期的参考。
Eclipse RCP/GEF/EMF资料
Eclipse RCP的资料,这里提供一些比较经典的,更多的资料下载和咨询请看最后的说明。
_salever_开始的为个人整理的资源。
Note
如果以下内容侵犯了您的权利,请告诉博主,博主将删除相关资源。
中国Eclipse社区大概是国内唯一的一个Eclipse RCP的技术论坛了,作为一个非营利性的社区,它尽力 ...
OSGI中的bundle在依赖其他的bundle的时候,有两种方式:Require-Bundle与Imported-Package。这里简单的讲讲他们之间的区别。
先看看基础的定义:
Required-Bundle: Specify the list of plug-ins required for the operation of this plug-in.
Imported-Package:Specify packages on which this plug-in depends without explicitly identifying their origina ...
上一篇文章,我们谈到了基础的bundle依赖关系,以及当依赖的bundle出现问题的时候的情况。
这里看一个更常见的情况,当依赖的多个插件同时Export了相同的package的时候,bundle如何处理呢?
先预测一下:
据依赖中的顺序来的,优先使用顺序靠前的bundle中的package
还是简单的搭建一个场景测试一下。
测试环境:Eclipse 3.6 、Equinox
Bundle是OSGI中的基础元件,不同的bundle之间可以相互依赖、引用,这样许多bundle才会共同协作,实现一些比较复杂的功能。Bundle的依赖一直是一个比较棘手的问题,包括Lazy start等,下面我们具体Bundle依赖到底是怎么一回事。
测试场景:Eclipse 3.6, Equinox
先看看基础的依赖问题
具体见 http://www.salever.cn/?p=1165
昨天论坛一个朋友问起http://download.eclipse.org/eclipse/downloads/drops/R-3.7-201106131736/winPlatform.php这页面的内容,每个部分都是干什么的。这里简单的整一下。
其实很简单,这个页面就是介绍了在Eclipse Project在Windows平台下,提供了哪些可供下载的包。
这个就是Eclipse
The Idempotent Consumer from the EIP patterns is used to filter out duplicate messages.
This pattern is implemented using the IdempotentConsumer class. This uses an Expression to calculate a unique message ID string for a given message exchange; this ID can then be looked up in the IdempotentReposit ...
Camel组件之PipesAndFilters
- 博客分类:
- Camel
Camel supports the Pipes and Filters from the EIP patterns in various ways. With Camel you can split your processing across multiple independent Endpoint instances which can then be chained together.
PipesAndFilters就是用来提供”链式“处理流程的,比如”登录-验证-放行“等。
Pipes,指的就是Pipe Line,就是把一些操作连接起来,类似于管道操作 ...
Camel组件之ContentEnricher
- 博客分类:
- Camel
Camel supports the Content Enricher from the EIP patterns using a Message Translator, an artibrary Processor in the routing logic or using the enrich DSL element to enrich the message.
Enric
很久以前就准备学学Eclipse的Equinox了,刚好弄到了这本
OSGi+and+Equinox:Creating+Highly+Modular+Java+Systems
刚好系统的过一遍。
先把电子版贡献上来吧
Equinox 概述
Equinox是一个标准OSGI的实现,换一句话说,就是一个OSGI容器。Eclipse使用Equinox管理所有的bundle,使得Equinox变成了Eclipse的基础架构。
Equinox的前身是IBM Service Management Framework(SMF),在Eclipse决定将其作为OS ...