`
cqyqing
  • 浏览: 56749 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

liferay与LDAP数据同步问题

阅读更多
现在在公司做一个数据同步操作,就是从LDAP把数据同步到liferay,共有4万多条数据,但是同步2万多条数据的时候就无法在同步
报的错误如下:
15:46:55,625 ERROR [PortalLDAPUtil] Error importing LDAP users and groups
com.liferay.portal.SystemException: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at com.liferay.portal.spring.hibernate.HibernateUtil.processException(HibernateUtil.java:212)
at com.liferay.portlet.announcements.service.persistence.AnnouncementsDeliveryPersistenceImpl.updateImpl(AnnouncementsDeliveryPersistenceImpl.java:233)
at com.liferay.portlet.announcements.service.persistence.AnnouncementsDeliveryPersistenceImpl.update(AnnouncementsDeliveryPersistenceImpl.java:193)
at com.liferay.portlet.announcements.service.impl.AnnouncementsDeliveryLocalServiceImpl.getUserDelivery(AnnouncementsDeliveryLocalServiceImpl.java:106)
at com.liferay.portlet.announcements.service.impl.AnnouncementsDeliveryLocalServiceImpl.getUserDeliveries(AnnouncementsDeliveryLocalServiceImpl.java:80)
at com.liferay.portal.service.impl.UserLocalServiceImpl.updateUser(UserLocalServiceImpl.java:1882)
at com.liferay.portal.service.impl.UserLocalServiceImpl.updateUser(UserLocalServiceImpl.java:1733)
at sun.reflect.GeneratedMethodAccessor326.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:301)
at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
at $Proxy147.updateUser(Unknown Source)
at com.liferay.portal.service.UserLocalServiceUtil.updateUser(UserLocalServiceUtil.java:934)
at com.liferay.portal.security.ldap.PortalLDAPUtil.importLDAPUser(PortalLDAPUtil.java:748)
at com.liferay.portal.security.ldap.PortalLDAPUtil.importFromLDAP(PortalLDAPUtil.java:494)
at com.liferay.portal.security.ldap.PortalLDAPUtil.importFromLDAP(PortalLDAPUtil.java:463)
at com.liferay.portlet.admin.job.LDAPImportJob.execute(LDAPImportJob.java:66)
at com.liferay.portal.job.JobWrapper.execute(JobWrapper.java:62)
at org.quartz.core.JobRunShell.run(JobRunShell.java:202)
at org.quartz.simpl.SimpleThreadPool$WorkerThread.run(SimpleThreadPool.java:529)
Caused by: org.hibernate.exception.ConstraintViolationException: Could not execute JDBC batch update
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:71)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:253)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:266)
at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:167)
at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:298)
at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:27)
at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
at com.liferay.util.dao.hibernate.LiferaySession.flush(LiferaySession.java:171)
at com.liferay.portlet.announcements.service.persistence.AnnouncementsDeliveryPersistenceImpl.updateImpl(AnnouncementsDeliveryPersistenceImpl.java:226)
... 23 more
Caused by: java.sql.BatchUpdateException: 违反了 PRIMARY KEY 约束 'PK__AnnouncementsDel__7B905C75'。不能在对象 'AnnouncementsDelivery' 中插入重复键。
at net.sourceforge.jtds.jdbc.JtdsStatement.executeBatch(JtdsStatement.java:835)
at org.jboss.resource.adapter.jdbc.WrappedStatement.executeBatch(WrappedStatement.java:519)
at org.hibernate.jdbc.BatchingBatcher.doExecuteBatch(BatchingBatcher.java:48)
at org.hibernate.jdbc.AbstractBatcher.executeBatch(AbstractBatcher.java:246)
... 30 more
希望高手指点,谢谢。
分享到:
评论

相关推荐

    Liferay与LDAP集成

    Liferay与LDAP集成是将Liferay门户与目录服务相结合,实现单点登录、用户身份验证和用户数据同步等功能,提升企业级应用的安全性和用户体验。 OpenLDAP是LDAP协议的开源实现,包括slapd(LDAP服务守护进程)、...

    liferay cas ldap 集成配置

    - 设置同步规则,决定何时从LDAP同步用户数据,以及如何处理新用户和组的创建。 最后,你需要测试这些配置是否正确。登录Liferay时,用户应被重定向到CAS服务器进行认证;成功后,用户信息应从LDAP目录中获取并...

    liferay + cas + ldap 集成配置

    6. **Liferay 的身份验证流程**:集成 CAS 和 LDAP 后,Liferay 首先会通过 CAS 进行用户的身份验证,然后使用 LDAP 来查询用户详细信息并同步到 Liferay 用户库。这样,用户管理、权限分配和认证都得以统一管理。 ...

    Liferay 6 入门教程

    "plugins开发指南13-liferay中使用ldap分析.pdf"讨论了Liferay与LDAP(轻量级目录访问协议)的集成,这对于大型企业需要与现有用户目录系统同步的场景非常有用。最后,"plugins开发指南19-liferay6中使用JSON.pdf...

    Liferay_Portal数据持久

    ### Liferay Portal 数据持久化详解 #### 一、HSQl数据库 ##### 1.1 HSQl简介 HSQl (HyperSQL) 是一款完全使用 Java 编写的关系型数据库管理系统 (RDBMS),其设计初衷是为了提供一个轻量级、高性能、易于使用的...

    sql Server liferay 的数据导入.

    ### SQL Server Liferay 数据导入详解 #### 一、概述 SQL Server Liferay 数据导入是指将Liferay中的数据迁移...同时,也需要注意数据迁移过程中可能出现的各种问题,并采取相应的预防措施来确保迁移工作的顺利进行。

    liferay解决无法访问页面问题

    - 如果手动修改数据库,请确保遵循 Liferay 的数据模型结构,避免数据不一致的问题。 通过上述步骤,可以有效地解决 Liferay 中出现的“You don't have permission to view this page”问题,确保用户能够正常访问...

    Liferay合集.zip

    10. **集成与互操作性**:了解Liferay与其他系统的集成方式,如SAML单点登录、LDAP目录服务等。 总的来说,这个"Liferay合集.zip"是学习和精通Liferay的宝贵资源,无论你是初学者还是经验丰富的开发者,都能从中...

    LifeRay+CAS+LDAP+Tomcat 单点登录门户.pdf

    【LifeRay+CAS+LDAP+Tomcat 单点登录门户】是一种常见的企业级身份验证解决方案,它结合了多个组件来实现高效、安全的用户登录管理。在这个架构中,LifeRay 是一个开源的内容管理系统,用于构建企业门户;CAS...

    liferay数据库表结构

    文档中提到的"Layout"表是Liferay用来存储页面布局和设置信息的核心数据表之一,对于开发和自定义Liferay门户非常关键。 首先,"Layout"表用于存储企业中所有社区的页面设置和布局信息。所谓社区,在Liferay中包括...

    liferay 文档与例子

    本资源“liferay 文档与例子”提供了关于Liferay Portal的详细文档和实例,对于学习和掌握Liferay的开发与应用具有极高的价值。 在Java平台上,Liferay Portal提供了丰富的API和工具,使得开发者能够轻松地创建...

    Liferay Portal Liferay IDE

    Liferay Portal Liferay IDE

    liferay经典书籍8本

    本书详细阐述了Liferay在集群环境下的配置和优化,包括数据同步、负载均衡以及故障转移策略,帮助读者实现Liferay系统的稳定运行。 4. 《Liferay Portal 7.x Theming》 对于希望自定义Liferay外观的设计师或开发者...

    liferay教程

    Liferay的安装与配置是入门的第一步。用户需要下载对应版本的Liferay服务器(通常基于Tomcat或Jetty),解压后配置相关的环境变量,如JAVA_HOME和CATALINA_HOME。接着,通过控制台启动服务,并在浏览器中访问Liferay...

    liferay6.1开发学习

    - 实践 Liferay 的数据集成,例如与外部系统的数据同步。 - 熟悉 Liferay 的插件开发,如钩子、扩展和事件处理。 对于初学者,建议从官方文档、在线教程、社区论坛(如 Liferay 论坛)以及相关的书籍资源入手,逐步...

    liferay详细讲解 liferay项目完全讲解

    通过这个文档,我们可以学习到Liferay如何存储和管理JBPM中的工作流实例、任务和相关数据,这对于理解Liferay中的工作流设计和实施至关重要。 其次,“深入学习:JFC SWING—JAVA 基础类组件集.pdf”可能会涉及...

    Liferay跨页面Portlet之间的调用与数据传递.docx

    在Liferay中,跨页面Portlet之间的调用与数据传递是一项关键任务,因为这涉及到不同Portlet间的协作和信息共享。Liferay提供了多种通信机制,包括PortletSession、Public Render Parameters以及Portlet事件,但这些...

    Liferay的CAS SSO实现

    在实际应用中,Liferay的SSO功能可能还需要与其他身份管理解决方案,如LDAP(轻量级目录访问协议)或Active Directory集成,以利用已有的用户数据库。这些集成通常涉及到配置Liferay的用户目录服务,确保它们能够与...

    Liferay时,遇到的问题及解决方法

    Liferay时,遇到的问题及解决方法; JavaProject 固定值设定 去掉Liferay中的“您的请求已成功完成!"的提示 portlet引用资源方法....

Global site tag (gtag.js) - Google Analytics