osgi 环境下 hibernate 4 配置
2014-05-12 13:31
162 查看
准备将公司的老应用迁移到OSGI karaf平台上。很吐血的一点就是hibernate。 这玩意,真是超级麻烦的一个工程。
classload是最头痛的一个问题。在Hibernate4上利用注册服务的方式 实现了 classloader的代理。
顺便提一句想用Hibernate3做reloadclass的同学们别妄想了。
除非是改源码。
viewsource
print?
01 | /** |
02 | * Rebuild hibernate session factory |
03 | * |
04 | */ |
05 | public static void rebuildSessionFactory() { |
06 | try { |
07 | // create a BootstarpRegistry |
08 | BootstrapServiceRegistry bootstrapServiceRegistry = new BootstrapServiceRegistryBuilder() |
09 | // pass in a class-loader Hibernate should use to load application |
10 | // classes |
11 | .withApplicationClassLoader(org.postgresql.Driver. class .getClassLoader()) |
12 | // pass in a class-loader Hibernate should use to load |
13 | // resources |
14 | .withResourceClassLoader(HibernateSessionFactory. class .getClassLoader()).build(); |
15 |
16 | // create a ServiceRegistry |
17 | ServiceRegistryBuilder registryBuilder = new ServiceRegistryBuilder(bootstrapServiceRegistry); |
18 |
19 | // clear |
20 | configuration = new Configuration(); |
21 | // read config |
22 | URL u = HibernateSessionFactory. class .getClassLoader().getResource(configFile); |
23 | configuration.configure(u); |
24 | registryBuilder.applySettings(configuration.getProperties()); |
25 | // build ServiceRegistry |
26 | ServiceRegistry serviceRegistry = registryBuilder.buildServiceRegistry(); |
27 |
28 | // create SessionFactory |
29 | sessionFactory = configuration.buildSessionFactory(serviceRegistry); |
30 | } catch (Exception e) { |
31 | System.err.println( "%%%% Error Creating SessionFactory %%%%" ); |
32 | e.printStackTrace(); |
33 | } |
34 | } |
相关文章推荐
- 在OSGi环境下配置hibernate的connection pool
- osgi 环境下 hibernate 4 配置
- MyEclipse+Struts+Hibernate+Mysql开发环境配置
- Hibernate环境搭建与配置
- Hibernate4.3环境配置
- OSGi进阶环境配置遇到问题,我的解决方案
- Hibernate环境搭建跟配置
- 重拾Hibernate(1)之环境配置
- Spring-4.0.1+Hibernate-4.3.2+Struts-2.3.16环境配置(包含hibernate二级缓存和spring缓存)
- Hibernate配置log4j日志环境
- MyEclipse+Struts+Hibernate+Mysql开发环境配置
- Hibernate3.5.4---java application的xml和annotation环境搭建(hibernate.cfg.xml配置文件说明,映射文件Student.hbm.xml说明
- SSH开发环境的配置:web.xml、Spring集成hibernate和Spring集成Struts2
- 成功搭配好了HIbernate配置环境---Hibernate-3.6.3
- Hibernate环境配置与实战Demo
- 配置jbpm环境时,出现org.hibernate.MappingNotFoundException: resource: jbpm.repository.hbm.xml not found
- OSGI环境下配置log4j日志
- 第四步 hibernate核心配置文件(搭建环境)
- Http服务器嵌入到OSGI框架环境配置
- MyEclipse+Struts+Hibernate+Mysql开发环境配置