我正在托管模式下运行GWT应用程序.偶尔我会HostedModeException
抱怨从JSNI返回的JS值的类型.有时它是在反序列化期间:
com.google.gwt.dev.shell.HostedModeException: Something other than an int was returned from JSNI method '@com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader::readInt()': JS value of type boolean, expected int
at com.google.gwt.dev.shell.JsValueGlue.getIntRange(JsValueGlue.java:266)
at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:144)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeInt(ModuleSpace.java:247)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeInt(JavaScriptHost.java:75)
at com.google.gwt.user.client.rpc.impl.ClientSerializationStreamReader.readInt(ClientSerializationStreamReader.java)
Run Code Online (Sandbox Code Playgroud)
有时在:
com.google.gwt.dev.shell.HostedModeException: Something other than an int was returned from JSNI method '@com.google.gwt.user.client.impl.DOMImpl::eventGetTypeInt(Ljava/lang/String;)': JS value of type null, expected int
at com.google.gwt.dev.shell.JsValueGlue.getIntRange(JsValueGlue.java:266)
at com.google.gwt.dev.shell.JsValueGlue.get(JsValueGlue.java:144)
at com.google.gwt.dev.shell.ModuleSpace.invokeNativeInt(ModuleSpace.java:247)
at com.google.gwt.dev.shell.JavaScriptHost.invokeNativeInt(JavaScriptHost.java:75)
at com.google.gwt.user.client.impl.DOMImpl.eventGetTypeInt(DOMImpl.java)
at com.google.gwt.user.client.impl.DOMImpl.eventGetTypeInt(DOMImpl.java:62)
at com.google.gwt.user.client.DOM.eventGetType(DOM.java:602)
at com.google.gwt.user.client.Event$.getTypeInt$(Event.java:695)
at com.extjs.gxt.ui.client.util.BaseEventPreview.onPreviewNativeEvent(BaseEventPreview.java:139)
Run Code Online (Sandbox Code Playgroud)
再一次
com.google.gwt.dev.shell.HostedModeException: Something other than a float was returned from …
Run Code Online (Sandbox Code Playgroud) 在给定java.lang.Class
对象的情况下,是否可以获取源文件名和声明类的行号?
数据应该在.class
文件的调试信息中提供.我知道的唯一的地方,JDK返回这样的调试信息,java.lang.StackTraceElement
但我不确定是否可以强制Java java.lang.StackTraceElement
为任意类创建实例,因为我们没有在类中执行方法.
我的确切用例是一个匿名内部类,它具有编译器生成的名称.我想知道类声明的文件名和行号.
我不想使用字节码操作框架,但如果必须的话我可以回到它.
我以前在Eclipse工作,但IDEA对我来说似乎更舒服.
我想按一些热键来订购所有源成员.
有一个选项:项目设置 - 代码样式 - Java - 代码生成 - 成员顺序.但它不适用于现有代码.
我如何按类别(如静态内部类,然后是内部类,然后是静态字段等)对它们进行排序,并按字母顺序对每个类别进行排序?
是否有可能在IDEA中这样做?可能是,有些插件?
目前正在设计Expression Language 3.0版.它添加了各种很酷的功能,例如通过lambda表达式映射和过滤集合.Spring EL有一个类似的功能,但不使用lambdas.
尽管谷歌搜索EL3的(参考)实现我找不到任何东西,是否有(参考)实现可用或至少正在进行?
否则我现在可能需要使用Spring EL.
谢谢
在托管模式下运行我的GWT应用程序(gwt 2.0.4)时,调用在远程Tomcat上运行的RPC方法,我得到GWT序列化异常:
INFO: GwtRpcEventSrvc: ERROR: The serialization policy file '/84EC7BA65AF8175BAA99B47877FDE163.gwt.rpc' was not found; did you forget to include it in this deployment?
SEVERE: GwtRpcEventSrvc: WARNING: Failed to get the SerializationPolicy '84EC7BA65AF8175BAA99B47877FDE163' for module 'http://host:19980/MYAPP/'; a legacy, 1.3.3 compatible, serialization policy will be used. Youmay experience SerializationExceptions as a result.
SEVERE: Exception while dispatching incoming RPC call
Throwable occurred: com.google.gwt.user.client.rpc.SerializationException: java.lang.reflect.InvocationTargetException
.at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeWithCustomSerializer(ServerSerializationStreamWriter.java:760)
.at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serializeImpl(ServerSerializationStreamWriter.java:723)
.at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter.serialize(ServerSerializationStreamWriter.java:612)
.at com.google.gwt.user.client.rpc.impl.AbstractSerializationStreamWriter.writeObject(AbstractSerializationStreamWriter.java:129)
.at com.google.gwt.user.server.rpc.impl.ServerSerializationStreamWriter$ValueWriter$8.write(ServerSerializationStreamWriter.java:152)
...
Caused by: com.google.gwt.user.client.rpc.SerializationException: Type 'com.mypackage.data.MyData' was not assignable to …
Run Code Online (Sandbox Code Playgroud) 作为背景,今天,我的GWT托管模式运行起来只是神秘地放慢到它实际上无法工作的程度.每当我暂停应用程序时,相关的线程(主线程,代码服务器等)都在等待一些文件I/O本机方法.在我挠了一下头后,我试着稍微清理一下我的硬盘.然后我在我的用户Temp
文件夹中发现了一个4千兆字节的文件gwt7155307955598297091byte-cache
.我想知道这个文件可能有什么用处,如果我完全删除它会发生什么.下次启动开发模式等待重新创建"字节缓存"时,是否会出现性能问题?
假设我有一个通用接口Source<T>
,它是一个纯粹的T
对象生成器.作为纯粹的生产者是界面合同的一部分.因此,Source<Foo>
如果你有一个,那么无论你能做什么,都应该做也是合理的期望Source<? extends Foo>
.
现在我需要强制执行这个限制Source
,以便有人不会T
以违反合同的方式意外使用.
JDK的一个例子
正如@ Miserable.Variable指出,ArrayList<Integer>
和ArrayList<? extends Integer>
是不等价的.那是因为ArrayList
作为泛型类型不是协变的.换句话说,ArrayList<T>
不是纯粹的生产者T
; 具体地说,该ArrayList
方法add(T)
消耗 a T
.
但是有些泛型类型是纯生产者,比如Iterator
或Iterable
.无论你做什么,Iterator<Integer>
你也可以做一个Iterator<? extends Integer>
.有没有像法ArrayList.add(T)
在Iterator<T>
.
我只是想确保我的界面Source<T>
是一样Iterator<T>
,而不是象ArrayList<T>
.如果将来某人在我的界面中添加了一个T
消耗方法(比如add(T)
),我希望他们得到一个明确的错误.
一个更复杂的例子
简单地禁止T
出现在界面中的类型参数不是一个完整的解决方案.还应注意,T
可以将其用作其他泛型类型的参数.例如,不应允许以下方法Source<T>
:
public void copyTo(List<T> …
Run Code Online (Sandbox Code Playgroud) 所以我正在尝试使用Visual Studio 2012在XAML文档上创建一个非常简单的骰子应用程序,但我无法弄清楚如何处理错误.我尝试使用bitmapimage添加; 但它仍然行不通.
以下是我得到的错误:
Error 1 Undefined namespace. The 'using' URI refers to a namespace 'DiceRoll' that could not be found.
Error 2 The type or namespace name 'BitmapImage' could not be found (are you missing a using directive or an assembly reference?)
Run Code Online (Sandbox Code Playgroud)
CS:
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.UI.Xaml;
using Windows.UI.Xaml.Controls;
using Windows.UI.Xaml.Controls.Primitives;
using Windows.UI.Xaml.Data;
using Windows.UI.Xaml.Input;
using Windows.UI.Xaml.Media;
using Windows.UI.Xaml.Navigation;
using BitmapImage;
// The Blank Page item template is …
Run Code Online (Sandbox Code Playgroud) 我正在使用gwt编辑器框架来绑定gwt中的表单.我能够成功绑定表单,但我的问题是我需要编写太多代码.我认为使用泛型会缩短我的代码,但我无法做到.
代码EditVendorWorkflow
几乎相同,唯一的区别是这两行
interface Driver extends SimpleBeanEditorDriver<Vendor, VendorEditor>{}
private VendorEditor editor;
Run Code Online (Sandbox Code Playgroud)
例如,如果我写了PersonEditor
相应的EditPersonWorkflow
代码就会有
interface Driver extends SimpleBeanEditorDriver<Person, PersonEditor>{}
private PersonEditor editor;
Run Code Online (Sandbox Code Playgroud)
所以基本上有重复.
任何帮助都很明显.
public class EditVendorWorkflow{
interface Driver extends SimpleBeanEditorDriver<Vendor, VendorEditor>{}
Driver driver = GWT.create(Driver.class);
private VendorEditor editor;
void edit(Vendor p) {
driver.initialize(editor);
driver.edit(p);
}
void save() {
Vendor edited = driver.flush();
//doSomethingWithEditedVendor(edited);
}
public void initialize(VendorEditor editor) {
this.editor = editor;
}
}
public class VendorEditor extends Composite implements Editor<Vendor> {
private static VendorEditorUiBinder uiBinder …
Run Code Online (Sandbox Code Playgroud) 假设我们有一张表:
CREATE TABLE Jobs
(
JobID INT PRIMARY KEY ,
AssignedUser VARCHAR(10) ,
Zone VARCHAR(10)
)
Run Code Online (Sandbox Code Playgroud)
我们需要强制执行的约束是这样的:确保没有用户在多个区域中分配作业,即存在功能依赖性AssignedUser => Zone
。
如何在 SQL 中强制执行此操作?不幸的是,这是一个遗留表,我们无法更改其结构,但我们可以创建约束来强制完整性。
sql relational-algebra relational-database unique-constraint functional-dependencies
java ×5
gwt ×4
generics ×2
c# ×1
collections ×1
covariance ×1
editor ×1
el ×1
gwt-rpc ×1
jsni ×1
lambda ×1
reflection ×1
spring-el ×1
sql ×1
unit-testing ×1
xaml ×1
xml ×1