来自远程日志记录部分下的http://code.google.com/intl/es-ES/webtoolkit/doc/latest/DevGuideLogging.html,它说您需要
您还需要提供remoteLoggingServlet.
我想使用远程日志记录功能,但我找不到如何执行此步骤的示例.
我在.gwt.xml中设置了以下内容
<!-- Logging configuration -->
<inherits name="com.google.gwt.logging.Logging"/>
<set-property name="gwt.logging.logLevel" value="INFO"/>
<set-property name="gwt.logging.enabled" value="TRUE"/>
<set-property name="gwt.logging.simpleRemoteHandler" value="ENABLED" />
<set-property name="gwt.logging.developmentModeHandler" value="ENABLED" />
<set-property name="gwt.logging.systemHandler" value="ENABLED" />
<set-property name="gwt.logging.popupHandler" value="DISABLED" />
<set-property name="gwt.logging.consoleHandler" value="DISABLED"/>
<set-property name="gwt.logging.firebugHandler" value="DISABLED" />
Run Code Online (Sandbox Code Playgroud)
日志出现在std.out控制台和开发模式控制台中,但是使用远程日志记录时出现以下错误
严重:远程日志记录失败:com.google.gwt.user.client.rpc.StatusCodeException:404
com.google.gwt.user.client.rpc.impl.RequestCallbackAdapter.onResponseReceived(RequestCallbackAdapter.java:209)com.google.gwt.http.client.Request.fireOnResponseReceived(Request.java:287)com.google .gwt.http.client.RequestBuilder $ 1.onReadyStateChange(RequestBuilder.java:395)at sun.reflect.GeneratedMethodAccessor23.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method com.google.gwt.dev.shell.MethodAdaptor.invoke(MethodAdaptor.java:103)上的com.google.gwt.dev.shell.MethodDispatch.invoke(MethodDispatch.java:71)at .invoke(Unknown Source)位于com.google.gwt.dev.shell的com.google.gwt.dev.shell.BrowserChannelServer.reactToMessagesWhileWaitingForReturn(BrowserChannelServer.java:326)上的.google.gwt.dev.shell.OophmSessionHandler.invoke(OophmSessionHandler.java:157) com的com.google.gwt.dev.shell.ModuleSpaceOOPHM.doInvoke(ModuleSpaceOOPHM.java:129)上的.BrowserChannelServer.invokeJavascript(BrowserChannelServer.java:207).go.com.gwt.dev.shell.ModuleSpace.invokeNative(ModuleSpace.java:561)位于com.google.gwt.dev.shell.ModuleSpace.invokeNativeObject(ModuleSpace.java:269)com.google.gwt.dev.shell. com.google.gwt.core.client.impl.Impl.apply(Impl.java)上的JavaScriptHost.invokeNativeObject(JavaScriptHost.java:91),位于com.google.gwt.core.client.impl.Impl.entry0(Impl. java:214)at sun.reflect.GeneratedMethodAccessor18.invoke(Unknown Source)at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)at java.lang.reflect.Method.invoke(Unknown Source)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:157)在com.google.gwt.dev.shell.BrowserChannelServer.reactToMessages(BrowserChannelServer.java:281)的com.google.gwt.dev.shell.BrowserChannelServer.processConnection(BrowserChannelServer.java:531)com. google.gwt.dev.shell.BrowserCha java.lang.Thread.run上的nnelServer.run(BrowserChannelServer.java:352)(未知来源)
我试图理解这两者之间的区别以及您希望使用一个而不是另一个的场景.
我的具体用例是使用cassandra作为事件摄取系统,由解释事件的分析引擎支持.
我的模型包括
我认为最常见的读取方案是在一个时间范围内获取事件,因此事件时间是聚类列.较不频繁的读取方案可能涉及按事件类型进一步过滤事件查询.
我有一个GWT应用程序,我正在使用GWT MVP与地方/活动.
我的应用程序布局是这样的
菜单| 内容
菜单和内容显示将动态更改,其中一个与另一个分开更改.我的意思是,当内容显示更改时,我不想更新菜单显示,反之亦然.两个显示都需要能够响应PlaceChangeEvents并在发生这些事件时自行更新.问题是每个显示应该只响应某些PlaceChangeEvents而更新,忽略指向另一个显示的PlaceChangeEvents.然而,这不能使用"标准"GWT MVP模式,因为即使每个显示器都有自己的ActivityManager,它们也会自动获取所有PlaceChangeEvents,因为只有一个PlaceController监听单个EventBus.我能看到的唯一方法是使用两个EventBus和两个PlaceControllers - 一个用于菜单,一个用于内容.所以我的问题是这是一个很好的解决方案,还是有一个更简单/更好的方法,我错过了?此解决方案的一个问题是PlaceHistoryHandler只能在其中一个EventBus中注册.
我正在研究分成两个Eclipse项目(myclient和myservice)的GWT Web应用程序.
myclient项目通过POM中的依赖项引用myservice项目.
<dependency>
<groupId>com.myproject</groupId>
<artifactId>myservices</artifactId>
<version>1.0.0</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)
myclient项目有一个WAR目录src/main/webapp.myclient项目的输出文件夹是src/main/webapp/WEB-INF/classes.
myclient项目有一个Spring描述符application-context.xml,其中包含以下内容
<context:component-scan base-package="com.myproject.myclient, com.myproject.myservices"/>
Run Code Online (Sandbox Code Playgroud)
和web.xml
<web-app>
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/application-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
...
</web-app>
Run Code Online (Sandbox Code Playgroud)
我在myservices项目中有几个文件,注释为spring @Component,@ Service,@ Configuration,但是当我在Eclipse中运行GWT应用程序时,组件扫描不会拾取这些文件.作为测试,我尝试将@Component放置在myclient项目中,并且已成功创建.
我相信应用程序启动期间的以下日志条目表明问题的根源
org.springframework.core.io.support.PathMatchingResourcePatternResolver - Resolved location pattern [classpath*:com/myproject/myservices/**/*.class] to resources []
Run Code Online (Sandbox Code Playgroud)
myclient项目的位置模式解析为类路径上的所有资源,但对于myservices,找不到任何资源.
我尝试构建myservices项目JAR并将此JAR放入myclient项目的src/main/webapp/WEB-INF/lib文件夹中.当我这样做时,组件扫描工作.但是对于开发,我不希望每次更改myservices项目时都必须构建和复制JAR.我想组件扫描应该适用于通过POM引用的项目,而不必构建该项目,但经过多次试验后,我无法使其正常工作.
我有以下代码
taskDataProvider = new ListDataProvider<TaskHeader>();
taskDataProvider.addDataDisplay(taskTable);
ListHandler<TaskHeader> columnSortHandler = new ListHandler<TaskHeader>(
taskDataProvider.getList());
taskTable.addColumnSortHandler(columnSortHandler);
//Some other code that modifies the list in taskDataProvider
Run Code Online (Sandbox Code Playgroud)
当我单击列标题时,会触发ColumnSortEvent,但经过检查,我可以看到columnSortHandler中的列表为空.对taskDataProvider列表所做的任何修改都没有反映在columnSortHandler中.我错过了什么吗?
对于将部署在Amazon EC2实例上的具有适量静态媒体内容的Web应用程序,将静态内容包含在war文件中或将其托管在单独的S3实例上是否有意义.
性能方面的差异是什么?服务成本方面的差异是什么?复杂性方面的差异是什么?