osgi

FileAppender not writing anything in log4j

大兔子大兔子 提交于 2020-03-23 01:58:07
问题 I have a small problem using log4j and FileAppender . When I am using ConsoleAppender , everything is working well but FileAppender won't ever produce a file (or write into a file). Moreover, I have no errors concerning log4j in the osgi console. Here's my configuration : # main link (console or file, depending on what we want) # log4j.category.com.foo=DEBUG, console log4j.category.com.foo=DEBUG, file # log4j.category.com.foo=DEBUG, console, file # console logging log4j.appender.console=org

Java类加载器ClassLoader总结

走远了吗. 提交于 2020-03-22 14:36:08
3 月,跳不动了?>>> JAVA类装载方式,有两种: 1.隐式装载, 程序在运行过程中当碰到通过new 等方式生成对象时,隐式调用类装载器加载对应的类到jvm中。 2.显式装载, 通过class.forname()等方法,显式加载需要的类 类加载的动态性体现: 一个应用程序总是由n多个类组成,Java程序启动时,并不是一次把所有的类全部加载后再运行,它总是先把保证程序运行的基础类一次性加载到jvm中,其它类等到jvm用到的时候再加载,这样的好处是节省了内存的开销,因为java最早就是为嵌入式系统而设计的,内存宝贵,这是一种可以理解的机制,而用到时再加载这也是java动态性的一种体现 java类装载器 JDK 默认提供了如下几种ClassLoader Bootstrp loader Bootstrp加载器是用C++语言写的,它是在Java虚拟机启动后初始化的,它主要负责加载 %JAVA_HOME%/jre/lib , -Xbootclasspath 参数指定的路径以及 %JAVA_HOME%/jre/classes 中的类。 ExtClassLoader Bootstrp loader加载ExtClassLoader,并且将ExtClassLoader的父加载器设置为Bootstrp loader.ExtClassLoader是用Java写的,具体来说就是 sun.misc

osgi笔记

Deadly 提交于 2020-03-21 23:41:43
Bundle-Classpath可以实现内嵌jar。 一个Bundle的Activator不需要进行Export 一个Package中的类被两个ClassLoader加载,包中的Private class对于两个ClassLoader之间是相互不可见的。 Manifest语法:  name: value,我们称之为一个条目,Manifest文件有不受限制的条目个数,其中name是不区分大小写,可以包含字母数字,下划线,中划线,Value可以包含除子\r, \n之后的所有字符,name和value之间必须用一个冒号和一个空格分隔开,一行不能超过72个字符,超过72字符部分需要从下一行,以一个空格开始继续写, Manifest中空行或者全是空格的行用来划分属性group。osgi只取第一个group中定义的name value。 Osgi Manifest的条目定义形式如下,value中有多个clause(用","分隔),每个clause中包含有target,directive和attribute三部分。其具体语法请参考OSGi In action一书或者OSGI规范。不过一般不需要纠结于这一点,看了下面的一些例子相信大部分读者都能“不攻自破”,但书面表达起来的确是个问题。 Property-Name: target1; dir1:=value1; attr1=value2,

java ftpserver

▼魔方 西西 提交于 2020-03-21 20:14:44
3 月,跳不动了?>>> Welcome to Apache FtpServer Overview The Apache FtpServer is a 100% pure Java FTP server. It’s designed to be a complete and portable FTP server engine solution based on currently available open protocols. FtpServer can be run standalone as a Windows service or Unix/Linux daemon, or embedded into a Java application. We also provide support for integration within Spring applications and provide our releases as OSGi bundles. The default network support is based on Apache MINA , a high performance asynchronous IO library. Using MINA, FtpServer can scale to a large number of

MITK

那年仲夏 提交于 2020-03-21 09:34:53
3 月,跳不动了?>>> [TOC] 1. MITK架构 ITK:图像算法 VTK:图像显示,移动,旋转,缩放,交互式的 CTK:插件,DICOM支持,插件支持OSGI插件热插拔实现 QT:UI应用支持框架 1.1 OSGI OSGi模块化框架,可以动态加载、更新和卸载模块而不用停止服务,根据 OSGi 规范建模的C ++动态组件系统。它启用了一种开发模型,其中应用程序是按照面向服务的方法(动态)由许多不同(可重用)的组件组成的的. 1.2 CTK插件 (The Common Toolkit) 1.2.1 DICOM 链接pacs系统 ​ 提供高级类,以支持从PACS和本地数据库进行查询和检索操作。包括Qt小部件,可轻松建立服务器连接并发送查询和查看结果 1.2.2 DICOM Application Hosting 本地的开发的DICOM应用 ​ 它提供了用于创建主机和托管应用程序的基础结构。该项目仍处于Alpha状态,但可能对一致性测试和初始实验有用 1.2.3 QT 挂载其他应用 ​ Qt小部件的集合,用于生物医学成像应用 1.2.4 Plugin Framework OSGI开发模块 ​ 根据 OSGi 规范建模的C ++动态组件系统。它启用了一种开发模型,其中应用程序是按照面向服务的方法(动态)由许多不同(可重用)的组件组成的。 1.2.5 Command Line

OSGi与Maven、Eclipse PlugIn的区别

雨燕双飞 提交于 2020-03-18 17:11:11
某厂面试归来,发现自己落伍了!>>> osgi 的框架 apache felix equinox osgi的bundle 、 maven 的 module 、 Eclipse 的 PlugIn 的区别。。。。 OSGi与Maven Maven也具有模块化系统的特征;但是它只是一个编译时工具,而不是运行时框架。Maven并不是OSGi的竞争者,而是OSGi的一个补充。 通过在pom.xml中指定所依赖jar包的名称、版本号,Maven就能在编译时自动下载正确的jar文件,并部署到classpath中。 然而Maven并没有解决JAR文件的缺点: 同样使用全局的classpath; 同样不能做到包级别的信息隐藏; 而且pom.xml的格式与OSGi格式并不兼容。所以,如果用Maven编译OSGi系统,通常需要定义两遍metadata: 在pom.xml中定义Maven的metadata 在MANIFEST.MF中定义OSGi的metadata OSGi与Eclipse PlugIn Eclipse平台是基于Equinox的,而Equinox就是OSGi的实现之一。 而在Eclipse3.0之前,却使用的是另一套模块系统;Eclipse PlugIn是指包含plugin.xml的文件夹;plugin.xml中定义的metadata和OSGi的MANIFEST.MF非常类似

OSGI学习总结---Equinox各种命令

亡梦爱人 提交于 2020-03-18 17:01:37
某厂面试归来,发现自己落伍了!>>> OSGJ:Equinox for Eclipse(Luna) 命令 launch - start the OSGi Framework shutdown - shutdown the OSGi Framework close - shutdown and exit exit - exit immediately (System.exit) init - uninstall all bundles setprop <key>=<value> - set the OSGi property ---Controlling Bundles--- install - install and optionally start bundle from the given URL uninstall - uninstall the specified bundle(s) start - start the specified bundle(s) stop - stop the specified bundle(s) refresh - refresh the packages of the specified bundles update - update the specified bundle(s) ---Displaying Status---

is not exported by the bundle dependecies

。_饼干妹妹 提交于 2020-03-18 16:28:41
某厂面试归来,发现自己落伍了!>>> 在IntelJ中使用MAVEN构建OSGI项目时例如opendaylight,引用其他项目是打包成bundle的会报错误,实际上是可以编译通过的。 解决方案: Inspections --> OSGI --> Package accessibility 勾选掉就可以了 来源: oschina 链接: https://my.oschina.net/u/1271447/blog/3197499

Difference between Import-Package resolution:=optional and no dependency at all

故事扮演 提交于 2020-03-18 06:22:57
问题 I have read here to use the optional resolution within the "Import-Package" directive carefully, but don't really understand why. Also what is the difference between optional and not specifying a dependency at all? 回答1: If you fail to specify an Import-Package at all, then your bundle cannot access the package even if it available and exported by some other bundle . If you import the package optionally, then your bundle can use it if available, but that package not being available does not

Configure Response object for Rest Services inside a Jersey-Grizzly server, in OSGi container (CORS error prevention with Jersey 1x)

不问归期 提交于 2020-03-05 11:49:16
问题 The last couple of days, I have been struggling with an issue. I've created a rest service hosted by a Grizzly server inside an OSGi container. Everything is working perfectly at this point. Now, I want to add a header in every response.Not so complex or illogical right? Yet, I can't find a way to do it. I have tried to: 1) Get the response object inside the rest functions as this question suggests (pretty textbook when you are not under OSGi). 2) Add a handler using the code above (in this