问题标签 [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.
websocket - Grizzly / Glassfish - 无法建立 websockets 握手
我正在尝试让 WebSockets 在 Grizzly / Glassfish 之上工作。我已经克隆了示例 WebSockets 聊天应用程序,构建它并将其部署到 Glassfish 3.1.2。但是,我无法让 WebSockets 连接。WebSockets 握手失败,因为我收到 405(不允许的方法)响应。这是有道理的,因为 Servlet 中有什么:
没有指定doGet方法,所以我想知道是否需要更多配置,或者您是否需要自己在servlet doGet方法中实现握手逻辑?
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 邮件用户列表上交叉发布此内容,尽管流量不多。)
java - Jersey Test Framework - 为 grizzly 中的所有未知路径定义默认错误响应
为了测试我们连接到 facebook 图形 API 的 API,我们使用基于 Jersey 测试框架和 grizzly 的模拟服务器设置:
现在,虽然我可以使用正确的错误响应对无效或丢失的 access_token 做出反应,但我还想测试我的 API 在尝试访问facebook 上的未知资源(即未知路径)时是否正确反应。
现在,如果我尝试访问说“/111_2”,我显然会从我的灰熊那里得到一个 404,但 facebook 似乎捕获了该错误并将其包装在Json 响应中,其中包含状态为 200的字符串“false”。
所以...我如何设置测试框架以返回
每次调用已知路径时?
基本示例:
或者,也许我可以设置 grizzly 以按需要行事..?!
谢谢!
jersey - 如何根据线程策略和参数在嵌入式 Grizzly 实例上调整我的 Jersey 部署
如何为线程池实现设置参数?有哪些可能的配置选项,我如何找到相关文档来开始微调我的应用程序?
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)日志。
你有什么建议吗?
先感谢您。
此致。
jersey - 是否有人通过模板引擎成功地在嵌入式模式下使用 Jersey(不是 servlet env 而是独立的 Grizzly 实例)?
Velocity、Freemarker、Japid、Rythm,还有其他吗?我正在寻找的是类似于 JSP 在 servlet 环境中提供的解决方案。它应该是 ViewProcessor 实现的一种形式,但适用于独立的嵌入式 Grizzly 部署(NIO 架构)。
java - 使用 JAX-RS 热重载
我想获得像Play 一样的开发体验!带有 JAX-RS 的框架(例如Jersey )。更具体地说,我想使用某种后台编译并立即运行编译后的代码,这样我几乎没有等待时间。
我的第一次尝试是使用 NetBeans 后台编译和 Maven 以及用于 Tomcat 和 Jetty 的插件,它们正在运行容器中重新启动应用程序。但是重启时间太长了。我想知道如果代码更改或者像Grizzly或Netty之类的东西而不是 Servlet 容器会有所帮助,我是否需要重新启动应用程序。
任何想法如何使用 JAX-RS 快速重新加载?
performance - Grizzly 和 Jersey 独立传输数据非常慢,如何改进/配置它?
我将 Jersey 1.12 与 Grizzly 一起使用,使用 Jackson 生成 JSON 输出。如果生成的结果大得多,则数据传输速度非常慢。
我在同一个机器上运行服务器和客户端,350KB 数据的传输速度大约是 350KB/秒,这很慢,对吧?如何调整这个?我监控了生成准备序列化为 JSON 的对象列表的 API,第一次之后大约 50 毫秒。
我将 Grizzly NIO 工作线程的数量设置为 40。
我在服务器上运行
该服务器有 8 个核心。
java - grizzly2 jersey REST 应用程序在第一次请求时返回 404,然后在所有其他请求上成功
我有一个非常简单的 Java REST 应用程序,它使用 grizzly2 (jersey-grizzly2 1.12) 和 jersey (jersey-bundle 1.12)
当我发出第一个 http 请求时,我得到一个 404 响应(但映射的方法仍然在服务器上执行)。如果我再次发出相同的请求,那么我会得到预期的 200 响应。
疯狂的部分是,即使是 404 错误,映射的方法仍然执行。
也许有一个错误?还是我错误地配置了我的服务器?这是我第一次尝试 grizzly2,所以欢迎任何见解!
我这样启动服务器:
我的资源如下所示:
还有我的示例连接示例:
然后第二次尝试(完全相同的请求,紧随第一次之后)
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 个可以同时运行。当然我想同时使用最大线程数。
有人可以解释这种行为并建议如何解决它。
如果您需要更多信息,请告诉我。谢谢