`
likaidalian
  • 浏览: 53975 次
社区版块
存档分类
最新评论

[转] Liferay多数据源配置及开发

阅读更多
http://www.chinasb.org/archives/2010/12/1319.shtml

Liferay的多数据源配置十分简单,只需要在tomcat\conf\Catalina\localhost\ROOT.xml中增加即可。如:
<!-- database source -->
<Resource
    name="jdbc/LiferayPool"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@192.168.1.229:1521:orcl"
    username="lportal"
    password="lportal"
    maxActive="20"
/>
 
<Resource
    name="jdbc/XXXPool"
    auth="Container"
    type="javax.sql.DataSource"
    driverClassName="oracle.jdbc.driver.OracleDriver"
    url="jdbc:oracle:thin:@192.168.1.229:1521:orcl"
    username="xxx"
    password="xxx"
    maxActive="20"
/>

这里配置了两个数据源供Liferay使用,一个是替换Liferay默认数据源,一个是为需要开发的业务系统提供的数据源,这样一来就可以把业务数据库与Portal默认数据库分开管理了,现在大家都开始在问如何在Liferay开发里面使用第二个数据源呢?怎样进行事务控制?好了,接下来我们开始解决这些问题。(这是基于EXT下的开发哦)

1.新建ext-impl/src/META-INF/ext-spring.xml。内容如下:

<!-- Liferay DataSource -->
<bean id="liferayDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
    <property name="targetDataSource">
        <bean class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean">
            <property name="jndiName" value="jdbc/LiferayPool" />
        </bean>
    </property>
</bean>
<!-- XXX DataSource -->
<bean id="xxxDataSource" class="org.springframework.jdbc.datasource.LazyConnectionDataSourceProxy">
    <property name="targetDataSource">
        <bean class="com.liferay.portal.spring.jndi.JndiObjectFactoryBean">
            <property name="jndiName" value="jdbc/XXXPool" />
        </bean>
    </property>
</bean>
<bean id="xxxHibernateSessionFactory" class="com.liferay.portal.spring.hibernate.PortalHibernateConfiguration">
    <property name="dataSource" ref="xxxDataSource" />
</bean>
<bean id="xxxSessionFactory" class="com.liferay.portal.dao.orm.hibernate.SessionFactoryImpl">
    <property name="sessionFactoryClassLoader">
        <bean class="com.liferay.portal.kernel.util.PortalClassLoaderUtil" factory-method="getClassLoader" />
    </property>
    <property name="sessionFactoryImplementor" ref="xxxHibernateSessionFactory" />
</bean>
<bean id="xxxTransactionManager" class="com.liferay.portal.spring.transaction.TransactionManagerFactory" factory-method="createTransactionManager">
    <constructor-arg ref="xxxDataSource" />
    <constructor-arg ref="xxxHibernateSessionFactory" />
</bean>


看明白了吧,就是这么简单,只要你留心一下Liferay源码就会发现了。

2.数据源配置好了,也放到Spring管理了,那么下一步该如果使用呢。很简单,当然是Liferay怎么去使用默认的数据源我们就怎样去使用我们自定义的数据源罗。没错,就是强大的ServiceBuilder。下面给个例子吧,再参照上一篇Liferay自定义原生态SQL查询就操作数据库方面就没什么难题了。
<?xml version="1.0"?>
<!DOCTYPE service-builder PUBLIC "-//Liferay//DTD Service Builder 6.0.0//EN"
"http://www.liferay.com/dtd/liferay-service-builder_6_0_0.dtd">
<service-builder package-path="com.xxx.xxx.portlet.book">
    <namespace>Book</namespace>
    <entity name="Book" local-service="true" remote-service="false" data-source="xxxDataSource" session-factory="xxxSessionFactory" tx-manager="xxxTransactionManager">
        <!-- PK fields -->
        <column name="bookId" type="long" primary="true" />
        <!-- Group instance -->
        <column name="groupId" type="long" />
        <!-- Audit fields -->
        <column name="companyId" type="long" />
        <column name="userId" type="long" />
        <column name="userName" type="String" />
        <column name="createDate" type="Date" />
        <column name="modifiedDate" type="Date" />
        <!-- Other fields -->
        <column name="title" type="String" />
    </entity>
</service-builder>

看到了吧,ServiceBuilder主要是通过指定的数据源,session工厂和事务管理去生成相对应的数据库操作方法的。
分享到:
评论

相关推荐

    liferay 6.0 开发指南

    - **初始设置**:这部分讲述了如何配置开发环境以使用Liferay插件SDK,包括安装必要的软件和工具。 - **Ant配置**:介绍了如何使用Ant自动化构建工具来编译和打包Liferay插件。 - **插件SDK配置**:详细说明了如何...

    liferay配置使用开发大全

    数据库优化也是关键,了解如何进行SQL查询优化,以及如何配置数据源以提高并发性能,是提升Liferay性能的重要步骤。 安全方面,Liferay提供了多种安全特性,如SSL加密、角色权限控制、审计日志等。理解并实施这些...

    liferay portal 开发实例

    在这个开发实例中,我们将深入探讨四个Liferay Portal MVC(Model-View-Controller)应用的实践案例,这些实例可以帮助开发者更好地理解如何在Liferay环境中进行portlet开发。 首先,让我们了解MVC模式在Liferay中...

    liferay6.1开发学习

    - **配置 JDBC**:创建 `portal-ext.properties` 文件,指定数据库连接配置,如使用 JNDI 名称 `jdbc/LiferayPool`,并确保在 WebLogic 中配置相应的数据源。 2. **endorsed 目录设置**: - 为了使特定的 JAR ...

    ext liferay开发

    - **ext-impl/src/META-INF/ext-spring.xml**:覆盖Liferay的Spring配置,提供数据源给服务。 在进行Liferay Ext开发时,理解这些基本概念和流程至关重要。然而,由于直接操作内部API,开发者需要对Liferay的架构...

    liferay 6.2开发指南+用户手册

    Liferay 6.2是一款流行的开源企业级门户平台,它提供了丰富的功能,包括内容管理、社交媒体集成、工作流程以及自定义开发能力。本指南将基于提供的"liferay 6.2开发指南+用户手册"来深入讲解其核心知识点。 1. **...

    liferay in actin源代码

    2. **Liferay插件开发**:`plugins-lia`可能包含了多个portlet的源码,你可以学习如何创建和配置portlet.xml,理解MVCPortlet的工作原理,以及如何处理portlet的事件和渲染。此外,Liferay支持Spring框架,所以理解...

    liferay portlet 开发实例

    本文将基于提供的文件信息,深入解析Liferay Portlet开发的核心概念、流程及实践示例。 ### Liferay Portlet开发概览 Liferay Portlet开发主要涉及以下几个关键目录:`portalext-impl\src`, `ext-service\src`,...

    liferay5.2.3 tomcat6 eclipse ide 开发文档

    本开发文档旨在为初学者和经验丰富的开发者提供全面指南,涵盖Liferay 5.2.3与Tomcat6在Eclipse IDE中的集成、配置和开发流程。通过本文档,读者将能够迅速掌握Liferay门户框架的基本操作,从安装部署到portlet开发...

    liferay开发

    ### Liferay开发基础知识点 #### 一、Liferay概述 - **定义与功能**:Liferay是一款开源的企业级门户平台,提供了丰富的功能用于构建企业级应用程序和服务。它不仅支持传统的内容管理和用户管理功能,还提供了社交...

    liferay6.06

    5. 配置开发环境参数: 设置Java SDK路径,Liferay运行所需的库,以及ANT构建工具,确保开发环境的完整性和兼容性。 6. ANT编译部署: ANT作为Java项目的构建工具,用于编译、打包和部署Liferay Portal。学习ANT...

    liferay5.2插件开发文档

    - 如果使用非默认数据库,你可能还需要更新 `PortalRealm` 的配置,以确保用户认证通过新的数据源进行。 3. **重启服务** - 完成上述配置后,记得重启 Tomcat 服务器,使改动生效。 **三、开发 Liferay 插件** ...

    liferay教程

    理解如何配置数据源,创建和管理数据库表是提升性能和优化的关键。同时,Liferay的缓存机制,如HornetQ和OSCache,可以帮助减少数据库访问,提高系统响应速度。 在进行Liferay的部署时,了解集群和高可用性配置也很...

    Liferay_Portal数据持久

    #### 二、定制 Portal 数据源(针对 Enterprise 版本) Liferay Portal 提供了高度灵活的桌面定制功能,允许用户根据个人需求定制和修改桌面布局。这种定制信息会被持久化到数据库中。默认情况下,Liferay Portal ...

    Liferay插件方式开发详解.docx

    在本文中,我们将深入探讨Liferay插件的开发过程,包括环境配置、Portlet开发、Layout和Theme开发等关键步骤。Liferay是一个开源的企业级门户平台,它允许开发者通过插件扩展其功能,以满足不同业务需求。 首先,...

    Netbeans6.5 二次开发Liferay插件

    【标题】"Netbeans6.5 二次开发Liferay插件"所涉及的知识点主要集中在两个核心领域:NetBeans IDE的扩展与Liferay Portal的插件开发。NetBeans是流行的开源集成开发环境(IDE),而Liferay是一款企业级的开源门户...

    liferay-developer-guide-6.0_liferay_

    《Liferay Developer Guide 6.0》是一本深入讲解Liferay Portal开发的指南,由Liferay公司官方发布,旨在帮助开发者充分利用Liferay平台构建企业级的Web应用。这本书详细介绍了如何利用Liferay的API、服务和插件进行...

    Liferay应用之开发.doc

    本文将详细介绍如何建立Liferay开发环境,包括Java开发环境的搭建、Eclipse IDE的配置以及Liferay源代码的安装。 1. **建立Java开发环境** - **Apache Ant**:首先,需要安装Java编译工具Apache Ant。你可以从...

Global site tag (gtag.js) - Google Analytics