EJB:套接字连接池

EJB: Socket connection pooling

我想使用套接字从 JBoss AS 6 连接到 Apple 推送通知服务器。

我的问题是 Apple 建议使用相同的套接字来发送消息(或套接字池)。当我发送太多消息并阻止我的 ip 地址时,它可以防止类似 DDOS 的事情。

我的解决方案: 套接字将从单例 bean[SB] 打开并保存在 HashMap 中以供进一步使用。 我将使用无状态 bean 通过从 [SB] 获取套接字来发送消息。

我只是想问一下,在 JBoss AS 6 中,也许有一个内置的解决方案可以打开 caching/pooling 套接字以连接到客户端。

提前致谢!

是的,标准方法是使用 Java 连接器体系结构 (JCA),例如如何定义数据库连接以在 Java EE 服务器中具有连接池。

此处有一个用于套接字的入站 JCA 示例:https://code.google.com/p/jca-sockets/

但是您需要使用出站 JCA,这里列出了示例:JCA sample implementations

您可以使用 http://www.arquillian.org and http://ironjacamar.org 对内存或外部 Java EE 服务器进行单元测试。 IronJacamar 项目是 JCA 的 JBoss 实现。

我使用上面的方法创建了一个针对 IBM Websphere 的 JCA 1.5 兼容资源适配器。