问题标签 [grizzly]

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 回答
3752 浏览

websocket - Grizzly / Glassfish - 无法建立 websockets 握手

我正在尝试让 WebSockets 在 Grizzly / Glassfish 之上工作。我已经克隆了示例 WebSockets 聊天应用程序,构建它并将其部署到 Glassfish 3.1.2。但是,我无法让 WebSockets 连接。WebSockets 握手失败,因为我收到 405(不允许的方法)响应。这是有道理的,因为 Servlet 中有什么:

没有指定doGet方法,所以我想知道是否需要更多配置,或者您是否需要自己在servlet doGet方法中实现握手逻辑?

0 投票
1 回答
363 浏览

jax-ws - grizzly jaxws schemaLocation

我正在从我的 java 应用程序中发布一个肥皂 ws api。到目前为止,我已经使用了 jdk 内置的 http 服务器,如下所示:

Endpoint.publish("http://www.example.com:80/soap/v1/foo", myWebService);

一切正常。

现在切换到灰熊。我的代码基于来自http://grizzly.java.net/nonav/docs/docbkx2.0/html/jaxws-samples.html的官方示例

因此类似于 httpServer.getServerConfiguration().addHttpHandler(httpHandler, "/soap/v1/foo");

wsdl 在预期的 url http://www.example.com:80/soap/v1/foo?wsdl下都可用,但对于 grizzly,生成的 wsdl 看起来不同。schmemaLocation 在所有地方都被缩短了,因为“/v1/foo”部分被删除了,它只指向/soap。我发布的所有服务(多个)都是这种情况。结果是无法调用方法。

(我会在 grizzly 邮件用户列表上交叉发布此内容,尽管流量不多。)

0 投票
1 回答
963 浏览

java - Jersey Test Framework - 为 grizzly 中的所有未知路径定义默认错误响应

为了测试我们连接到 facebook 图形 API 的 API,我们使用基于 Jersey 测试框架和 grizzly 的模拟服务器设置:

现在,虽然我可以使用正确的错误响应对无效或丢失的 access_token 做出反应,但我还想测试我的 API 在尝试访问facebook 上的未知资源(即未知路径)时是否正确反应。

现在,如果我尝试访问说“/111_2”,我显然会从我的灰熊那里得到一个 404,但 facebook 似乎捕获了该错误并将其包装在Json 响应中,其中包含状态为 200的字符串“false”

所以...我如何设置测试框架以返回

每次调用已知路径时?

基本示例:

或者,也许我可以设置 grizzly 以按需要行事..?!

谢谢!

0 投票
1 回答
378 浏览

jersey - 如何根据线程策略和参数在嵌入式 Grizzly 实例上调整我的 Jersey 部署

如何为线程池实现设置参数?有哪些可能的配置选项,我如何找到相关文档来开始微调我的应用程序?

0 投票
1 回答
4249 浏览

glassfish - 带有 Glassfish 3.1.2 和 Grizzly 的 Websockets - 意外响应代码:405

我正在尝试在本地 Glassfish 3.1.2 服务器安装中使用 websocket。我在我的 Maven 项目中使用 Grizzly 2.2:

WebSocketsServlet.java

VideoSharingWebSocket.java

VideoSharingApplication.java

我使用以下命令在 Glassfish 中启用了 websockets 支持:

客户端代码,app.js:

我正在 Mac 的 Chrome 18.0.1025.165 中对此进行测试。在页面加载时,我收到此错误:

在服务器日志中没有错误,只显示我的“注册”(WebSocketsServlet)日志。

你有什么建议吗?

先感谢您。

此致。

0 投票
3 回答
268 浏览

jersey - 是否有人通过模板引擎成功地在嵌入式模式下使用 Jersey(不是 servlet env 而是独立的 Grizzly 实例)?

Velocity、Freemarker、Japid、Rythm,还有其他吗?我正在寻找的是类似于 JSP 在 servlet 环境中提供的解决方案。它应该是 ViewProcessor 实现的一种形式,但适用于独立的嵌入式 Grizzly 部署(NIO 架构)。

0 投票
3 回答
1796 浏览

java - 使用 JAX-RS 热重载

我想获得像Play 一样的开发体验!带有 JAX-RS 的框架(例如Jersey )。更具体地说,我想使用某种后台编译并立即运行编译后的代码,这样我几乎没有等待时间。

我的第一次尝试是使用 NetBeans 后台编译和 Maven 以及用于 Tomcat 和 Jetty 的插件,它们正在运行容器中重新启动应用程序。但是重启时间太长了。我想知道如果代码更改或者像GrizzlyNetty之类的东西而不是 Servlet 容器会有所帮助,我是否需要重新启动应用程序。

任何想法如何使用 JAX-RS 快速重新加载?

0 投票
1 回答
896 浏览

performance - Grizzly 和 Jersey 独立传输数据非常慢,如何改进/配置它?

我将 Jersey 1.12 与 Grizzly 一起使用,使用 Jackson 生成 JSON 输出。如果生成的结果大得多,则数据传输速度非常慢。

我在同一个机器上运行服务器和客户端,350KB 数据的传输速度大约是 350KB/秒,这很慢,对吧?如何调整这个?我监控了生成准备序列化为 JSON 的对象列表的 API,第一次之后大约 50 毫秒。

我将 Grizzly NIO 工作线程的数量设置为 40。

我在服务器上运行

该服务器有 8 个核心。

0 投票
0 回答
1256 浏览

java - grizzly2 jersey REST 应用程序在第一次请求时返回 404,然后在所有其他请求上成功

我有一个非常简单的 Java REST 应用程序,它使用 grizzly2 (jersey-grizzly2 1.12) 和 jersey (jersey-bundle 1.12)

当我发出第一个 http 请求时,我得到一个 404 响应(但映射的方法仍然在服务器上执行)。如果我再次发出相同的请求,那么我会得到预期的 200 响应。

疯狂的部分是,即使是 404 错误,映射的方法仍然执行。

也许有一个错误?还是我错误地配置了我的服务器?这是我第一次尝试 grizzly2,所以欢迎任何见解!

我这样启动服务器:

我的资源如下所示:

还有我的示例连接示例:

然后第二次尝试(完全相同的请求,紧随第一次之后)

0 投票
1 回答
1619 浏览

multithreading - 最大并发线程数小于 max-thread-pool-size


我不明白 glassfish v3.1.2 的行为。

我使用这样的 glassfish 线程池参数运行我的 java web 应用程序:

  • 类名:com.sun.grizzly.http.StatsThreadPool
  • 最大队列大小:4096
  • 最大线程池大小:10
  • 最小线程池大小:10
  • 空闲线程
  • 超时:900

然后我向我的 servlet 发送许多请求。我的servlet的逻辑是这样的:

Netbeans 探查器在线程窗口中显示这些结果:http: //s8.postimage.org/5hupqk4ad/profiler.png

似乎创建了所有 10 个线程,但只有 5 个可以同时运行。当然我想同时使用最大线程数。

有人可以解释这种行为并建议如何解决它。

如果您需要更多信息,请告诉我。谢谢