小编Blu*_*s23的帖子

WebSocket与Sockjs和Spring 4但没有Stomp

有没有办法将WebSockets与SockJS客户端和Spring 4服务器一起使用但不使用STOMP?

基于Spring网站的这个教程,我知道如何使用Stomp和Spring 4设置基于WebSocket的应用程序.在客户端,我们有:

     var socket = new SockJS('/hello');
        stompClient = Stomp.over(socket);
        stompClient.connect({}, function(frame) {
            setConnected(true);
            console.log('Connected: ' + frame);
            stompClient.subscribe('/topic/greetings', function(greeting){
                showGreeting(JSON.parse(greeting.body).content);
            });
        });
Run Code Online (Sandbox Code Playgroud)

在服务器端,我们在控制器中有以下内容:

@MessageMapping("/hello")
@SendTo("/topic/greetings")
public Greeting greeting(HelloMessage message) throws Exception {
    Thread.sleep(3000); // simulated delay
    return new Greeting("Hello, " + message.getName() + "!");
}
Run Code Online (Sandbox Code Playgroud)

现在,据我所知,@MessageMapping("/hello")确保如果将消息发送到目标"/hello",则将greeting()调用该方法.并且由于stompClient订阅了"/topic/greetings",所以@SendTo("/topic/greetings")会将消息发送回stompClient.

但是上面的问题是stompClient是一个Stomp对象.我想简单地使用sock.send('test');并将其发送到我的服务器目的地.我想做@SendTo("myownclientdestinationmap"),我可以收到它

sock.onmessage = function(e) {
     console.log('message', e.data);
 };
Run Code Online (Sandbox Code Playgroud)

那么,使用Spring 4,SockJS和没有Stomp的任何方法都可以做到这一点?或者Spring 4 WebSocket只支持Stomp?

java websocket sockjs spring-4

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

适用于iOS的自定义UIActionSheet

是否可以创建一个看起来像iOS附加图像的操作表?

截图

当您按下操作按钮时,这是iOS6上的Photo应用程序的屏幕截图.我非常喜欢将选项列为图标的方式,而不是带有标题的水平按钮.

我查看了谷歌以及Apple的iOS参考资料,但我似乎无法找到任何教我如何为我的应用程序创建这样的东西.

uiactionsheet ios

11
推荐指数
1
解决办法
8706
查看次数

j_security_check重定向

我正在学习Tomcat环境下的Java servlet.我正在学习如何使用j_security_check使用基于表单的登录身份验证.所以,在我的servlet中,我有一个具有j_username和j_password的登录页面.在该servlet的web.xml文件中,我有一个欢迎页面列表,指示我的登录页面"landing.html".因此,理想情况下,成功登录后,我希望用户重定向到"landing.html"页面.

如果没有身份验证(没有基于表单的身份验证),我的servlet会打开并按预期转到"landing.html"页面("localhost:8080/MyServlet" - 显示landing.html的内容).

但是,现在,在成功登录j_security_check之后,出于某种原因,我会自动重定向到.landing文件的.css文件.我不明白为什么会这样.

是否有一种特殊方式可以告诉服务器在成功验证后加载"landing.html"页面而不将其转发到其他任何地方?

编辑

*好的,我解决了.成功验证后加载的css文件列在<head></head>login.html页面的标签中,其中j_username和j_password是.我添加了css文件,使登录页面的设计与网站的其余部分一致.我的猜测是,当服务器重新加载所需资源时,由于某种原因,它只是从头标记重新加载顶部css文件.真的很奇怪.那么,j_security_check是对Tomcat上的网站进行任何身份验证的最佳方式,还是有更好更可靠的方式?*

java servlets j-security-check

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

模型和控制器之间的通信 - iOS

我是iOS开发的新手,所以我很感激一些反馈.

我正在尝试为我的Web服务构建一个iOS客户端.到目前为止,这就是我所做的:

我正在实现两个视图(使用Storyboard的基于实用程序的应用程序).在主视图中,我使用文本字段和搜索按钮,用户可以在其中输入查询,然后单击搜索按钮.单击搜索按钮后,我的目的是读取文本字段的值,并在我对我的Web服务的Restful调用中使用它.我的Web服务使用带有查询结果的JSON文件回复,我将其解析并显示到辅助视图的文本区域.

我知道如何在iOS中进行restful调用以及如何进行JSON解析以及在屏幕上显示结果(至少是文本内容,但这是另一个不同的问题).但我的目的是为我的应用程序学习和实现MVC基础知识.

根据MVC,控制器更新视图,模型发出通知广播,控制器可以监听并知道对象是否有任何变化.所以这就是我理想的做法:

我的模型 - 我的模型将处理核心RESTful调用,获取JSON回复,解析它并获取我想在视图上显示的结果值.

我的控制器 - 我希望我的控制器听取我的模型并从模型中获取结果值并在View上显示它们.

使用快速和脏的方式,我可以实现RESTful调用,JSON解析和显示结果值 - 所有这些都在Controller内部,但是使用这种技术,如果我的视图明天改变,那么我必须重新编写代码.或者,如果我想添加新功能,那么我必须更改我的控制器.理想情况下,我希望有一个核心模型,它不知道View的样子,只需让Controller从模型中获取结果并在View上显示它们.

从我到目前为止从谷歌搜索结果中读到的,两种方法是a)关键价值观察和b)通知中心.

在过去的两天里,我试图找到一个很好的方式来实现通知中心或阅读更多相关信息,我没有得到很好的领导.我的一些问题是,我可以使用我的控制器选择的通知中心发送字符串结果值吗?通知中心如何真正使用字符串值?我在哪里可以找到一些好的例子?

所以对此有任何帮助将非常感谢.

rest model-view-controller nsnotificationcenter ios

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

UIImageView边框颜色

我有以下代码:

UIColor *borderColor = [UIColor colorWithRed:182 green:10 blue:96 alpha:1.0];
[viewImage.layer setBorderColor:borderColor.CGColor];
[viewImage.layer setBorderWidth:3.0];
[productView addSubview:viewImage];
Run Code Online (Sandbox Code Playgroud)

viewImage我在哪里UIImageView,productView是我的UIView.

我想得到这种颜色 在此输入图像描述,但我得到的只是这种颜色 在此输入图像描述.我尝试了不同的值,我得到的所有颜色都是白色,红色,黑色,黄色或蓝色.我不能得到任何其他颜色,无论我输入什么值.我试过colorWithHue:饱和度:亮度和我有同样的问题.

我在iOS 6 SDK上使用它.

我做错了什么,我该如何解决?

iphone xcode objective-c cgcolor ios

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

了解 Kubernetes Watch (kubernetes-client/java api)

我正在使用 kubernetes-client/java api,我想以编程方式获取所有命名空间中所有 pod 的 pod 状态。我的代码基于Kubernetes java 库上的这个示例

这是我的代码片段:

Watch<V1Pod> watch = Watch.createWatch(
        client,
        api.listPodForAllNamespacesCall(
            null, null, null, null, limit,
            null, null, null, watchTrue,
            null, null),
        new TypeToken<Watch.Response<V1Pod>>() {}.getType());

for (Watch.Response<V1Pod> item : watch) {
    V1PodStatus podStatus = item.object.getStatus();
    String name = item.object.getMetadata().getName();
    String status = podStatus.getPhase();
    String kind = item.object.getKind();
    String details = podStatus.toString();

    System.out.printf("NAME: %s | KIND: %s | STATUS: %s | DETAILS: %n%s%n====================%n", name, kind, status, details);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是:相当于Watch一个事件处理程序吗?此代码向我显示了 Pod 的所有状态的列表,但它会在实时发生时自动“推送”更多 …

java kubernetes

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

iOS MVC - 如何将数据从模型传递到控制器?

我对此做了很多研究,但我对我的问题有一个心理障碍.我正在为iOS应用程序开发Objective-C

这是我的设置:

  1. 视图控制器从视图(用户输入)获取文本,并将该文本传递给模型的MethodA.

  2. 模型中的MethodA处理输入文本并获取输出(例如,搜索谷歌搜索该文本).它使用dispatch_async方法进行搜索,该方法将选择器调用到模型中的MethodB.

  3. MethodB解析输出并将所有结果放入NSMutableArray

  4. 我的问题:如何将NSMutableArray传递给视图控制器,以便我可以在视图中显示它?

对不起,如果我的问题的答案非常简单/明显.我是Objective-C的新手

model-view-controller objective-c ios

4
推荐指数
1
解决办法
4004
查看次数

如何自动清除chrome.storage

我的Chrome扩展程序使用存储一些数据chrome.storage,并根据需要从存储中获取结果.

但是,我现在意识到我需要定期刷新数据chrome.storage- 这意味着不时清除它.

是否有可能:

  1. 让Chrome chrome.storage视为会话存储 - 也就是说 - 一旦浏览器关闭它就会清除数据?

  2. 如果无法满足要求,chrome.storage.remove那么清除存储的唯一方法是什么?

  3. chrome.storage空间达到极限时会发生什么?

javascript google-chrome google-chrome-extension

4
推荐指数
1
解决办法
1850
查看次数

从 Kube State Metrics 中提取指标时如何在 Prometheus 中获取 Pod 的标签

我有一个 Prometheus pod 和我的 Kube-State-Metrics (KSM) pod 一起运行。KSM 从集群中所有命名空间的所有 Pod 收集所有指标。Prometheus 只是从 KSM 中抓取指标——这样 Prometheus 不需要抓取单个 pod。

部署 pod 时,它们的部署具有某些与 pod 相关的标签,如下所示。他们有两个重要的标签:APPTEAM

apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    APP: AppABC
    TEAM: TeamABC
...
Run Code Online (Sandbox Code Playgroud)

 

在 Prometheus 中,我的抓取配置如下所示:

scrape_configs:
  - job_name: 'pod monitoring'
    honor_labels: true
    kubernetes_sd_configs:
    - role: pod
    relabel_configs:
    - action: labelmap
      regex: __meta_kubernetes_pod_label_(.+)
...
Run Code Online (Sandbox Code Playgroud)

 

问题是,当普罗米修斯刮擦从KUBE状态度量的信息,它覆盖APPkube-state-metrics。例如,下面的这个指标实际上是针对名为“AppABC”的应用程序的,但 Prometheus 将app标签覆盖为kube-state-metrics

kube_pod_container_status_restarts_total{
    app="kube-state-metrics",
    container="appabccontainer",
    job="pod monitoring",
    namespace="test-namespace",
    pod="appabc-766cbcb68d-29smr"
}
Run Code Online (Sandbox Code Playgroud)

无论如何,我是否可以从 …

kubernetes prometheus prometheus-alertmanager

4
推荐指数
1
解决办法
8980
查看次数

iOS应用程序被拒绝 - 数据存储指南

由于我没有遵循iOS数据存储指南,我的iPhone应用程序上周被拒绝了.我的应用程序基本上搜索某些数据并将其显示给可以与他人共享的用户(Twitter,电子邮件等)或将其保存到"收藏夹"以便稍后查看.

早些时候:

早些时候,我没有遵循任何特定的数据策略.我的应用基本上是将所有搜索数据(图像)下载到/ Documents /目录中.一旦用户将特定项目标记为"收藏夹",这些项目就会保存到/ Documents / path中自定义的"收藏夹"目录中.我的应用程序不使用iCloud.此外,一旦用户看到下载的搜索数据(图像)并且不再在同一视图中,我也忘记清除它们.我后来发现整个策略很糟糕,也是我的应用被拒绝的原因.

现在:

现在,由于我的应用程序被拒绝,我已经加倍修复我的应用程序并使其尽可能完美.我现在关注的数据策略非常简单:

a)现在,在/ Library/Caches目录中创建所有下载的搜索数据(搜索结果的图像和pList文件).

b)当用户将项目添加到"收藏夹"时,与该项目(图像和文本)相关联的数据随后将保存到/ Documents /目录中.

c)/ Library/Caches和/ Documents /目录中的所有文件都标有"Do not backup"属性,因为我不想在iCloud上占用任何空间.

d)一旦用户移动到不同的视图并且不再访问搜索结果,/ Library/Caches目录中的所有搜索相关数据都会立即被清除.

e)在应用程序启动时,我检查/ Library/Caches目录中是否存在来自先前会话的任何残留文件,以防应用程序提前终止.如果找到以前搜索会话中的任何残留文件,我将删除它们.

我的问题是:

A)我现在遵循的数据存储策略是否可以接受?

B)我是否需要使用"不备份"属性在/ Library/caches /中标记任何与搜索相关的文件,还是不必要?

C)我是否应该使用"不备份"属性在/ Documents /目录中标记与用户喜欢的项目相关的数据,或者如果用户最喜欢的项目备份到iCloud是否可以?

iphone xcode objective-c ios

3
推荐指数
1
解决办法
671
查看次数