- 浏览: 1167299 次
- 性别:
- 来自: 火星郊区
-
博客专栏
-
-
OSGi
浏览量:0
最新评论
-
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倍效率”开发者
文章列表
目前项目组在开发一个项目,由多个子模块构成,构建工具是maven,版本控制工具是svn。本文想对如何结合使用maven和svn提出一点初步的想法
一、只有svn的情况
首先考虑没有maven的情况。这样的话,项目组每个开发人员,都 ...
假设你打算结合多种技术来构建一个企业级web站点。比如,你准备采用J2EE技术往你的web站点里添加新内容,而这个系统的其他部分是用CGI或者微软的IIS Server搭建的。
在
这种情况下,怎样让你的应用系统从外观和感受(look and
feel)上保持一致呢?一种办案就是采用J2EE技术全部重写,然后选用一种框架,比如Struts-Tiles,但这种办案的开发成本太高,不太现
实。另一种可选方案是在你的应用系统的各个部分采用相同的Look and
Feel。但这种方案会使维护站点变成噩梦,因为每当一个应用系统里面的Look and
Feel需要改变的时候,你就需要让系统 ...
原版的
Eclipse
自带
WTP
,
WTP
本身的
Web
应用服务器管理功能强大复杂。要想把它用顺手,还要花点时间来学习一下。学会后还是很方便的。
一、WTP
本身的
Web
应用服务器管理功能
----------------------------------------------------------------------------
WTP
支持几乎所有
Web
应用服务器,支持的
Web
应用服务器种类请看下图。
...
首先加入 <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>
Jsp代码
<c:if test=
"${queryType == '1'}"
>
<c:if test="${ infoType == '0'}"
>
<div class="ttl_bar ttl_16"
> ...
随着OSGi/Equinox逐渐成为Java EE服务端的基础软件架构,OSGi上部署WEB应用程序的解决方案日渐成熟。这里介绍三种目前我们所知的解决方案,前两种是Equinox组织提出的方案,后一种是OpenCore平台采取的解决方案。
解决方案一: 部署OSGi/Equinox在Servlet容器中
具体实现: 把OSGi/equinox打包在WAR中,当Servlet容器加载WAR时,启动OSGi框架。
WEB-INF的目录结构大致如下(大致如此):
* /WEB-INF
o /web.xml (with one servlet entry ...
简介:
引用地址:http://www.java3z.com/cwbwebhome/article/article2/2962.html?id=1668
sitemesh应用Decorator模式,用filter截取request和response,把页面组件head,content,banner结合为一个完整的视图。通常我们都是用include标签在每个jsp页面中来不断的包含各种header,
stylesheet, scripts and
...
随着
Java SE
对模块化功能原生支持的一再推迟(据最新的消息,
Jigsaw项目——
Java
SE中的
标准模块系统
——
的开发工作相对滞后,已经延期到了
Java 9中
,而
Java 9
到
2015
年才有希望发布),
OSGi
作为事实标准的
Java
模块化实现得到了长足的发展,尤其是随着云计算和分布式技术的兴起,
OSGi
这种模块化、动态部署的核心功能将会受到越来越多的重视。
目前
OSGi
规范的主流实现框架是
Eclipse
Equinox
以及
Apache Felix
...
OSGI典型的应用案例主要有两个:分别是Eclipse和BMW汽车的应用控制系统。
Eclipse
Eclipse作为Java业界成功的IDE project,在3.0以前的版本它采用的是自己设计的一套插件体系结构,而Eclipse的插件体系结构在整个业界都是非常知名的,也是被认为非常成功的一种设计,但Eclipse在3.0版本时却做了一个重大决度,就是推翻它自己以前的插件体系结构(虽然开始只是做兼容的方式,随着版本的逐渐升高已经开始逐步的替换工作了),而转为直接采用OSGI作为其插件体系结构,这到底是为什么呢?
Eclipse的插件体系结构和OSGI的思想非常 ...
1、JRE版本无关性。虽然Java一直被人们认为是“Write Once, Run Anywhere”,但对于许多大型项目并非如此,常常因为不同JRE之间的一些小差别而花费巨大,被人们戏称为“Write Once,Debug Anywhere”。OSGi首先希望能消除这种无关性,因此它提供给人们一个比JRE更稳定的承诺。
2、嵌入式设备的开发平台。OSGi创立之初的方向是瞄准了J2ME,可以看到委员会成员多数都不是软件企业。倒是Moto和Nokia这类企业非常热心。
3、高于package的完整的组件形式,还包括自从有组件开发以来一直困扰人们的组件版本问题。(这个可不是jar包啊,jar包只 ...
不过重点是:
JMX 本来设计的用途就只为了管理,我们不该把他拿来 (over use) 作为开发应用程序的组件 (那是 EJB 或 JavaBeans 该做的事)。但 OSGi 却可以!
JMX 多数用于 server 系统中,而 OSGi 却不限于所开发的应用程序。你可以用它开发 embedded 系统、desktop 程序,甚至是 server 程序。
OSGi 不但提供了与 JMX 相似的容器管理能力,甚至它本身就是一套精密的 Framework。OSGi 采用Micro-Kernel 的架构,可以提供无限延伸的功能。OSGi 的 Bundles 在线更新功能、以及 ...
registerResources()方法详解
1、简介
registerResources(...)是org.osgi.service.http.HttpService类中提供的方法,可以直接向jetty服务器中注册静态的资源。
2、使用说明
registerResources(String alias, String name, HttpContext context)
A、参数 alias
作用:
设置访问内容相对的URL地址
约束:
1)不能为空 null
2)必须以 / 开始
3)可以设置为 /
4)不能以 / 结束
...
在equinox环境中开发web应用必须要借助一些工具包提供的功能,实现web服务器和equinox环境中资源的互通。
equinox提供了org.eclipse.equinox.http.helper包,将equinox环境下以bundle形式存在的web应用内容注册到web服务器中。这些内容涵盖了所有java servlet规范中的内容,包括servlet、filter、listener等。还可以将传统java技术框架Spring+Struts+Hibernate+Acegi融入equinox环境中,继续发挥他们的优势。同时,对已有的传统java技术框架开发的项目和产品实现在equinox ...
osgi的equinox实现环境下,web服务器和web应用都是以osgi的bundle的形式部署到equinox环境中的。
在equinox下部署web服务器的资源与非equinox(osgi)环境下有一些不同,这为使用Spring+Struts+Hibernate的应用向equinox环境转移带来了一定的困难。而在spring中使用acegi的应用的转换麻烦要更多一些。
equinox环境自带了jetty 5.X 作为默认的web服务器。
OSGi中在org.osgi.service.http.HttpService接口中提供向web服务器部署资源的两个方法:registerServl ...
软件的复杂性正在以惊人的速度在上升。现在,这些软件的复杂性,有很大一部分是由于缩短了产品的周期,以及功能性需求的大幅度增加,还有相同的产品为了适应不同环境的需要产生的多个版本。这种趋势已经导致软件的成本 ...
Eclipse为开发OSGI Bundle提供了良好的支持,它不仅提供向导来创建OSGi
Bundle,而且还提供了内嵌的OSGi框架实现(即Equinox容器),可以使用该容器执行和调试Bundle。从本质上说,每一个Eclipse
插件都是一个OSGi Bundle,只不过这个OSGi
Bundle增加了一些Eclipse专用的代码而已。下面通过具体的例子来介绍如何用Eclipse来开发OSGi Bundle。
一、新建Bundle
1、在Eclipse的新建向导中选择“Plug-in Project”并点击“Next”按钮,你将看到插件项目对话框。
...