Java 仅在Linux WebLogic上引发DuplicateKeyException

Java 仅在Linux WebLogic上引发DuplicateKeyException,java,linux,oracle,web-applications,weblogic,Java,Linux,Oracle,Web Applications,Weblogic,我在WebLogic上部署了一个相对简单的web应用程序,它使用Oracle数据库。当我完成应用程序的开发并准备将其部署到生产WebLogic实例所在的实际Linux服务器时,该应用程序将在所有插入上抛出DuplicateKeyException。如果我在本地windows计算机上运行该应用程序并指向远程数据库,该应用程序运行正常。我还应该注意到,在这两种环境中,对数据库的所有读取都可以完美地工作,没有任何问题 此后,我删除了表上的任何主键约束,只是为了缩小问题的范围,但每次我在Linux部署上

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

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


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

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