??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲自拍偷拍一区,一区二区三区免费观看,四季av一区二区三区免费观看http://www.aygfsteel.com/bluepluto/category/46641.htmlzh-cnThu, 14 Oct 2010 13:46:06 GMTThu, 14 Oct 2010 13:46:06 GMT60Apache Geronimo 3.0 - JSF Integrationhttp://www.aygfsteel.com/bluepluto/archive/2010/10/14/335178.html蓝色的冥王星蓝色的冥王星Thu, 14 Oct 2010 13:30:00 GMThttp://www.aygfsteel.com/bluepluto/archive/2010/10/14/335178.htmlhttp://www.aygfsteel.com/bluepluto/comments/335178.htmlhttp://www.aygfsteel.com/bluepluto/archive/2010/10/14/335178.html#Feedback0http://www.aygfsteel.com/bluepluto/comments/commentRss/335178.htmlhttp://www.aygfsteel.com/bluepluto/services/trackbacks/335178.html      ?JSF 2.0 ? d了以下几个特? 促需要对整合的代码做些许修改
     a. ManagedBean annotation, 不得不说, q个标识有些鸡肋, 事实?JSF 规范也ƈ不要求对其提供支? 其?JavaEE 6 ? 有了 WebBeans 之后. 后在在社区里面提了以? g也没什么h兛_.
     b. 多个 faces-config 文g的排序功?br />      ׃以上两个功能, 使得在部|市需要做一些工? 一是必L描出所有的使用 ManagedBean annotation ?Java c? qؓ其构建本?JNDI 目录, 否则那些 @EJB 什么的标签Ҏ没法工作. 其次是速度问题, 默认情况? MyFaces 会在启动时执行以上的两个功能, 对应用程序的影响比较?
     当前的解x法时, 参照?Web 容器的处理方? 使用一些可序列化的 Info c? 所有信息在部v旉生成? 启动时直接反序列? 再通过 MyFaces 的一?SPI 传递过? 避免每次启动旉复那些工?



]]>
Apache Geronimo 3.0 (一)http://www.aygfsteel.com/bluepluto/archive/2010/10/14/335177.html蓝色的冥王星蓝色的冥王星Thu, 14 Oct 2010 13:18:00 GMThttp://www.aygfsteel.com/bluepluto/archive/2010/10/14/335177.htmlhttp://www.aygfsteel.com/bluepluto/comments/335177.htmlhttp://www.aygfsteel.com/bluepluto/archive/2010/10/14/335177.html#Feedback0http://www.aygfsteel.com/bluepluto/comments/commentRss/335177.htmlhttp://www.aygfsteel.com/bluepluto/services/trackbacks/335177.html
    Geronimo 3.0 框架重构的工作已q行大半,  说来惭愧, 我除了感叹大师们的思想和设计之? 剩下的只有学习了, 不知何时才能与大师们煮酒?Geronimo.
    本周? M一些代? 列了一些要? 以备以后查询所需, q与大家׃n.
    1. 内核的创?
        ?OSGI 环境? 所有的lg都已 Bundle 的Ş式存? Geronimo 所有的内核cd插g也不例外, 都是?OSGI 的框架启动后被蝲入的, 再无原来?BootStrap 之类的东西了. 如今的内核的初始? 基本 Geronimo GBean 的蝲入和 Geronimo 插g的加载都攑ֈ BootActivator ? 会在W一?Geronimo ?Bundle 中处? q将 Kernel 通过 OSGI ?Service 对外发布.
   2. 插g的读?br />         原来? RepositoryConfigurationStore x不会再用? 如今 config.ser 文g的读取放? ConfigurationActivator 之中,  ?Bundle 启动时会被读? 同时通过 ConfigurationManager ? loadConfiguration Ҏ加蝲, 如此做目? 一来将插g的生命周期与 Bundle 的生命周期作了映? 二来也有Z记录? BundleContext 引用.
   3. 调用序
        BootActivator -> PersistentConfigurationListener -> loadConfiguration( Artifact ) -> ConfigurationActivator -> loadConfiguration (ConfigurationData)
        整个调用逻辑略显冗杂, 皆因 Bundle 的生命周期与 Configuration 的生命周期交合一h? 前几? 我在论坛了回了脓, H以? 既然 Kernel 依旧存在, 何不区分对待, 各管各得, 省得互相映射而导致这样那L问题, 不好之处只是 Geronimo 没有? OSGI 像现在一L合在一? l果被大师们无视? x有什么问? 抑或大师们觉得俺们都弄得差不多了, 你再提个x, 让俺们白q了 ! 以以往的经? 前者居? 记录在此, 今后弄明白了再添加说? 印象会深M?
    下周有机? 要看一下类载入l构和插件依赖关pȝ变动, q个应该是从 OSGI 之最大获益了.

    回忆了一?Geronimo q行 OSGI 整合之处的讨? 当时有些q不怎么明白, 现在明朗多了.
M? 当时有这么些整合Ҏ :
    一U是?OSGI 容器以插件的形式部v?Geronimo ? 形式?Web 容器, EJB 容器{一? 部v应用? 通过索应用的部v信息, 若与 OSGI 相关, 则部|到 OSGI 容器? 其他cd的还是各回各? 各找各妈. 显而易? q种方式是种无痛整合, 工作量只是开发一个新的插?
    W二U方? 是 Geronimo 部v?OSGI 环境? 所有的 Geronimo ?JAR 文g和插件均是以 Bundle 的Ş式存在于 OSGI 环境? 好处自然是n受到 OSGI 的那些动态蝲? l粒度类载入器关联等. 依据 Geronimo ?Kernel 是否存在, q种方式又可以再做细? Kernel 存在的情况下, 事实上也是现在使用的方? 首先启动内核, 之后?ConfigurationManager 启动各个插g, 再将其加载到内核中去. q种方式? Geroniom Is Part Of OSGI, 整合依旧不是很彻? 最好的自然?Geronimo IS OSGI, 此时, 再无 Kernel, 再无 GBean, 天下大同, 皆ؓ Bundle. GBean 之流可以通过 blueprint 的服务来代替, 如此, Geronimo 则完全脱胎换骨了. 革命革命, 先革己命, 在此得到印证.
    另外, 我在? 现在? OSGI 几乎成了香馍? 感觉你的产品要是没?OSGI 架构, 都不好意思和别h打招? 我得承认, OSGI 实有很多吸引h的地? 但是应用? Java EE 的环境下, q有许多待改q的地方, q估计也是出了那么多 RFC 的原? 毕竟 OSGI 之处q不是想应用于企业应用的环境? 正如 JAVA 之处是想用来做机盒的开发一? 后来?Web 环境下确大放异彩. 在整合的q程? 出现了很多问? 例如之前讨论? RMI c蝲入器的问? 扩展c\径的问题, 均未?OSGI 中得到完解? 如此整合 OSGI, x也是配合公司新推的EBA 的编E模? qؓ WAS 先踩t雷.
    以上内容, 均是随手而写, 是从我自q理解和对大师的言Z推断而来, 大家看的时候自个注?

    OSGI ?Bundle 之间的依赖关pȝ处理比较直白Q?在一?Bunlde 安装之后的某个时机, 对其标注依赖关系q行解析Q? 如果万事俱备Q?讄其ؓ Resolved 状态, 如果不满I 则处?INSTALLED 状态?q种处理方式Q??OSGI 是一个灵zL插拔的环境有兟?br />     而在 Geronimo 中, 可不能Q其如此, 所有的 Geronimo 插g都在 geronimoQplugin.xml/config.ser 中标注了依赖关系。在启动插gӞ 必需首先启动其所依赖的所有其他组件?
    在之前版本中Q?q些都是?ConfigurationManager 来处理的Q?插g所以依赖的无非是其他插件或者类库文Ӟ 对于前者, ConfigurationManager 会首先启动之Q?而后者, 则之间将其加入当前类载入器\径中卛_?
    当切换到 OSGI之后Q?一切都变了 ?首当其冲的是那些cd文gQ??JAR 文gQ?它们成ؓ了一个个 BundleQ?都有了鲜zȝ生命Q? 不可只将其放到类载入器\径中׃了百了, 需要俺们安装和启动之?nbsp; 其次Q?谁负责按启动这些插Ӟ 之前是由 ConfigurationManagerQ?现在则在 DependencyManager QBundle ExtenderQ来处理?I其原因Q? 个h感觉Q?技术上不存在限Ӟ 但从设计上而言Q?ConfigurationManager 理的是 Geronimo 插g? Geronimo 内核中的生命周期Q?而在 OSGI 环境中,?OSGI 环境中的lg处理依赖关系Q?昑־更自然些。(个h意见Q?仅供参考)
    最后记录一?DependencyManager 的处理逻辑Q?它监听了每个 Bundle 的启动, 接收到安装事件之后, 会读?geronimoQplugin.xml 文g中的依赖关系Q?q尝试启动这些依赖组件?br />

]]>
վ֩ģ壺 | | Ĭ| | | | | | | ɽ| | ˮ| ɽ| | Ĭ| ɽ| | | | Ұ| | | ޵| ɽ| Т| ʤ| ̩| ޻| | Ӣ| ÷ӿ| е| | | ͼ| ÷| Ž| | | | |