我想在GWT应用程序中使用Solrj库。我创建了一个GWT服务器类来与Solrj客户端通信。我的客户端代码从服务器类获取Collection<FacetField>
并构建UI。
我的问题是GWT抱怨缺少源代码:
No source code is available for type org.apache.solr.client.solrj.response.FacetField; did you forget to inherit a required module?
我可以为Solrj创建一个额外的模块,然后GWT将它编译为JS。但它会编译很多其他类,我可能永远不会在客户端上使用它。
另一种方法是编写一些Solr类的包装器并将它们传递给客户端。但我不确定,因为这些包装器将导入Solr类,我可能会再次遇到同样的问题。
解决此问题的最佳方法是什么?
答案 0 :(得分:1)
写一些DataLorry
(虚拟对象)
server|| FacetField obj==>DataLorry obj==> client.
将所需数据刷新到DataLorry
对象。
即使您在客户端和服务器之间节省了大量数据流量,因为您只传递了所需的数据。
确保该对象为serializable
并位于shared
包中。