`
gddzmr
  • 浏览: 31049 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

如何处理EJB中,数据重复插入的难题

阅读更多

现在我正在企业网上税务申报的项目,是用的EJB、Hibernat、Spring,jdk使用的是1.4,数据库使用的是Oracle;我们公司主要负责提供接口和保存数据,一般情况下是不会出现数据重复插入的问题,因为我们在数据插入之间会进行校验,看是否有同样的一笔数据,如果存在,就不插入。但在服务器压力特别大就有可能不定期发生,时间相差在几秒以内。

     有可能出现的问题:

1、其他公司调用接口的时候,传入两笔相同的数据,有可能会保存两次。

2、多线程处理有可能是线程有问题。

3、数据库事物的隔离级别设置的问题。

 

第一种情况,如果传入两笔数据,程序会进行校验,应该不会发生

如果是第二种情况,多线程之间的问题,事情发生的概率不会很低。我们的发生概率在百万到千万分之几。

我自己觉得可能是第三种情况,事物的隔离级别太低,可能是在Oracle提交事物的时候出现了脏读现象,导致校验程序无法起到作用。

 

请教高手该问题产出的原因,如何能模拟和测试出这个问题,以及如何解决这种问题

分享到:
评论

相关推荐

    ejb数据源配置文件

    数据源(DataSource)是EJB在处理数据库连接时的重要组成部分,它提供了一种管理数据库连接的方式,使得应用程序能够高效地获取和释放数据库连接。在EJB开发中,正确配置数据源对于实现与数据库的稳定交互至关重要。...

    ejb 中文帮助文档

    映射是EJB3中处理实体与数据库表之间关系的关键概念,主要包括一对一、一对多和多对多等类型。 #### 一对一映射 在一对一映射中,两个实体之间的关系通过共享一个主键来实现,通常使用@OneToOne和@JoinColumn注解...

    报表引擎API开发入门— EJB程序数据源

    我们前面讲了几个数据源,今天我们来讲一下EJB数据源,这篇讲完我们数据源这部分就讲完了。数据连接不需要直接访问数据库,而是使用EJB做为数据源。FR通过定义程序数据集使用EJB的相关类获取到EJB数据源,然后转为...

    EJB中ejb-jar——xml文件说明.pdf

    EJB中ejb-jar文件配置详解 EJB(Enterprise JavaBean)是一种Java技术,用于开发企业级应用程序。EJB容器提供了许多功能,如事务处理、安全认证、资源管理等,以便开发者更方便地开发企业级应用程序。在EJB中,ejb-...

    EJB的事务属性

    在深入探讨EJB(Enterprise JavaBeans)的事务属性之前,我们先来理解一下EJB的基本概念及其在企业级应用中的重要性。EJB是Java EE平台的核心组件之一,主要用于构建可扩展、健壮且安全的企业级应用程序。它提供了一...

    pafa中使用ejb

    3. **实体bean(Entity Beans)**:在旧版本的EJB中,实体bean用于持久化数据,类似于ORM(对象关系映射)。在EJB 3.0之后,JPA(Java Persistence API)取代了传统的实体bean,简化了数据访问。 描述中提到的链接...

    EJB+struts2整合示例

    1. **配置Struts2**:首先,需要在Struts2的配置文件(通常为struts.xml)中定义Action,这些Action将与EJB中的方法相对应。Action类通常会注入EJB的引用,以便在Action中调用EJB的方法。 2. **部署EJB**:EJB组件...

    EJB设计模式Ejb中涉及到的设计模式详解

    - 隔离业务逻辑和数据:商业逻辑被封装在Session EJB中,与实体EJB的数据层分离,提高模块化。 - 提升性能:通过批量处理和缓存策略,减少对数据库的直接访问。 - 易于维护和开发:客户端只需与Session EJB交互,...

    EJB3 PPT教程

    SessionBean是EJB中的一个关键组件,它代表了业务逻辑,通常处理单个客户端的请求。在EJB3中,SessionBean变得更加轻量级,不再需要XML配置,而是通过注解实现。你可以学习如何定义SessionBean接口、实现类,并使用`...

    EJB中导出Excel

    本文将详细介绍如何在EJB中实现数据向Excel的导出,包括必要的技术准备、操作步骤以及实践中的注意事项。 #### 技术准备与库引入 在开始之前,确保项目中已引入处理Excel的Java库。Apache POI是一个广泛使用的开源...

    j2ee without ejb 中文 part2

    j2ee without ejb 中文 part2j2ee without ejb 中文 part2j2ee without ejb 中文 part2j2ee without ejb 中文 part2j2ee without ejb 中文 part2j2ee without ejb 中文 part2j2ee without ejb 中文 part2j2ee ...

    EJB方面 ejb pdf

    EJB必须部署在支持的容器(如WebSphere、WebLogic)中,用户通过容器间接访问EJB组件,而非直接访问。 #### SessionBean与EntityBean的区分 - **SessionBean**:主要用于处理业务逻辑,分为Stateful和Stateless两...

    EJB中JNDI的使用源码例子

    在EJB中,JNDI(Java Naming and Directory Interface)扮演着重要的角色,它是一种服务接口,用于查找和绑定分布式系统中的对象。JNDI使得开发者可以在应用中通过名字来访问资源,如EJB组件、数据源、邮件会话等。...

    EJB2.0文档

    EJB技术将这些复杂的后台操作交给应用服务器来处理,使得开发者能够更加高效地构建稳定、可扩展的企业级应用。 **1.2 EJB体系结构** EJB体系结构主要包括以下几个关键组成部分: - **容器(Container)**:容器是...

    在Ejb中加入拦截器

    在EJB中,拦截器可以用来进行日志记录、性能监控、事务管理、权限验证等操作,而无需污染业务逻辑代码。它们通过实现特定的接口或注解来声明,并且可以被配置为针对特定的EJB方法或整个bean。 **2. EJB拦截器的实现...

    EJB3.0中文文档

    EJB组件需要部署在一个容器中运行,这个容器通常是应用服务器的一部分,例如JBoss、WebLogic或GlassFish等。容器负责提供安全性、事务管理、持久性以及并发控制等功能。 **1.3 什么是JNDI** JNDI(Java Naming and...

    EJB3.0中文 版

    - 配置JNDI连接以在Tomcat中远程访问EJB。 - **JBOSS集成环境中的WEB应用调用EJB**: - 在同一服务器上配置JBOSS和Tomcat以实现无缝通信。 #### 3. 开发前的准备 - **熟悉JBOSS目录结构**: - `bin`:包含启动...

    实战角度比较EJB2和EJB3的架构异同

    【实战角度比较EJB2和EJB3的架构异同】 EJB,即Enterprise JavaBeans,是Java EE(企业版Java)平台的...然而,理解EJB3中的JNDI机制仍然是开发过程中不可或缺的一部分,尤其是当需要处理多实现类或跨服务器部署时。

    EJB基础(学习EJB者必看)

    EJB基础学习中,首先会介绍EJB的基本类型,包括会话bean(Session Beans)负责处理客户端请求,实体bean(Entity Beans)代表持久化数据,以及消息驱动bean(Message-driven Beans)用于接收和处理JMS消息。...

Global site tag (gtag.js) - Google Analytics