我正在使用
// this is a DefaultHttpClient
List<Cookie> cookies = this.getCookieStore().getCookies();
现在,由于Cookie无法实现可序列化,因此我无法序列化该List。
编辑:(指定了我的目标,不仅是问题)
我的目标是将DefaultHttpClient与持久性cookie一起使用。
有经验的人可以带领我走上正确的道路吗?我可能还没有发现另一种最佳实践…
创建您自己的SerializableCookie
类,implements Serializable
然后Cookie
在构造过程中复制属性。像这样:
public class SerializableCookie implements Serializable {
private String name;
private String path;
private String domain;
// ...
public SerializableCookie(Cookie cookie) {
this.name = cookie.getName();
this.path = cookie.getPath();
this.domain = cookie.getDomain();
// ...
}
public String getName() {
return name;
}
// ...
}
确保所有属性本身也可序列化。除了基元之外,String
该类本身例如已经是implements Serializable
,因此您不必担心。
另外,您也可以包装/装饰Cookie
作为一个transient
属性(这样不会被序列化),并覆盖writeObject()
和readObject()
方法相应。就像是:
public class SerializableCookie implements Serializable {
private transient Cookie cookie;
public SerializableCookie(Cookie cookie) {
this.cookie = cookie;
}
public Cookie getCookie() {
return cookie;
}
private void writeObject(ObjectOutputStream oos) throws IOException {
oos.defaultWriteObject();
oos.writeObject(cookie.getName());
oos.writeObject(cookie.getPath());
oos.writeObject(cookie.getDomain());
// ...
}
private void readObject(ObjectInputStream ois) throws ClassNotFoundException, IOException {
ois.defaultReadObject();
cookie = new Cookie();
cookie.setName((String) ois.readObject());
cookie.setPath((String) ois.readObject());
cookie.setDomain((String) ois.readObject());
// ...
}
}
最后,在中使用该类List
。
我正在使用android的房间持久性库,如果有人能帮助我使用外键,如何通过使用外键获取数据,我将不胜感激。
Cadence中QPS极限有两种类型的错误 和 最好的解决方法是什么?
问题内容: 我想知道如何禁用Redis的持久性。这里提到了这样做的可能性:http : //redis.io/topics/persistence。我的意思是和那里描述的完全一样。任何帮助将不胜感激! 问题答案: 要禁用Redis中的 所有 数据持久性,请执行以下操作: 通过将配置指令设置为(默认值)来禁用AOF 通过禁用(注释掉)所有配置指令来禁用RDB快照(默认情况下定义了3个) 这些配置指令
我在想如何禁用Redis的耐药性。这里提到了这样做的可能性:http://redis.io/topics/persistence。我的意思和那里描述的完全一样。任何帮助都将非常感谢!
问题内容: 如何使表user_roles定义两列(userID,roleID)作为组合主键。应该很容易,只是不记得/找不到。 在实体中: 在实体中: 谢谢。 ** 更多信息 因此,有一个第三表即花费(由上述自动生成)从实体和从实体。现在,我需要将生成的表()中的这两列用作复合主键。 问题答案: 您已经在如何按照自己的要求做一些很好的答案。 作为参考,让我仅提及在Hibernate中执行此操作的推荐
我试图通过新的android room库更新我的数据库,但它不起作用。这就是我的方法 主要活动。JAVA CarViewModel。JAVA 卡ao.java 我做了调试,新数据出现并调用viewModel。updateItems(list)方法。提前谢谢!