Java NetBeans插件更新后所有连接上的ConnectionRequest错误
我更新了NetBeans的CodenameOne插件,从那以后,每个连接都会产生下面的错误 java.lang.ClassCastException:java.lang.Boolean不能转换为java.util.Hashtable 位于com.codename1.impl.CodenameOneImplementation.getCookiesForURL(CodenameOneImplementation.java:3934) 在com.codename1.io.ConnectionRequest.performOperation(ConnectionRequest.java:308)上 位于com.codename1.io.NetworkManager$NetworkThread.run(NetworkManager.java:263) 位于com.codename1.impl.CodenameOneThread.run(CodenameOneThread.java:176) 推送通知注册的连接甚至会产生此错误。Java NetBeans插件更新后所有连接上的ConnectionRequest错误,java,codenameone,Java,Codenameone,我更新了NetBeans的CodenameOne插件,从那以后,每个连接都会产生下面的错误 java.lang.ClassCastException:java.lang.Boolean不能转换为java.util.Hashtable 位于com.codename1.impl.CodenameOneImplementation.getCookiesForURL(CodenameOneImplementation.java:3934) 在com.codename1.io.ConnectionRequ
有什么帮助吗?问题出现是因为我在一些ConnectionRequest调用中存储、删除和还原了“Cookies”存储对象。我应该将ConnectionRequest的setCookiesEnabled方法设置为false 使用了错误的代码
try {
ConnectionRequest connectionRequest = new ConnectionRequest() {
@Override
protected void initConnection(Object connection) {
super.initConnection(connection);
storeAndDeleteUserCookiesData();
}
@Override
protected void readResponse(InputStream input) throws IOException {
}
@Override
protected void postResponse() {
restoreCookies();
}
@Override
protected void handleException(Exception err) {
restoreCookies();
}
@Override
protected void handleErrorResponseCode(int code, String message) {
restoreCookies();
}
@Override
public void retry() {
super.retry();
}
};
NetworkManager.getInstance().addToQueue(connectionRequest);
} catch (Exception ex) {
restoreCookies();
}
protected void storeAndDeleteUserCookiesData() {
if (Storage.getInstance().exists("Cookies")) {
Storage.getInstance().writeObject("Cookies_" + appName, Storage.getInstance().exists("Cookies"));
Storage.getInstance().deleteStorageFile("Cookies");
}
Storage.getInstance().clearCache();
}
protected void restoreCookies() {
Storage.getInstance().writeObject("Cookies", Storage.getInstance().readObject("Cookies_" + appName));
Storage.getInstance().clearCache();
}
解决办法是
ConnectionRequest connectionRequest = new ConnectionRequest() {
};
connectionRequest.setCookiesEnabled(false);
您是如何声明和使用引发这些异常的ConnectionRequests的?提供完整的StackTraceI是在做流氓编码。如此无赖以至于上面只显示了堆栈跟踪。我进入com.codename1.impl.CodenameOneImplementation.getCookiesForURL源,了解我做错了什么。