有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

仅在Linux WebLogic上引发java DuplicateKeyException

我在WebLogic上部署了一个相对简单的web应用程序,它使用的是Oracle数据库。当我完成应用程序的开发并准备将其部署到生产WebLogic实例所在的实际Linux服务器时,该应用程序会在所有插入上抛出DuplicateKeyException。如果我在本地windows机器上运行该应用程序,并指向远程数据库,该应用程序运行正常。我还应该注意到,在这两种环境中,所有从数据库读取的数据都可以完美地工作,没有任何问题

此后,我删除了表中的任何主键约束,只是为了缩小问题的范围,但每次我在Linux部署上执行insert查询时,它都会失败。在本地使用相同的代码、相同的远程数据库、相同版本的WL(10.3.6),它可以完美地工作。所以这里的一个大变量是,同一个WAR文件在Linux10.3.6 WL服务器上抛出DuplicateKeyException,但在Windows上没有。Linux实例实际上是在Oracle托管的环境中,所以虽然DB和WL在不同的服务器上,但我认为,由于我的read命令可以工作,托管环境不应该与我的插入失败有任何关系

如果您对此有任何建议或帮助,我们将不胜感激。我不是一个Linux的家伙,只是一个Java开发人员,对此我束手无策。谢谢


共 (1) 个答案

  1. # 1 楼答案

    所以我找到了这个问题。我继承的一些GWT代码正在捕获异常,并将DuplicateKeyException抛出给客户端。我不知道为什么会抛出这个异常,但我有个主意,停止从一个类继承,该类为我做了一些数据库的事情,其中有很多日志记录。由于日志将与Linux文件系统而不是Windows进行交互,我认为这可能是不同之处。瞧,我刚以一种更原始的方式完成了所有的数据库交互,并停止使用无关的代码,一切都成功了。我并没有深入探讨这个问题,只是知道在Linux上部署时,日志记录出现了问题。这个特殊的程序将被我用来帮助我为一些商业人士生成一些CSV,通常我无论如何都不会部署到这个服务器上,所以一旦我找到了罪魁祸首,我就停止了