Java多线程TCP套接字/ JDBC连接

时间:2015-07-24 15:59:45

标签: java sockets jdbc tcp

我有一个要求,即两个系统(在不同平台上)需要实时相互通信。我们决定在两个应用程序之间使用Java Socket Connection。我将构建一个Java套接字服务器,它从Java客户端(位于另一个系统上)接收消息(客户ID),并且套接字服务器返回该客户ID的客户忠诚度字体。要获得忠诚度积分,数据库将需要jdbc连接。我想知道以下

  • 应用服务器安装了Weblogic,我可以在Weblogic中部署我的Java套接字服务器吗?
  • 服务器是多线程的,每次新客户端建立连接时,都会为每个新连接创建一个新线程。我假设它将为每个新线程创建一个新的JDBC连接。是吗?
  • 如何管理连接池(socket / jdbc)?

1 个答案:

答案 0 :(得分:0)

您可以在任何Java EE服务器中通过JCA公开服务器套接字。也许你甚至不需要自己实现它:JCA Sockets

对于Java EE服务器,客户端也可以通过RMI连接到某个EJB。但这通常涉及使用特定于应用程序服务器的库。因此,如果您的应用程序必须在不同的服务器上运行,那么这可能不是一个选项。

完全为您处理线程。传入呼叫(通过JCA或RMI)通常使用工作线程(由服务器提供)。

还会为您处理连接池。对于您不需要它的TCP服务器,您只有一个服务器套接字就是这样。对于JDBC连接,通常在Java EE服务器中配置池,并且每个事务(每个线程不是连接,但连接通常绑定到绑定到线程的事务)将在需要时获得连接(即DataSource.getConnection()正在[直接或通过其他方式,例如JPA])。

除此之外:您始终可以使用REST或SOAP连接到您的服务器。