Tag: readonly

我们在java中有一个Readonly字段(可以在类本身的范围内设置)吗?

我们怎样才能拥有一个在类中可写但在其外只能“可读”的变量? 例如,而不是必须这样做: Class C { private int width, height; int GetWidth(){ return width; } int GetHeight(){ return height; } // etc.. 我想做这样的事情: Class C { public_readonly int width, height; // etc… 什么是最好的解决方案?

Java File.setWritable()并在JDK 6u18之后停止正常工作

我们有一个带有特定模块的Java应用程序,它在执行其function之前检查临时目录是否“可写”。 为了测试这个,我们有一个JUnit测试,它创建一个新目录,使用Java File类方法setWritable(false)使目录“不可写”,然后将该目录传递给正在测试的模块,并期望得到一个IllegalArgumentException返回。 在JDK 6u18下,这一切都很好地工作了很长时间。 今天我已经将JDK版本更新为JDK 6u24(截至今天,Sun网站的当前版本)。 该unit testing刚刚开始使用新的JDK失败。 我在团队内部询问并发现其他人曾经试图在他们的机器上运行JDK 6u23并且在相同的JUnit测试中遇到同样的问题(并且只有那个测试 – 其他一切正常)。 更新到更新的JDK后,是否有其他人遇到过setWritable()方法的问题? 知道如何解决这个问题吗? 在你提问之前,我也试过使用setReadonly()方法作为替代,但我得到了相同的结果。

Spring – Transaction Readonly

只想获得关于Spring的声明式事务管理的专家意见。 这是我的设置: DAO层是使用Spring JdbcTemplate(No Hibernate等)的普通旧JDBC 服务层是具有声明性事务的POJO,如下所示 – save*, readonly = false, rollback for Throwable 上面的设置可以解决问题。 但是,当我说get*, readonly = true ,我在日志文件中看到错误,说Database connection cannot be marked as readonly 。 这适用于服务层中的所有get *方法。 现在我的问题是: A.我是否必须将get*设置为只读? 我所有的get*方法都是纯读取DB操作。 我不希望在任何事务上下文中运行它们。 上述错误有多严重? B.当我删除get*配置时,我没有看到错误。 而且,我所有简单的get*操作都是在没有事务的情况下执行的。 这是要走的路吗? C.为什么有人想要readonly = true事务方法? 这种配置有什么实际意义吗? 谢谢! 一如既往,非常感谢您的回复!