这是大约在3-4年前完成的一个C#实现的OSGi框架,实现的过程参照了OSGi规范与与一些实现思路(感谢当时的那些资料与项目),此框架虽然仅在几个小型项目有过实际的应用,但OSGi的规范实现还是相对比较完整的,包涵了一些基本的要素,由于个人的项目重心已经转移,现在打算把它公开出来,供大家参考: G... ...
前言 OSGi是目前动态模块系统的事实上的工业标准,它适用于任何需要模块化、面向服务、面向组件的应用程序。Eclipse如此庞大和复杂的插件体系,就是基于OSGi。Liferay也是基于OSGi。OSGi是模块化设计的一种标准,适用于大中型项目。在一些小型项目中,开发者也可以自己设计私有的class ...
分类:
其他好文 时间:
2016-11-18 14:17:35
阅读次数:
442
hook开发是Liferay客制扩展的一种方式,比插件灵活,即可以扩展liferay门户,也能对原有特性进行更改,Liferay有许多内置的服务,比如用hook甚至可以覆盖Liferay服务。 可作为系统服务挂钩(Liferay Service Hook),还有其他类型的hook... Lifera ...
分类:
其他好文 时间:
2016-11-14 20:01:03
阅读次数:
409
dbeaver工具对很多数据库都支持,但目前对oracle支持的不是特别好,mysql还行吧,其他的还没怎么使用。下载dbeaver解压版后,点击dbeaver.exe刚开始是会报错误的在对应的目录下查看日志文件中有!MESSAGEFrameworkEventERROR!STACK0org.osgi.framework.BundleException:Couldnot..
分类:
数据库 时间:
2016-11-13 11:52:58
阅读次数:
2946
虚拟机设计团队把类加载阶段中的“通过一个类的全限定名来获取描述此类的二进制字节流”这个动作放到Java虚拟机外部去实现,以便让应用程序自己决定如何去获取所需要的类。实现这个动作的代码模块称为“类加载器”。但类加载器在类层次划分、OSGi、热部署、代码加密等领域大放异彩,成为了Java技术体系中一块重 ...
分类:
其他好文 时间:
2016-11-12 16:08:04
阅读次数:
238
一、OSGi的核心组件Bundle,与java中jar包的差别就是元数据配置: 常用的Bundle元数据定义: a) Bundle-Activator:定义Activator的实现全限定类名称,此类必须实现BundleActivator接口,并实现start和stop方法。当Bundle被OSGi容... ...
分类:
其他好文 时间:
2016-11-11 01:34:50
阅读次数:
341
OSGi 的由来 随着科技和需求的发展和变化,现在的软件变得越来越庞大。这样,随之而来的最大挑战就是软件在设计上的越来越复杂和维护上的越来越困难。为了解决这个问题,软件架构师将软件切分成比较小的并且易于理解的多个模块。那么软件模块化会给我们带来什么样的好处呢?拆分人力:将软件模块化后,我们就可以分配... ...
分类:
其他好文 时间:
2016-11-10 03:06:55
阅读次数:
239
对于web项目,会涉及到许多依赖关系。以jar包为例,可能项目本身只需要用到spring的一些jar包,但是spring又会依赖于其他jar包,而其他的jar包又有可能依赖于别的jar包,这样的传递关系可能会很长,层次会很深,这导致lib下的jar包很多,而且有时候我们并不知道所有的依赖关系。我们打 ...
分类:
其他好文 时间:
2016-11-07 01:39:30
阅读次数:
214
一、eclipse安装好maven插件之后,用maven的archetype创建一个OSGI项目,搭建好项目骨架。 二、可执行jar文件分为两种,一种是可通过命令行java -jar xxx.jar 可以直接运行的jar文件,一种是工其他jar文件调用的jar文件。第一种jar文件的META-INF ...
分类:
编程语言 时间:
2016-11-02 07:50:04
阅读次数:
234
使用工具编程的确能给人们带来很多便利,但是在不会用之前,且缺乏相应的中文资料让你去了解时,真是一种折磨,同时也是一种挑战。 bndTools其实就是用来开发OSGi的一个工具,它为开发提供了便利,具体是哪些便利,在在这里就不细说了。 花了一个星期,终于把bndtools的程序和逻辑整理清楚,不想说太 ...
分类:
其他好文 时间:
2016-10-26 20:18:09
阅读次数:
322