`
javamore
  • 浏览: 63405 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

apache 的子项目微核心IoC框架.      http://hivemind.apache.org/

HiveMind是一个服务(services)和配置(configuration)的微内核。

服务:HiveMind的服务由一系列容易访问和组合的普通Java对象组成(Plain Old Java Objects)。每一个服务最好用一个被它实现了的接口进行定义(但是HiveMind现在并不强制这点)。在需要的时候HiveMind会负责实例化每一个服务并且进行必要的配置。另外,HiveMind可以通过依赖注入让服务协同工作。
配置:HiveMind允许你为你的服务提供一个由你规定格式的复杂配置信息。同时,也可以将在不同模块里申明(contribution)的配置信息集中起来,并将它们全部转化为对象数据。在HiveMind的配置支持下,服务的体系结构可以和数据驱动的解决方案,完美的,有效的无缝结合。
微内核:HiveMind是一个用于创建应用程序的框架,而不是一个应用程序或应用服务器。HiveMind的“核心”是启动逻辑。它知道如何解析和理解模块部署描述符,并使用它们去实例化并初始化所有的服务和配置。

    在HiveMind里,一个服务是某个Java接口的实现。和其它框架,比如说SOAs(Service Oriented Architectures, 再比方SOAP或EJBs),不同的是HiveMind只关心组合处于同一个虚拟机上的Java代码。HiveMind通过描述符描述不同的服务、服务的生命周期和如何将服务组合在一起。HiveMind非常注意线程安全和单例服务对象的延迟创建。因此你不必在代码里面关心这些。

HiveMind is an services and configuration microkernel. Its features are also referred to as Inversion of Control (IoC) Container or Lightweight Container. The adoption of HiveMind in an application ensures the use of certain design principles which improve encapsulation, modularization, testability and reusability.
  • Services: HiveMind services are POJOs (Plain Old Java Objects) that can be easily accessed and combined. Each service ideally defines a Java interface it implements (this is not mandatory). HiveMind takes care of the life cycle of services. It instantiates and finalizes services and configures each service just as necessary. HiveMind lets services collaborate with each other via dependency injection, so that the service code itself is released from the task of looking up dependencies.
  • Configuration: HiveMind allows you to provide complex configuration data to your services in a format you define. HiveMind will integrate the contributions of such data from multiple modules and convert it all into data objects for you. HiveMind configurations allow for powerful, data-driven solutions which combine seemlessly with the service architecture.

Related projects and HiveMind Extensions

This section lists related projects and HiveMind extensions that have been created by third parties.
Tapestry Web framework that uses HiveMind under the covers.
HiveMind Utilities Repository of HiveMind extensions for the support of transaction handling, security, remoting, events and rich clients.
Crispy Client for Remote Invocation for different kinds of services via proxies. Offers an extension for the invocation of HiveMind services.
Mule Enterprise Service Bus (ESB) messaging framework that supports HiveMind as object container.

分享到:
评论

相关推荐

    Hivemind资料

    《Hivemind框架详解与应用实践》 Hivemind,这个名字源于自然界中的社会性昆虫群体,是一种轻量级的服务框架,它在Java社区中主要用于构建模块化的、可配置的应用程序。Hivemind的核心理念是将应用程序的组件和服务...

    hivemind-1.1.1.jar

    hivemind-1.1.1.jar

    hivemind-lib-1.1.1.jar

    hivemind-lib-1.1.1.jar

    hivemind中文版

    hivemind中文版hivemind中文版hivemind中文版

    Python库 | HiveMind-voice-sat-1.0.4.tar.gz

    《Python库HiveMind-voice-sat-1.0.4深度解析》 在Python的世界里,库扮演着至关重要的角色,它们为开发者提供了丰富的功能,简化了代码编写过程。今天我们将聚焦于一个名为HiveMind-voice-sat-1.0.4的Python库,...

    Node.js-Hivemind–使用AWSLambdafunctions创建分布式作业Job

    4. **Hivemind框架**:Hivemind是一个用Node.js编写的库,它允许开发者将工作分解为小任务,并将其分布到AWS Lambda函数上执行。这可以极大地提高处理复杂作业的效率,同时避免了单点故障的问题,提高了系统的可伸缩...

    Joomla hivemind模板

    【Joomla hivemind模板】是专门为Joomla内容管理系统设计的一款高级网页模板,它集成了现代网页设计的诸多特点,旨在提供一个直观、美观且功能丰富的网站布局框架。Joomla是一个开源的PHP构建的CMS(内容管理系统)...

    hivemind:PyTorch中的分散式深度学习。 旨在为全球数千名志愿者训练模型

    Hivemind是一个PyTorch库,用于在Internet上训练大型神经网络。 想象一下,在来自不同大学,公司和志愿者的数千台计算机上训练一个巨大的Transformer模型。 主要特点 训练任意大小的神经网络:其各层的一部分分布在...

    hivemind:一种多语法语言

    Hivemind具有由其AST定义的核心语言以及像插件一样可配置的语法。 蜂巢的“语法”概念类似于 文本编辑器的主题 gui应用程序的皮肤 MVC Web应用程序的json / html / xml模板 语法是使用类似代码的示例为核心ast节点...

    hivemind:我对游戏的个人AI核心令人毛骨悚然。 纯娱乐

    Hivemind-爬行机器人信息这是一款用于游戏的,旨在用作私人服务器上的全自动合作伙伴/对手。 大多数代码源自官方服务器上编写的AI。 因此,仍然存在几种与之手动交互的机制,这些机制大多是由放置标志触发的。 但是...

    HiveMind-js:HiveMind JavaScript客户端

    HiveMind JS HiveMind的javascript客户端 用法 <!DOCTYPE html > < html > < head > < meta charset =" UTF-8 " > < title > HiveMindJs Demo </ title > < script src =...

    HiveMind-deltachat-bridge:HiveMind的DeltaChat桥

    HiveMind-DeltaChat桥 桥 安装 $ pip install HiveMind-deltachat-bridge 用法 如果未提供主机,则将使用自动发现 $ HiveMind-deltachat-bridge --help usage: __main__.py [-h] --access_key ACCESS_KEY --email ...

    hivemind-widget:使用Vue JS的Hivemind小部件组件

    Hivemind小工具 使用汇总将一个或多个Vue.js组件捆绑到单个.js文件中的示例,该文件可在任何HTML / JS应用程序中使用。 有关更多信息,请参考上的。 < html > < body > ... <!-- you can add ...

    HiveMind Java Web Application Cloud IDE:浏览器中的Web开发IDE,支持Java,ruby,javascript ... etc-开源

    HiveMind是基于浏览器的Web开发,结合​​了在浏览器中运行的应用程序容器(码头),中间件和开发人员环境。 它在jvm上运行,因此您不受环境的限制。 您可以在笔记本电脑,公司服务器甚至AWS等云服务上运行它。 它...

    hivemind:一组用于管理NeCTAR计算云的结构命令

    1)hivemind框架本身2)hivemind_contrib 这两个部分必须安装在相同的python虚拟环境中安装您需要以下软件包sudo apt-get install python-dev libxml2-dev libxslt1-dev lib32z1-dev python-virtualenv ...

    HiveMind-core:加入Mycroft集体,使用Mycroft-Core Mesh网络的实用程序

    HiveMind是社区开发的开源语音助手超集或扩展。 使用HiveMind,您可以将Mycroft的一个(或多个,但通常只是一个!)实例扩展到所需的任意数量的设备,包括通常无法运行Mycroft的设备! HiveMind的开发人员已通过...

    peakd-hivemind-plugin:一个Hivemind插件,提供在peakd.com上使用的其他API

    PeakD Hivemind插件 Node.js应用程序,用于向Hive / Hivemind节点添加其他API。 用法 # Install dependencies npm install # Serve on localhost:3000 npm run start 配置 使用环境变量或.env文件支持的配置。 使用...

    tower:在Hivemind之上的REST API实现

    在Hivemind之上的REST API实现 安装(通过docker) 使用Docker映像 $ docker run -p 8090:8000 -e DB_PASS='hive' \ -e DB_USER='hivemind_db_user' \ -e DB_NAME='hivemind_db_name' \ -e DB_PORT='5432' \ -e...

Global site tag (gtag.js) - Google Analytics