小编Ril*_*ark的帖子

使用GWT和GAE通过https进行安全身份验证?

我想在我的appengine应用程序中实现自定义用户身份验证系统.我不想使用会话.我是这个领域的新手,所以我有两个基本问题:

1:通过https发送每个RPC的用户名和密码是否安全?为了在客户端保持用户名和密码的安全,我需要做些什么?

2:如何告知GWT在发出请求时使用https?

我对安全性知之甚少,所以请不要遗漏任何"明显"的细节.

谢谢!

https gwt google-app-engine rpc

6
推荐指数
1
解决办法
1732
查看次数

具有冻结标题和初始列的GWT CellTable

我需要冻结CellTable中的第一列和第一行数据,以便用户可以滚动数据但仍然可以看到"轴"上的标签.当用户向上和向下滚动时,第一列应滚动,当用户向左和向右滚动时,标题行应滚动.在Excel中考虑"冻结窗格".

我正在使用GWT 2.1并且如果没有解决方案,我愿意编写自己的小部件来执行此操作.我的问题是两个部分:

  1. 任何小部件都有这种行为吗?
  2. 如果我打算自己实施这个建议吗?

谢谢!

gwt widget

6
推荐指数
1
解决办法
6491
查看次数

GWT RequestFactory和多个请求

有没有办法使用RequestFactory在单个请求中创建两个实体?我试过了:

    EmployeeRequest request = requestFactory.employeeRequest();
    EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
    newEmployee.setName("Joe!");

    Request<Void> createReq = request.persist().using(newEmployee);
    createReq.fire();

    EmployeeProxy newEmployee2 = request.create(EmployeeProxy.class);
    newEmployee2.setName("Sam!");

    Request<Void> createReq2 = request.persist().using(newEmployee2);
    createReq2.fire();
Run Code Online (Sandbox Code Playgroud)

但是我收到一个错误,表明请求已在进行中.当我做两个单独的EmployeeRequests时:

    EmployeeRequest request = requestFactory.employeeRequest();
    EmployeeProxy newEmployee = request.create(EmployeeProxy.class);
    newEmployee.setName("Joe!");

    Request<Void> createReq = request.persist().using(newEmployee);
    createReq.fire();

    EmployeeRequest request2 = requestFactory.employeeRequest();
    EmployeeProxy newEmployee2 = request2.create(EmployeeProxy.class);
    newEmployee2.setName("Sam!");

    Request<Void> createReq2 = request2.persist().using(newEmployee2);
    createReq2.fire();
Run Code Online (Sandbox Code Playgroud)

然后从浏览器发出两个单独的请求.我希望RequestFactory中的某些东西可以合并多个请求 - 我必须一次创建数百个实体,而且我不想发出数百个请求!

gwt requestfactory

6
推荐指数
1
解决办法
3827
查看次数

我在哪里可以找到javax.validation的实现.*?

我刚刚在我的项目中包含了一个新库,它依赖于javax.validation中的一些类 - 我找不到它的实现.是否有可用于商业,闭源使用许可的免费实施?

java validation implementation jar

6
推荐指数
1
解决办法
1万
查看次数

GWT RequestFactory和多种类型

我的GWT应用程序有十种不同的实体.现在我使用普通的旧DTO并通过GWT-RPC传输它们.这适用于启动等情况 - 我可以将它们全部打包到一个请求中.

我正在寻找切换到RequestFactory,因为在我需要更新一种类型的实体时,应用程序的整个生命周期中有很多次(平均30分钟),并且RequestFactory的统一/带宽保存功能很吸引人.但是:我没有看到在应用加载时在单个请求中下载所有初始化数据的方法.我不想要为我的十种实体类型提取十个请求来获取所有init数据.

有没有办法制作GeneralRequestContext,还是什么?我甚至对以下解决方案感到满意:

public interface InitDataProxy extends EntityProxy
{
    public UserProxy getInitUsers();
    public OrganizationProxy getInitOrganizations();
    ...
}

public interface GeneralRequestContext extends RequestContext
{
    Request<InitDataProxy> getInitData();
}
Run Code Online (Sandbox Code Playgroud)

但是这不起作用,因为我不想用任何东西实际支持InitDataProxy,我只想用它在一个请求中组合一堆不同类型的代理.

那么:有没有办法EntityProxy在单个请求中接收多个不相关的类型?

我也很乐意为这个数据制作一个普通的gwt-rpc请求到RequestFactory之外,但是我不想在RequestFactory的代理旁边实现重复的DTO,并编写自定义代码来将DTO复制到他们!

gwt requestfactory

6
推荐指数
1
解决办法
1089
查看次数

将我的GWT,GAE安装移动到我的源代码控制项目中

我使用google插件进行eclipse与GWT和Appengine库.我经常升级其中一个库,目前涉及:

  1. 我在我的HD上安装了更新
  2. 我在eclipse中添加了更新作为替代SDK,具有通用名称
  3. 我更新项目设置以指向新的通用名称
  4. 我将更改的设置文件(不包括升级的库)提交到源代码管理

这里的问题是不幸步骤5-7: 5别人的建造工作停止过去的变化, 6我从机器到机器,重复步骤1和2, 7,我认为第n次,"我真的应该找一个自动化的方法."

我来这里是为了难以捉摸的第8步:实际上是自动执行此操作.我想我的源代码管理中包含SDK ,因此当我在新版本的机器上切换版本或设置商店时,会自动安装和下载相关的SDK.我根本不想配置eclipse设置.在我理想的情况下,我愿意在每台机器上安装Eclipse和GPE,但之后我只想克隆我的存储库并继续.

我试过这样做是通过从我的构建设置中删除GWT库,将整个GWT安装文件夹复制到我的项目的根目录,并从那里将gwt-user.jar和gwt-dev.jar添加到构建路径.这几乎是工作,但是Eclipse抱怨说,它无法找到GWT-的servlet.jar(即使它的存在正是它声称是寻找它!).似乎还有其他我不理解的魔法设置.

最后,问题是:如果这是正确的轨道,我需要手动控制哪些设置?如果这是错误的轨道,那么什么是正确的?

eclipse gwt google-app-engine eclipse-plugin

6
推荐指数
1
解决办法
311
查看次数

关于appengine的线程安全java的清单

除了以下Memcache的使用之外,我的java appengine项目不会在请求之间保持任何状态:

  • Objectify使用memcache缓存数据存储获取
  • 我使用memcache作为在多个请求(例如if (the memcache doesn't think a cleanup task is already running) schedule another cleanup task)之后批量清理任务的方法.

我没有对任何对象的全局/静态引用,除了:

  • 当前经过身份验证的用户保留在static ThreadLocal<User>对象中.这意味着每个请求都会获得自己的用户副本,对吧?
  • 我有一个处理所有数据操作的类,一个实例作为static DataCoordinator对象中的一种全局变量保存.

我需要注意什么才能使我的代码线程安全?我是否需要synchronized在我的DataCoordinator实现中的每个方法声明中抛出一个关键字,因为多个线程可以访问它?这是真的,该ThreadLocal<User>物体总会让一个单独的User对象为每个线程,使每个请求将被单独认证?

我是线程安全思维的新手.我该怎么读?

感谢您的帮助,并对缺乏特异性感到抱歉.

java google-app-engine thread-safety

6
推荐指数
1
解决办法
2354
查看次数

在GWT上使用AutoBean解析未知类型的JSON对象

我的服务器返回JSON中的对象列表.例如,他们可能是Cats或Dogs.

当我知道他们都是Cats时,我可以AutoBeanCodex轻松地开始工作.当我不知道它们是什么类型时,虽然......我该怎么办?

我可以给我的所有实体一个类型字段,但是然后我必须在将每个实体传递给它之前解析每个实体AutoBeanCodex,这与实现失败有关.我还有其他选择吗?

gwt json autobean

6
推荐指数
1
解决办法
2592
查看次数

防止kubernetes崩溃循环中的后退

我有一个带有一些可怕的错误软件的吊舱.Kubernetes很棒的一个原因是,它只会在崩溃时重启软件,这很棒.

Kubernetes是为优秀的软件设计的,而不是糟糕的软件,所以它在重启pod时会进行指数退避.这意味着我必须在崩溃之前等待五分钟才能重新启动我的pod.

有没有办法限制kubernetes退避策略?我想把它更改为不再等待超过30秒再次启动pod.

kubernetes

6
推荐指数
1
解决办法
2603
查看次数

将有状态集中的每个 Pod 暴露到互联网,无需自定义代理

我有一个带有 pods 等的 StatefulSet server-0server-1我想将它们直接公开到互联网,其 URL 类似于 server-0.mydomain.com 或 mydomain.com/server-0。

我希望能够扩展 StatefulSet 并自动能够从互联网访问新的 Pod。例如,如果我将其扩展为包含 a server-2,我希望 mydomain.com/server-2 在新 Pod 准备就绪时将请求路由到新 Pod。我不想还扩展其他一些资源或创建另一个服务来实现该效果。

我可以使用自定义代理服务来实现此目的,该服务仅检查请求路径并在内部转发到正确的 Pod,但这似乎容易出错且浪费。

有没有办法让 Ingress 自动路由到 StatefulSet 中的不同 pod,或者使用其他一些内置技术来避免自定义代码?

kubernetes google-kubernetes-engine kubernetes-ingress

5
推荐指数
1
解决办法
1292
查看次数