如何在Tomcat中为Java EE应用程序实现套接字

时间:2015-12-29 11:41:37

标签: java python sockets tomcat interprocess

我是一个用于数据分析的Python应用程序和一个用于Web监控的Java EE应用程序。现在我需要在它们之间建立持久的通信,以便将分析结果从python传输到java。

由于两个应用程序都位于同一台服务器上,因此我想实现一个TCP套接字。至于数据量,大约有10个传感器'每秒传输的数据。我使用Tomcat 8.0 for Java EE和一个简单的python脚本。所以我的问题是:

  • socket实现是个好主意吗?
  • 如果是,如何实现它,有人可以给我一个教程或示例吗?
  • 如果没有,我下一步该怎么做?

其他信息

我在StackOverflow How to serve a socket from a Java EE application上看到了一个相关问题,其中有一些提议:

  • 实施连接器(JCA)。但我认为目标运行时是JBoss而不是Tomcat。
  • 实现Java命名和目录接口(JNDI)。这就是我尝试的内容,因为您可以看到我之前的问题Why JNDI resource can only be called once in Tomcat?人们使用JNDI来使用资源,例如数据库连接。所以我不确定它是否是实时通信的好方法。通过学习,我遇到了许多麻烦。
  • 我想过网络套接字。但这是否意味着我还需要一个python服务器?

1 个答案:

答案 0 :(得分:1)

我相信有一百种方法可以在这些技术之间共享数据。但对于Java,你应该保持简单。在Tomcat中,您不需要编写套接字实现,只需要一个基本的Servlet实现。所以基本上是你的问题。

  

socket实现是个好主意吗?

很快没有。

  

如果是,如何实现它,有人可以给我一个教程或   例子?

已经回答否。

  

如果没有,我接下来应该做什么?

编写一个监听服务器URL地址的基本servlet应用程序。您的phyton脚本只是一个客户端。在phyton站点中,您只需向servlet url发送POST请求,并在Java端获取请求读取您的数据并进行处理。您可以从Mkyong开始学习Servlet。