原文: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插件SDK,包括安装必要的软件和工具。 - **Ant配置**:介绍了如何使用Ant自动化构建工具来编译和打包Liferay插件。 - **插件SDK配置**:详细说明了如何...
数据库优化也是关键,了解如何进行SQL查询优化,以及如何配置数据源以提高并发性能,是提升Liferay性能的重要步骤。 安全方面,Liferay提供了多种安全特性,如SSL加密、角色权限控制、审计日志等。理解并实施这些...
为了运行这些实例,你需要在Eclipse中创建一个新的Liferay Portlet项目,并将提供的源代码复制到项目中。确保你的Eclipse已经配置了Liferay插件,并且安装了相应的Liferay版本的库,这样可以避免编译错误和依赖问题...
- **ext-impl/src/META-INF/ext-spring.xml**:覆盖Liferay的Spring配置,提供数据源给服务。 在进行Liferay Ext开发时,理解这些基本概念和流程至关重要。然而,由于直接操作内部API,开发者需要对Liferay的架构...
- **配置 JDBC**:创建 `portal-ext.properties` 文件,指定数据库连接配置,如使用 JNDI 名称 `jdbc/LiferayPool`,并确保在 WebLogic 中配置相应的数据源。 2. **endorsed 目录设置**: - 为了使特定的 JAR ...
Liferay 6.2是一款流行的开源企业级门户平台,它提供了丰富的功能,包括内容管理、社交媒体集成、工作流程以及自定义开发能力。本指南将基于提供的"liferay 6.2开发指南+用户手册"来深入讲解其核心知识点。 1. **...
2. **Liferay插件开发**:`plugins-lia`可能包含了多个portlet的源码,你可以学习如何创建和配置portlet.xml,理解MVCPortlet的工作原理,以及如何处理portlet的事件和渲染。此外,Liferay支持Spring框架,所以理解...
本文将基于提供的文件信息,深入解析Liferay Portlet开发的核心概念、流程及实践示例。 ### Liferay Portlet开发概览 Liferay Portlet开发主要涉及以下几个关键目录:`portalext-impl\src`, `ext-service\src`,...
本开发文档旨在为初学者和经验丰富的开发者提供全面指南,涵盖Liferay 5.2.3与Tomcat6在Eclipse IDE中的集成、配置和开发流程。通过本文档,读者将能够迅速掌握Liferay门户框架的基本操作,从安装部署到portlet开发...
- 如果使用非默认数据库,你可能还需要更新 `PortalRealm` 的配置,以确保用户认证通过新的数据源进行。 3. **重启服务** - 完成上述配置后,记得重启 Tomcat 服务器,使改动生效。 **三、开发 Liferay 插件** ...
5. 配置开发环境参数: 设置Java SDK路径,Liferay运行所需的库,以及ANT构建工具,确保开发环境的完整性和兼容性。 6. ANT编译部署: ANT作为Java项目的构建工具,用于编译、打包和部署Liferay Portal。学习ANT...
### Liferay开发基础知识点 #### 一、Liferay概述 - **定义与功能**:Liferay是一款开源的企业级门户平台,提供了丰富的功能用于构建企业级应用程序和服务。它不仅支持传统的内容管理和用户管理功能,还提供了社交...
理解如何配置数据源,创建和管理数据库表是提升性能和优化的关键。同时,Liferay的缓存机制,如HornetQ和OSCache,可以帮助减少数据库访问,提高系统响应速度。 在进行Liferay的部署时,了解集群和高可用性配置也很...
#### 二、定制 Portal 数据源(针对 Enterprise 版本) Liferay Portal 提供了高度灵活的桌面定制功能,允许用户根据个人需求定制和修改桌面布局。这种定制信息会被持久化到数据库中。默认情况下,Liferay Portal ...
在本文中,我们将深入探讨Liferay插件的开发过程,包括环境配置、Portlet开发、Layout和Theme开发等关键步骤。Liferay是一个开源的企业级门户平台,它允许开发者通过插件扩展其功能,以满足不同业务需求。 首先,...
【标题】"Netbeans6.5 二次开发Liferay插件"所涉及的知识点主要集中在两个核心领域:NetBeans IDE的扩展与Liferay Portal的插件开发。NetBeans是流行的开源集成开发环境(IDE),而Liferay是一款企业级的开源门户...
《Liferay Developer Guide 6.0》是一本深入讲解Liferay Portal开发的指南,由Liferay公司官方发布,旨在帮助开发者充分利用Liferay平台构建企业级的Web应用。这本书详细介绍了如何利用Liferay的API、服务和插件进行...
本文将详细介绍如何建立Liferay开发环境,包括Java开发环境的搭建、Eclipse IDE的配置以及Liferay源代码的安装。 1. **建立Java开发环境** - **Apache Ant**:首先,需要安装Java编译工具Apache Ant。你可以从...