动态数据源与hibernate和netbeans

时间:2015-01-24 12:22:55

标签: java hibernate orm datasource jndi

如何创建正在加载服务器配置中的jndi数据源集的Web应用程序项目?我想使Web应用程序独立于服务器和数据库。是否可能。

1 个答案:

答案 0 :(得分:2)

  1. 您在Web /应用程序服务器中创建DataSource并通过JNDI公开

  2. 您配置以下hibernate属性:

    <property name="hibernate.connection.datasource">java:comp/env/jdbc/MyDataSource</p>
    
  3. 这样,应用程序与JNDI提供程序分离。即使是JNDI url也可以使用Maven属性进行配置,因此切换到应用程序服务器(使用不同的JNDI资源模式)只是添加新Maven配置文件的主要内容。

    更好的方法是set up the DataSource in your application configuration

    @Autowired
    private DataSource dataSource;
    ...
    properties.put("hibernate.connection.datasource", dataSource);
    

    通过这种方式,您可以使用任何connection pooling框架,例如最快的连接池框架HikariCP

    您甚至可以设置DataSource代理,例如:

    • datasource-proxy,用PreparedStatement参数记录SQL查询
    • FlexyPool,用于监控连接池使用情况并使用适应性的startegies调整池大小