文档章节

Hibernate源码阅读2——Service Registry

天呀鲁哇
 天呀鲁哇
发布于 2016/12/26 16:16
字数 389
阅读 77
收藏 0

Seervice服务:

    A services provides a certain types of functionality, in a pluggable manner.

    按照可插拔的方式提供摸个特定类型的功能;

/**
 * Marker interface for services.
 * 

* NOTE : All services must be {@link Serializable}! * * @author Steve Ebersole */ public interface Service extends Serializable { }

ServiceRegistry服务注册表:

    A ServiceRegistry, at its most basic, hosts and manages Services. 

    服务注册表是用于创建 组织 存储 管理服务(IOC);

    注:Services have a lifecycle. They have a scope. Services might depend on other services. And they need to be produced (choose using one implementation over another). The ServiceRegistry fulfills all these needs.

            服务注册表主要是为了方便控制Service生命周期而存在;

public interface ServiceRegistry {
	/**
	 * Retrieve this registry's parent registry.
	 * 
	 * @return The parent registry.  May be null.
	 */
	public ServiceRegistry getParentServiceRegistry();

	/**
	 * Retrieve a service by role.  If service is not found, but a {@link org.hibernate.service.spi.ServiceInitiator} is
	 * registered for this service role, the service will be initialized and returned.
	 * 

* NOTE: We cannot return {@code >} here because the service might come from the parent... * 获得当服务 * @param serviceRole The service role * @param The service role type * * @return The requested service. * * @throws UnknownServiceException Indicates the service was not known. */ public R getService(Class serviceRole); }

 

ServiceBinding服务关联:

    服务如何和服务注册表关联通常是通过ServiceRegistry来初始化服务来进行关联;

ServiceRegistry的分类:

    在hibernate中有三种注册表  BootstrapServiceRegistry(引导服务注册表),StandardServiceRegistry(标准服务注册表),SessionFactoryServiceRegistry(会话工厂注册表);

    BootstrapServiceRegistry:

        此注册表主要管理ClassLoaderService,IntegratorService,StrategySelector服务;

        ClassLoaderService主要是用来和加载类资源 文件资源以及和java.util.ServiceLoader相互作用;(注:ServiceLoader是Java中提出的动态加载资源的方法I);

        IntegratorService主要用于应用 第三方平台和Hibernate的集成;

        StrategySelector

    StandardServiceRegistry:

    SessionFactoryServiceRegistry:

 

 

 

 

 

© 著作权归作者所有

上一篇: Hadoop搭建-准备
下一篇: JNDI
天呀鲁哇
粉丝 8
博文 98
码字总数 42007
作品 0
长宁
程序员
私信 提问
k8s-v1.9.3源码阅读笔记

1.入口点:cmd/kube-apiserver/apiserver.go 流程大概大概过一遍,找出路径 和 关键类 2.关键类 ServerRunOptions 启动选项: ServerRunOptions位于cmd/kube-apiserver/app/options/options....

v1-alpha
2018/02/25
307
0
基于zookeeper搭建dubbo可用环境--实战篇

原文地址 1、搭建zookeeper集群环境 这个在上上上个文章中已经详细描述了 点击查看 2、通过dubbo-admin(dubbo后台管理系统) 查看dubbo 提供者和消费者等 dubbo-admin-2.5.3.war 点击下载就...

宇尘
2016/06/07
177
0
动手学dubbo之初体验

一. 概述 以下部分来源于dubbo用户指南. DUBBO是一个分布式服务框架,致力于提供高性能和透明化的RPC远程服务调用方案,是阿里巴巴SOA服务化治理方案的核心框架,每天为2,000+个服务提供3,0...

ginobefun
2017/07/12
0
0
探秘Dubbo原理与源码 —— 调试环境搭建

1、 依赖⼯具 Maven Git JDK IntelliJ IDEA 2、源码拉取 从官⽅仓库 https://github.com/alibaba/dubbo Fork 出属于⾃⼰的仓库。为什么要 Fork ?既然开始阅读、调试源码,我们可能会写⼀些注...

小红牛
2018/12/19
0
0
《深入理解SPARK:核心思想与源码分析》一书正式出版上市

自己牺牲了7个月的周末和下班空闲时间,通过研究Spark源码和原理,总结整理的《深入理解Spark:核心思想与源码分析》一书现在已经正式出版上市,目前京东、当当、天猫等网站均有销售,欢迎感...

beliefer
2016/01/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

矩阵中的路径

判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向上下左右移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路...

Garphy
17分钟前
4
0
Hibernate 5 Maven 仓库的 Artifacts

Hibernate artifacts 官方发布的仓库在 JBoss Maven repository 中。Hibernate 发布的 artifacts 也会同时同步到 Maven Central 仓库中,这是一个自动同步进程(可能会有一些延迟)。 Hibern...

honeymoose
今天
5
0
如何学习uni-app?

uni-app 是一个使用 Vue.js 开发跨平台应用的前端框架。 开发者通过编写 Vue.js 代码,uni-app 将其编译到iOS、Android、微信小程序、H5等多个平台,保证其正确运行并达到优秀体验。 <templ...

达叔小生
今天
6
0
OSChina 周一乱弹 —— 后来马云就一心想挣钱了

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑:《空帆船》- 朴树 《空帆船》- 朴树 手机党少年们想听歌,请使劲儿戳(这里) @webw :第二次被锁在电梯里了 上次你忘带电梯卡, ...

小小编辑
今天
1K
15
关于does not give a valid preprocessing token

#define VFUNC(self) ((##self##)->_vptr) 这样在gcc下会编译失败, VC不会 报pasting ) does not give a valid preprocessing token 据说是因为版本问题 解法:去掉## define VFUNC(self) (......

shzwork
今天
5
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部