下面这段用于从文本文件获取关键字值的代码在 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/