我期待缓存的读取器和文件读取器关闭,如果异常抛出则释放资源.
public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{
try (BufferedReader br = new BufferedReader(new FileReader(filePath)))
{
return read(br);
}
}
Run Code Online (Sandbox Code Playgroud)
但是,是否需要有catch成功关闭的条款?
编辑:
从本质上讲,Java 7中的上述代码与Java 6中的代码相同:
public static Object[] fromFile(String filePath) throws FileNotFoundException, IOException
{
BufferedReader br = null;
try
{
br = new BufferedReader(new FileReader(filePath));
return read(br);
}
catch (Exception ex)
{
throw ex;
}
finally
{
try
{
if (br != null) br.close();
}
catch(Exception ex)
{
}
}
return null;
}
Run Code Online (Sandbox Code Playgroud) 如何加载${catalina.home}/conf/application.propertiesSpring/Tomcat webapp?
在StackOverflow和Google上四处看看,我看到很多讨论声称它是可能的.但是,这对我不起作用.根据我的研究建议,我的Spring applicationContext.xml文件包含以下行:
<context:property-placeholder location="${catalina.home}/conf/application.properties"/>
Run Code Online (Sandbox Code Playgroud)
但是我在日志中得到了这个:
Caused by: java.io.FileNotFoundException: Could not open ServletContext resource [/Users/username/Servers/apache-tomcat-6.0.36/conf/application.properties]
Run Code Online (Sandbox Code Playgroud)
从日志条目中我可以看到${catalina.home}正在正确扩展.当我在applicationContext.xml文件中手动展开它时,它返回相同的错误.以下内容按预期返回application.properties文件的内容:
cat /Users/username/Servers/apache-tomcat-6.0.36/conf/application.properties
Run Code Online (Sandbox Code Playgroud)
所以道路显然是正确的.这是webapp安全性还是Tomcat服务器配置问题?
使用/ 和其他一些来自不同线程Thread的方法是否安全?API没有说什么,而是根据源代码判断setNamegetName
private char name[];
public final void setName(String name) {
checkAccess();
this.name = name.toCharArray();
}
public final String getName() {
return String.valueOf(name);
}
Run Code Online (Sandbox Code Playgroud)
它似乎可能导致内存一致性错误.
我的Eclipse上有一个Maven项目.当我执行调用层次结构时,我收到消息:
资源不在java项目的构建路径上.
需要为此配置什么?
有没有办法打印ARGs 值,这些值通过标志传递--build-arg给docker build命令?
仅仅使用是不够的,因为我希望它在不允许的部分RUN echo $ARG_NAME之前打印。FROM
重点是立即查看这些值,以便我可以快速停止构建,防止下载错误的基础映像。
已经搜索了 docker docs 和 google。也许这里有人可以提供一些线索。
假设我的模型由一个实体组成,该实体通过属性Parent引用一些实体。根据 REST 原则,特定 URI 的路径段将为。ChildchildrenChild/parent/{parentId}/children/{childId}
当对 执行更新操作时Child,通常childId我只需要唯一地标识正确的Child,并认为parentId路径中的段是多余的。随着层次结构变得复杂,这种冗余会加剧。
现在我想起来了,它也可能会导致意外的行为:如果程序员不知道的话,访问具有相同childId但不同的URI 可能会导致相同的行为。 当访问不相关的下parentId一个时可能会发生的情况是应该返回客户端错误代码。ChildParent
目前我认为也许不应该向 REST API 引入任何层次结构,除非它绝对直观,因为它:
有没有办法避免这种冗余并仍然符合 REST 原则?
有没有办法让spring(v.3.0)解析文件中的占位符.properties?我知道我可以写自己的PropertyPlaceholderConfigurer但我正在寻找一种"更清洁"的方式来做到这一点.
编辑:
更具体地说,我实际想要做的是替换.sql文件中的占位符.因此占位符的值存储在其中,.properties但占位符用于.sql文件中.
java ×3
spring ×2
concurrency ×1
docker ×1
docker-build ×1
eclipse ×1
java-7 ×1
maven ×1
placeholder ×1
properties ×1
rest ×1
tomcat ×1
uri ×1