问题标签 [errai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
14412 浏览

java - OutOfMemoryError:java.util.Arrays.copyOfRange 处的 Java 堆空间

这是将图像 base64 字符串(大小约为 360KB)传递给带有字符串参数的 GWT 方法时在 GWT DevMode 控制台中引发的错误:

java.lang.OutOfMemoryError: java.util.Arrays.copyOfRange(Arrays.java:2694) 在 java.lang.String.(String.java:234) 在 java.lang.StringBuilder.toString(StringBuilder.java) 的 Java 堆空间:405) org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl$23._marshall1(MarshallerFactoryImpl.java:1310) at org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl$23.marshall(MarshallerFactoryImpl.java:1326 ) 在 org.jboss.errai.marshalling.client.marshallers.QualifyingMarshallerWrapper.doNotNullMarshall(QualifyingMarshallerWrapper.java:93) 在 org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl$23.marshall(MarshallerFactoryImpl.java:1) .jboss.errai.marshalling.client.marshallers.AbstractNullableMarshaller.marshall(AbstractNullableMarshaller.java:29) 在 org.jboss.errai.marshalling.client.api。MarshallerFactoryImpl$24.marshall(MarshallerFactoryImpl.java:1402) at org.jboss.errai.marshalling.client.api.MarshallerFactoryImpl$24.marshall(MarshallerFactoryImpl.java:1) at org.jboss.errai.marshalling.client.Marshalling.toJSON( Marshalling.java:83) 在 org.jboss.errai.enterprise.client.jaxrs.MarshallingWrapper.toJSON(MarshallingWrapper.java:32) 在 org.jboss.errai.enterprise.client.jaxrs.JaxrsProxyLoaderImpl$1com_myapp_client_shared_service_PasteServiceImpl.createPaste(JaxrsProxyLoaderImpl. java:194) 在 com.myapp.client.local.PastePage.onPasteImage(PastePage.java:257) 在 com.myapp.client.local.PastePage$4$1.run(PastePage.java:162) 在 com.google.gwt .user.client.Timer.fire(Timer.java:149) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl。invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at com.google.gwt.dev.shell .MethodAdaptor.invoke(MethodAdaptor.java:103) 在 com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71) 在 com.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java :172)在 com.google.gwt.dev.shell.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:218) 在 com.google. gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:136) 在 com.google.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561) 在 com.google.gwt。dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269) 在 com.google.gwt.dev.shell.JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91) 在 com.google.gwt.core.client.impl.Impl。 apply(Impl.java) 在 com.google.gwt.core.client.impl.Impl.entry0(Impl.java:213) 在 sun.reflect.GeneratedMethodAccessor69.invoke(Unknown Source)

查看日志,它看起来不像是客户端问题,更像是编组问题。

0 投票
1 回答
1324 浏览

javascript - Paste event firing many times

This is my code for Chrome to handle paste event:

This code works fine except that the event is fired many times even if I press the CTRL+V command just once. What could be the reason? And how can I prevent this from happening as its very important that the handler to fire just once per press of the paste command.

Update:

I logged to the console and here is what I mean:

Notice how the same event is fired 3 times.

Update 2:

This code is actually a GWT code wrapped around JSNI:

And is called during @PostConstruct of the app:

When the paste event occurs the "page" with transition to another page (from #Page1 to #Page2. When the page transition back to #Page1, the setup() method is fired up.

0 投票
0 回答
680 浏览

gwt - GWT RequestFactory 和服务器推送?

1- 我已经在 GWT 项目中使用了以下框架(基于事件的客户端-服务器),并且与 RPC 调用架构配合良好。

经过搜索,我发现了很多处理客户端服务器消息交换问题的框架:

2- Jboss Errai 框架

很棒的消息服务,但我没有使用它。我只用 gwt 搜索了 erai 巴士的使用情况,但没有找到任何东西。

3-气氛框架

似乎做和彗星一样的事情,但我没用过。 http://async-io.org/tutorial.html

4 -WebSocket

5- Spring-Integration-Cometd

6- Spring WebSocket

现在 :

我想用 Spring roo 和 GWT 开发一个项目。作为 Spring roo gwt 基于 RequestFactory 架构。

我认为我们可以使用带有 RequestFactory 架构的 Comet 或 gwteventservice,但我们需要AutoBean在服务器端生成客户端实体接口。

我的问题涉及 GWT RequestFactory :

如何在基于 RequestFactory 架构的 gwt 项目中集成上述框架之一?有没有例子?!

谢谢

0 投票
1 回答
626 浏览

java - 将图像数据(base64)从客户端发送到服务器

这是我通过 Errai Jax-RS 发送和图像数据的代码:

日志显示在客户端(浏览器)中断或挂起之前记录了“设置字节数组后”。所以问题似乎出在服务调用上。这样发送base64数据有错吗?测试数据发送它的大小约为 350K 字节。

0 投票
1 回答
255 浏览

java - 在@PostConstruct 中调用 JSNI 方法 - Errai

我在尝试使用 Errai 2.3.2 从 Java 调用 JS 函数时遇到问题我正在使用 Bootstrap 开关,我需要调用 JS 函数才能激活它。我需要在创建页面并将所有元素附加到 DOM 元素后执行此操作。

我已经尝试了所有方法:@PostConstruct、@PageShowing、@PageShown、onAttach().. 但这些都不适合我。

我有这个:

当我调试它时,似乎在元素附加到 DOM 之前调用了 onAttach() 方法。

有任何想法吗?

0 投票
1 回答
177 浏览

java - 使用 JPA 在浏览器存储中保留第 3 方实体

我有两个项目(app.ui 和模型)。models 是 app.ui 中的依赖项。我们有所有的实体类。app.ui 是一个 erai 项目,它使用 JPA 将对象保存在浏览器的存储中。

因此,我在注释和内容方面遵循文档。如果我在 app.ui 中创建一个类并尝试将其保存在本地,它就可以工作。但是,如果我在 models.jar 中有相同的类和完全相同的注释

有任何想法吗?

提前致谢。

0 投票
0 回答
129 浏览

java - GWT 和 Maven 3- 从 Eclipse 控制台禁用/更改调试级别

在开发模式下运行 gwt 项目时,如何从 Eclipse 控制台中排除图像中提到的以下信息。? 我正在使用 Eclipse Juno 和 Maven 3。 在此处输入图像描述

0 投票
0 回答
267 浏览

gwt - 从浏览器 url 中删除名称令牌

我们有一个网站,用户可以在其中打开一个图层进行付款。
该层使用 GWTP 和 Errai 作为模态层实现,可以关闭(意味着我们隐藏该层)。如果我们隐藏图层,我们仍然在 URL 字段中有姓氏标记,这意味着,如果用户重新加载页面,最后一个地方由 PlaceManager 加载。

当我们隐藏层时(使用来自 Errai 的 EventHandler 完成隐藏操作),是否有任何可能性(使用 GWTP 甚至纯 JavaScript)从 URL 字段中删除名称标记。

基本上,当您打开图片时,我想要实现的功能与 Facebook 的功能相同。然后图片显示在模态层中,浏览器的 URL 字段更改为图片 url,当您关闭该层时,该 URL 变回“facebook.com”。

0 投票
1 回答
51 浏览

java - Errai的生产商

假设我有一个@ApplicationScoped MyProducer类,而该类又具有@Produces MyModel model,问题是,当我在应用程序中的任何位置 a 时@Inject MyModel something,此模型将是MyModel model生产者类/对象中的任何值,对吗?

0 投票
2 回答
677 浏览

java - WARN [ErraiMarshalling] 使用动态编组器

我试图弄清楚为什么会出现这个警告,因为我的 Errai 应用程序在 GWT 开发模式下加载:

[INFO] WARN [ErraiMarshalling] 找不到 marshaller 类。[INFO] WARN [ErraiMarshalling] 使用动态编组器。动态编组器专为开发模式测试而设计,理想情况下不应在生产中使用。*

我试图把:

和这个