资源泄漏:使用Apache.POI XSSFWorkbook时,工作簿永远不会被关闭

因此,我使用Apache POI将Excel文件解析为我的数据库。 为此,我正在初始化XSSFWorkbook如下: XSSFWorkbook workbook = new XSSFWorkbook(fIP); 然后我继续我的方法。 workbook.close()不可用作以后关闭工作簿的方法。 有关如何在任务完成后让垃圾收集进入工作簿的任何想法?

如何在执行测试时阻止我的Spring Boot Batch应用程序运行?

我有一个Spring Boot Batch应用程序,我正在编写集成测试。 当我执行测试时,整个批处理应用程序运行。 如何只执行测试中的应用程序代码? 这是我的测试代码。 执行时,将运行整个批处理作业步骤(阅读器,处理器和编写器)。 然后,测试运行。 @RunWith(SpringJUnit4ClassRunner.class) @SpringApplicationConfiguration(classes = BatchApplication.class)) @TestExecutionListeners({ DependencyInjectionTestExecutionListener.class, StepScopeTestExecutionListener.class }) public class StepScopeTestExecutionListenerIntegrationTests { @Autowired private FlatFileItemReader reader; @Rule public TemporaryFolder testFolder = new TemporaryFolder(); public StepExecution getStepExection() { StepExecution execution = MetaDataInstanceFactory.createStepExecution(); return execution; } @Test public void testGoodData() throws Exception { //some test code on one met […]

隐藏源代码中的密码内容

有谁知道如何在j2me程序的源代码中隐藏密码内容? 即所以人们不能将“DBT”看作是读取源代码的密码。 public void validateUser(String user, String Password) { if (user.equals(“N0203251”) && Password.equals(“DBT”)) { switchDisplayable(null, getContinue()); } }

有状态会话beanmultithreading访问

EJB 3.2规范说明如下: 默认情况下,允许客户端对有状态会话对象进行并发调用,并且需要容器序列化此类并发请求。 请注意,容器永远不允许multithreading访问实际的有状态会话Bean实例。 对我来说,并发访问和multithreading访问似乎是等效的。 那么如何在禁止多个线程的情况下对有状态EJB进行并发调用呢?

如何在Wildfly 8上的Picketbox / Undertow中捕获FailedLoginException以应用CORS

在ContainerResponseFilter的帮助下,我能够将CORS头应用于所有传出的响应,并且使用ExceptionMapper,我可以在所有错误和exception上执行相同的操作, 除了 Picketbox / Undertow应该在Wildfly中抛出的任何与身份validation相关的exception。 无论我尝试什么,我的ExceptionMapper都不会捕获它,因此,前端无法读取401状态,因为响应没有附加CORS头(XHR HTTP状态代码只是变为0)。 我正在使用这个 PBKDF2设置来对MySQL数据库进行身份validation,起初我认为可能因为身份validation是在一个单独的模块中运行的,所以我的应用程序没有捕获它,但即使将所有身份validation代码移到我自​​己的身份之后也是如此应用程序我有同样的问题。 这是我尝试使用错误密码进行身份validation时获得的日志条目(当我根本不发送任何凭据时,我得到一个非常类似的日志条目): 2014-11-29 16:11:08,053 TRACE [org.jboss.security](默认任务-4)PBOX000224:结束getAppConfigurationEntry(PBKDF2DatabaseDomain),AuthInfo:AppConfigurationEntry []:[0] LoginModule类:com.example.myapplication。 security.SaltedDatabaseServerLoginModule ControlFlag:LoginModuleControlFlag:required选项:name = dsJndiName,value = java:/ user name = principalsQuery,value = SELECT Hash FROM account WHERE ID =? name = rolesQuery,value = SELECT Role ,’角色’FROM帐户WHERE account 。 ID =? 2014-11-29 16:11:08,053 TRACE [org.jboss.security](默认任务-4)PBOX000236:开始初始化方法2014-11-29 16:11:08,053 TRACE [org.jboss.security](默认任务-4)PBOX000262:模块选项[dsJndiName:java:/ user,principalsQuery:SELECT Hash FROM […]

键入右括号时禁用Intellij IDEA代码重新格式化

Intellij IDEA似乎想在输入右括号后重新格式化括号内的代码块。 例如,如果我有一个代码块,我现在想要在try / catch块中包装,一旦我输入try块的右括号,整个try块就会自动重新格式化。 我在设置中搜索过,但是找不到任何可以解决此问题的内容。 有任何想法吗?

在Eclipse中抑制FindBugs警告

我使用字符串作为锁,因此要确保对象是一个新实例。 FindBugs抱怨,因为直接定义字符串通常更有效(使用双引号)。 我的代码看起来像: /** A lock for the list of inputs. */ @edu.umd.cs.findbugs.annotations.SuppressWarnings(“DM_STRING_CTOR”) //We want a new String object here as this is a lock. private final Object inputListLock = new String(“inputListLock”); 我在这里做错了吗? Eclipse FindBugs插件仍然将此报告为一个问题: 模式ID:DM_STRING_CTOR,类型:Dm,类别:PERFORMANCE 使用java.lang.String(String)构造函数会浪费内存,因为这样构造的对象在function上与作为参数传递的String无法区分。 只需直接使用参数String。

使用ftp协议连接到密码包含“@”符号的服务器

我试图在java中使用FTP协议从服务器下载文件。 通过使用以下URL我能够连接到服务器和下载文件。 URL url = new URL(“ftp://”+user+”:”+password+”@”+host+”/”+remoteFile+”;type=i”); 但是当我的密码包含“@”(例如:soft @ 2011)符号时,它会抛出以下exception: java.net.UnknownHostException: 2010@192.168.1.100 它无法区分两个“@”符号。 我该如何避免这个问题? 我可以使用任何转义字符来避免这个问题吗?

是否有图像的java库?

我是java中图像处理的新手。 我被赋予了重新调整和缩放网站图像的任务 是否有一个简单的库可以完成这项任务? 我必须下载一个jar的库 – 添加到我的项目中? 我不想被迫将编解码器和文件安装到Windows。 我需要库只支持基本function Lib.cropImage(); Lib.resizImage(); Lib.scaleImage() 我已经找到了一个名为JAI的库,但我找不到要下载它的jar。 我错过了什么吗?

可以选择将unit testing或集成测试添加到现有系统中,哪个更好开始,为什么?

我目前正在咨询现有系统,我怀疑正确的下一步是添加unit testing,因为正在发生的exception类型(空指针,空列表,无效的返回数据)。 但是,在应用程序中进行“个人投资”的员工坚持进行集成测试,即使报告的问题与特定用例失败无关。 在这种情况下,最好从unit testing还是集成测试开始?