- 浏览: 54207 次
最新评论
http://www.chinasb.org/archives/2010/12/1319.shtml
Liferay的多数据源配置十分简单,只需要在tomcat\conf\Catalina\localhost\ROOT.xml中增加即可。如:
这里配置了两个数据源供Liferay使用,一个是替换Liferay默认数据源,一个是为需要开发的业务系统提供的数据源,这样一来就可以把业务数据库与Portal默认数据库分开管理了,现在大家都开始在问如何在Liferay开发里面使用第二个数据源呢?怎样进行事务控制?好了,接下来我们开始解决这些问题。(这是基于EXT下的开发哦)
1.新建ext-impl/src/META-INF/ext-spring.xml。内容如下:
看明白了吧,就是这么简单,只要你留心一下Liferay源码就会发现了。
2.数据源配置好了,也放到Spring管理了,那么下一步该如果使用呢。很简单,当然是Liferay怎么去使用默认的数据源我们就怎样去使用我们自定义的数据源罗。没错,就是强大的ServiceBuilder。下面给个例子吧,再参照上一篇Liferay自定义原生态SQL查询就操作数据库方面就没什么难题了。
看到了吧,ServiceBuilder主要是通过指定的数据源,session工厂和事务管理去生成相对应的数据库操作方法的。
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工厂和事务管理去生成相对应的数据库操作方法的。
发表评论
-
AOP
2017-02-28 13:14 484http://blog.csdn.net/moreev ... -
liferay 6.1 CE + LDAP 导入自定义字段
2013-12-21 16:06 900导入自定义字段时无论如何尝试都不成功,但是自定义字段的值导 ... -
liferay 6.1 CE LDAP
2013-12-14 14:20 2329goole了许多网页,讲的是五花八门,最后想起来去port ... -
research
2013-12-10 10:42 0<aui:select label="typ ... -
fetch 与 find 的区别
2013-11-11 09:55 909liferay中 findxxxx 与fetchxxx 方 ... -
liferay 一对多 多对多 关系 (model)
2013-11-07 11:24 719通过model层实现 例如 people 与 ad ... -
liferay 一对多 多对多 关系 (build-service)
2013-11-07 11:04 696通过配置service.xml 实现 说明:一对多 ... -
liferay Logical Architecture
2013-09-11 15:20 1187Logical Architecture 详 ... -
liferay 文件下载失败
2013-07-01 14:48 589现象: http://issues.liferay.com/ ... -
403
2013-06-05 16:41 0portal.properties auth.forward ... -
aui-autocomplete [ 三 ] 源码解析
2013-01-09 09:53 1588懒了, 只翻译几个目前用到的属性,其实英文写的很明白的,需要花 ... -
aui-autocomplete [ 二 ] 验证未通过保留输入值
2013-01-09 09:25 858<% long myUserId = ParamU ... -
aui-autocomplete [ 一 ] override
2013-01-08 13:58 868liferay aui-autocomplete 如: 数据 ... -
Liferay AutoFields 添加事件
2013-01-08 09:30 0new Liferay.AutoFields( ... -
web app timezone (view-business-db)
2013-01-07 11:50 1249目标:面向多区域用户 添加更新记录:用户输入本区域时间, 数据 ... -
liferay auto_filed
2012-12-03 14:51 821new Liferay.AutoFields( ... -
liferay at java.util.regex.Pattern$Curly.match0
2012-11-21 13:17 924build-service 出现liferay at java ... -
actionurl 参数顺序
2012-10-19 14:16 1512PortletURL editURL = renderResp ... -
java.lang.ClassCastException: java.math.BigInteger cannot be cast to java.lang.
2012-10-19 14:06 4069现象: liferay中查询数据,用到如下语句 select ... -
Unable to find required classes (javax.activation.DataHandler and javax.mail.int
2012-09-04 13:41 11012.1.8 错误原因: 需要mail.jar和activat ...
相关推荐
- **初始设置**:这部分讲述了如何配置开发环境以使用Liferay插件SDK,包括安装必要的软件和工具。 - **Ant配置**:介绍了如何使用Ant自动化构建工具来编译和打包Liferay插件。 - **插件SDK配置**:详细说明了如何...
数据库优化也是关键,了解如何进行SQL查询优化,以及如何配置数据源以提高并发性能,是提升Liferay性能的重要步骤。 安全方面,Liferay提供了多种安全特性,如SSL加密、角色权限控制、审计日志等。理解并实施这些...
在这个开发实例中,我们将深入探讨四个Liferay Portal MVC(Model-View-Controller)应用的实践案例,这些实例可以帮助开发者更好地理解如何在Liferay环境中进行portlet开发。 首先,让我们了解MVC模式在Liferay中...
- **配置 JDBC**:创建 `portal-ext.properties` 文件,指定数据库连接配置,如使用 JNDI 名称 `jdbc/LiferayPool`,并确保在 WebLogic 中配置相应的数据源。 2. **endorsed 目录设置**: - 为了使特定的 JAR ...
- **ext-impl/src/META-INF/ext-spring.xml**:覆盖Liferay的Spring配置,提供数据源给服务。 在进行Liferay Ext开发时,理解这些基本概念和流程至关重要。然而,由于直接操作内部API,开发者需要对Liferay的架构...
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开发...
### Liferay开发基础知识点 #### 一、Liferay概述 - **定义与功能**:Liferay是一款开源的企业级门户平台,提供了丰富的功能用于构建企业级应用程序和服务。它不仅支持传统的内容管理和用户管理功能,还提供了社交...
5. 配置开发环境参数: 设置Java SDK路径,Liferay运行所需的库,以及ANT构建工具,确保开发环境的完整性和兼容性。 6. ANT编译部署: ANT作为Java项目的构建工具,用于编译、打包和部署Liferay Portal。学习ANT...
理解如何配置数据源,创建和管理数据库表是提升性能和优化的关键。同时,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。你可以从...