Tag: 灰熊

WebSockets,GlassFish,Grizzly – 无法连接

我正在尝试开始使用WebSockets,并尝试编写一个简单的应用程序来通过websoket来回发送消息。 但是,看起来我尝试创建的套接字永远不会连接。 为什么会这样? 下面是我的WebSockets类的代码。 调用.onConnect() ,它会记录: 我是sockets,我是连接的。 我联系了吗? – 假 更新:在JavaScript中,我创建了有问题的套接字, readyState为1 ,这意味着“套接字打开,通信可能”。 import abMisc; //writes logs. import com.sun.grizzly.websockets.BaseServerWebSocket; import com.sun.grizzly.websockets.DataFrame; import com.sun.grizzly.websockets.WebSocketListener; public class ChatWebSocket_v2 extends BaseServerWebSocket { private String user; public ChatWebSocket_v2(WebSocketListener… listeners) { super(listeners); } public String getUser() { if (user == null) { Misc.print(“User is null in ChatWebSocket”); throw new NullPointerException(“+=The […]

如何使用Grizzly / Jersey获取客户端地址以进行日志记录?

我正在使用Grizzly来提供Jersey应用程序,同时使用Logback来满足我的日志记录需求。 请注意,这里没有涉及Servlet ,我使用一段代码“手动”启动所有内容,如下所示: final URI uri = /* this is a configuration option */ this.server = new HttpServer(); final NetworkListener nl = new NetworkListener( “grizzly”, uri.getHost(), uri.getPort()); server.addListener(nl); final GuiceComponentProviderFactory gcpf = new GuiceComponentProviderFactory(rc, inj); final HttpHandler processor = ContainerFactory.createContainer( HttpHandler.class, rc, gcpf); this.server.getServerConfiguration().addHttpHandler( processor, uri.getPath()); server.start(); 现在我想使用Logback的MDCfunction使客户端的套接字地址在日志记录中可见。 为此,我需要一些地方来连接一个HTTP处理的监听器,它会收到有关传入请求的通知(我可以将地址放入MDC)以及请求完成时(因此我可以清理MDC)。 我遵循的一种方法是使用Jersey连接Container*Filter实例,如下所示: class MdcFilter implements ContainerRequestFilter, ContainerResponseFilter […]

Tyrus WebSockets(Java) – 如何设置客户端本地IP地址

有没有办法在使用WebSockets(Tyrus)时指定本地IP地址和端口? 我正在寻找与Socket的完整4参数构造函数相同的function 编辑 : 我发现低级Grizzly TCPNIOTransport确实有一个带本地地址的connect()方法 ,但我不知道如何让Tyrus客户端使用它。

GRIZZLY0023 Glassfish警告

我在GlassFish服务器上的java中部署了2个Web应用程序。 我正在使用Glassfish Server 3.1.2.2。 它们都有来自接收http请求的java servlet页面,代码也是相同的,只有不同的参数(针对不同的客户端)。 第一个工作正常,另一个处理http请求很长。 之后我注意到了下一件事: 我经常在Netbeans的Glassfish输出中收到此警告。 WARNING: GRIZZLY0023: Interrupting idle Thread: http-thread-pool-9990 任何人都可以解释我为什么会得到这个警告,以及如何解决它。

Grizzly和Jersey独立jar子

我正在尝试使用Maven shade插件将Grizzly与Jersey打包成一个单独的jar。 但我总是得到消息No container provider supports the type class org.glassfish.grizzly.http.server.HttpHandler 代码在Eclipse中运行良好,但不在打包的jar中: public class Main { private static URI getBaseURI() { return UriBuilder.fromUri(“http://localhost/”).port(9998).build(); } public static final URI BASE_URI = getBaseURI(); protected static HttpServer startServer() throws IOException { System.out.println(“Starting grizzly…”); ResourceConfig rc = new PackagesResourceConfig(“share.test”); rc.getFeatures().put(JSONConfiguration.FEATURE_POJO_MAPPING, Boolean.TRUE); return GrizzlyServerFactory.createHttpServer(BASE_URI, rc); } public static void main(String[] args) […]