java - scala play 框架中的自定义消息属性,用于删除硬编码字符串

标签 java scala file-io playframework internationalization

下面这段用于从文本文件获取关键字值的代码在 localhost 中完美运行。但是当我将此代码放入AWS服务器中时,它有时只能工作。有时它会返回关键字值,但大多数情况下会返回null

package models
import java.io.FileInputStream
import java.io.FileOutputStream
import java.util.Properties
import scala.language.postfixOps

object MsgModel {

  def getKeyword(msgKeyWord: String) = {
    var fileInput = new FileInputStream("./conf/keywords");
    val properties = new Properties
    properties.load(fileInput);

    var out = new FileOutputStream("./conf/keywords");
    properties.store(out, null);
    val Point = properties.getProperty(msgKeyWord)

    val key = properties.keySet()
    val data = Point
    fileInput.close();
    out.close();
    data
  }
}

有时

MsgModel.getkeyword("jid")//some times returns jid, which is expected
MsgModel.getkeyword("jid")//some times return null

文件:keywords.txt

jid=jid

为什么它有时有效?

最佳答案

我怀疑这是一个问题,因为 AWS 负载均衡器将您的流量路由到的底层服务器之一中没有该文件。您能否尝试将系统的 IP 或某些唯一标识符与结果一起返回,并注意它们在预期结果和空值的情况下是否不同?

关于java - scala play 框架中的自定义消息属性,用于删除硬编码字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24118639/

相关文章:

java - StAX Cursor API 和 Iterator API 有什么区别?

unit-testing - Scala、Scalatest 和 Maven 入门

generics - Scala 中的有界泛型(如 Java 中的 <E extends MyClass> )

scala - 如何在 Play 之外使用 Anorm?

java - 从文件、正则表达式中提取与给定模式匹配的段落

python - 我会通过二进制复制损坏文本文件吗?

java - 使用命令: ">" and "<" to read/write file

java - 如何在Java中标准化IPv6地址?

java - Android 中的 android.util.Pair<F, S> 示例

Java:在方法中用更少的代码分割字符串