我有一个java 1.6应用程序,它使用批量插入来使用jdbc驱动程序在Oracle数据库中插入记录。 正如您在Statement对象上所知,有一个名为executeBatch()的方法,我们将其用于批量更新。 它有一个返回类型的int数组,其中包含每个记录的执行结果。 但它也会在出现错误时抛出BatchUpdateException,我们也可以从中获取结果int数组。 我的问题是我应该期待什么样的错误情况BatchUpdateException和什么时候我应该期望没有抛出exception但是对于某些记录我得失败。 注意:问题特别针对Oracle JDBC。 为了更清楚,我已经看到在执行executeBatch()之后的情况我没有得到BatchUpdateException,但是一些insert语句失败了。 我的问题是关于可能发生的情况? 这是Statement.executeBatch()方法的返回javadoc。 根据这里的一般意见,当一个条目失败时,执行抛出BatchUpdateException然后在哪种情况下我们可以预期返回数组中的某些条目失败。 * @return an array of update counts, with one entry for each command in the * batch. The elements are ordered according to the order in which * the commands were added to the batch. * * * If the value of an […]
G’day人, 问这样一个天真的问题让我感到尴尬。 但我无法理解一件事,我有这样的inheritance结构, B扩展A,我写的代码如下, A级 public class A{ private int pos = 0; public A(){ this.pos = 12; } public int getPos(){ return this.pos; } } B级 public class B extends A{ int spec = 15; public B(){ super(); } public int getSpec(){ return this.spec; } } 我还有一个课程要测试,这会让我们回答我的问题。 class级考试 import java.util.*; public class Test{ public […]
我有一个JLayeredPane,我添加3个JPanels。 我使JPanels透明(没有设置背景和setOpaque(false))。 我在JPanels上绘制线条,只有最后一个JPanel上的线条可见。 通过顶级JPanel看不到其他JPanel的行(即使我在添加它们时添加了不同的zIndex)。 有谁知道这方面的解决方案? 他们为什么不透明? 我创建了一个小测试程序(3个类)。 (TestJPanel和TestJPanel1绘制一条线,但在不同的位置,但我只看到最后添加的JPanel的行。我没有看到2行,因为它不透明:() Main.Java import java.awt.BorderLayout; import java.awt.Color; import javax.swing.JButton; import javax.swing.JFrame; import javax.swing.JLayeredPane; public class Main extends JFrame { public Main() { setSize(400, 350); setDefaultCloseOperation(EXIT_ON_CLOSE); JLayeredPane lp = getLayeredPane(); lp.setLayout(new BorderLayout()); TestJPanel top = new TestJPanel(); top.setOpaque(false); TestJPanel middle = new TestJPanel(); middle.setOpaque(false); TestJPanel1 bottom = new TestJPanel1(); bottom.setOpaque(false); […]
我有一个Spring bean,它在构造函数中通过http访问外部系统。 如果外部系统在启动时不可用,则无法创建bean并且应用程序无法正常启动。 我希望我的应用程序能够启动,无论外部系统如何。 我宁愿缺少function一段时间而不是重启应用程序。 我知道在Spring中可以通过正确选择范围和代理bean工厂来实现这一点,但我不确定它是如何实现的。 在我看来,Spring AOP的大多数部分旨在修改成功创建的目标,并且无法在创建期间处理激活或我错了吗? 简而言之:我想要一个在第一次访问时创建目标bean的代理,然后只要它工作就保留该实例。 如果它无法创建它,它应抛出exception并在下次调用代理时重试。 那么,您将如何实现此function?
我想将一个名称空间中的所有数据(例如www.mysite.com)复制到另一个名称空间,比如nightly.latest.mysite.appspot.com。 最好的方法是什么? 示例命名空间不是随机的:它们是NamespaceFilter为服务应用程序的给定域设置的命名空间。 我希望能够将所有“生产”数据拉入“非生产”命名空间进行测试。
我一直认为操作系统上的进程有三个标准流: stdin, stdout, and stderr 。 我还认为像vim这样的文本编辑通过stdin并在stdout发送ANSI转义字符来工作。 但是,我对命令行解释器如何在这一案例中没有提到的观点如下: 当我运行命令C:\cygwin\bin\bash.exe ,系统会提示我: Microsoft Windows [Version 6.1.7600] Copyright (c) 2009 Microsoft Corporation. All rights reserved. C:\Users\masson>C:\cygwin\bin\bash.exe bash-3.2$ …但是当我使用以下代码段在Java中运行它时,stdin流为空: ProcessBuilder pb = new ProcessBuilder(“C:\\cygwin\\bin\\bash.exe”); pb.redirectErrorStream(true); Process proc = pb.start(); final InputStream in = proc.getInputStream(); new Thread(new Runnable() { public void run() { // Blocks forever… in.read(new byte[1024]); } }).start(); […]
我正在尝试使用setScaleX找到我所缺少的内容。 final ImageView iv = (ImageView) findViewById(R.id.imageView); ViewTreeObserver vto = iv.getViewTreeObserver(); vto.addOnGlobalLayoutListener(new ViewTreeObserver.OnGlobalLayoutListener() { @Override public void onGlobalLayout() { // Start at 60 Log.d(“test”, “Before”+String.valueOf(iv.getWidth())); iv.setScaleX((float) .5); // Still at 60 after scale Log.d(“test”, “After”+String.valueOf(iv.getWidth())); } }); 我想宽度会变成30.如何在缩放后获得宽度值?
我试图在java中为进程构建器设置PATH环境变量,我尝试了以下方法: ProcessBuilder pb = new ProcessBuilder(command); Map mp = pb.environment(); mp.put(“Path”, “myPath”); pb.start(); 但是以下不起作用,进程构建器选择了默认的系统路径。 我遇到了这个问题 ,这个技巧在我目前的项目中没有帮助我。 我该怎么办才能解决这个问题?
我有两个文件非常大,每个文件50000行。 我需要比较这两个文件并确定更改。 但是,如果一条线存在于不同位置,则不应该显示为不同。 例如,考虑一下 文件A.txt xxxxx yyyyy zzzzz 文件B.txt zzzzz xxxx yyyyy 所以如果这是文件的内容。 我的代码应该输出为xxxx(或xxxx和xxxxx)。 当然,最简单的方法是将文件的每一行存储在一个 List 并与其他人比较 List. 但这似乎需要花费很多时间。 我也尝试在java中使用DiffUtils。 但它不会将不同行号中的行识别为相同。 那么还有其他算法可以帮助我吗?
我尝试模拟外部SD卡,因为它将在真实设备中。 在真实设备中,外部SD卡不可写,除非您使用新的“存储访问框架”(API 21和22) 当我添加带文件或大小的SD卡时…… 我总是得到一个可写的SD卡,这对于真实的设备是不正确的(我猜)。 我可以创建文件夹“CreateFolder”(我知道,我不应该使用直接访问,但这只是为了测试我是否有写访问权限): String spathWriteTest=”/storage/sdcard/”; new File(spathWriteTest + “createFolder”).mkdir(); 任何想法,如何模仿真正的外部SD卡?