JBoss JNDI的配置

项目涉及到两个数据库oracle和db2,移植到JBoss需要配置JNDI。经R&D后,配置如下:

 

[JBoss的配置]

 

<!----><!----> <!---->Add JNDI datasource configuration file: oracle-ds.xml and db2-ds.xml to JBOSS_HOME/server/default/deploy/

 

oracle-ds.xml 和 db2-ds.xml 参照JBoss里的例子...

 

-----------------------------------

 

[项目里的配置]

 

<!----><!----> 1. Add these two files: hibernate-config-db2.xml and hibernate-config-oracle.xml to config/properties/

 

hibernate-config的主要内容如下:

<hibernate-configuration>
   <session-factory>
      <property name="connection.datasource">java:OracleDS</property>
      <property name="show_sql">false</property>
      <property name="cache.use_second_level_cache">false</property>
      <property name="cache.use_query_cache">false</property>
      <property name="hibernate.hbm2ddl.auto">none</property>
      <property name="cache.provider_class">org.hibernate.cache.EhCacheProvider</property>
   </session-factory>
</hibernate-configuration>

 

 

2. sessionFactory to JNDI configuration:

<!----><!----> <!---->

 

< bean id = "sessionFactory"   class = "org.springframework.orm.hibernate3.LocalSessionFactoryBean" >

 

    < property name = "mappingDirectoryLocations" >

        < list > < value > bo </ value > </ list >

    </ property >

    < property name = "configLocation" >

        < value >

            classpath:hibernate-config-oracle.xml

        </ value >

    </ property >

    < property name = "hibernateProperties" >

        < ref bean = "hibernateProperties" />

    </ property >

</ bean >

 

以上的配置已经完成了JNDI的配置。项目需要配置了两个sessionFactory。

 

 

-----------------------------------

 

项目里用到两个数据库,且有部分业务涉及到同时向两个数据库插入数据,此时需要用到JTATrasaction,而Spring虽然支持分布式事务,但没有实现。各大容器比如:jboss,weblogic都有自己的实现,可是与容器绑定,不够灵活,这时可以考虑使用第三方的实现:Atomikos。然而现实是残酷的,项目做到一定程度不可能有太的改动,只能用折中的方案:手动写事务。如果以JDBC来连接数据库的则需要一个Configuration,但是用JNDI则只要在hibernate-config里面加入一个property,创建一个sessionFactory,然后在用得着的地方lookup,即可拿得这个sessionFactory。

 

 

你可能感兴趣的:(oracle,bean,Hibernate,jboss,db2)