RMI或者套接字连接Java程序的OpenShift(RMI or socket connectio

2019-10-20 03:21发布

我有这个下面这个简单的场景:

我已经创建了一个OpenShift应用JBossAS7。 我每天它的加载时间调用一个Java类的index.jsp。 该Java类收集一些数据,并将其保存为一个字符串。 我想现在做的就是包含在字符串文本,但又不希望它显示在页面上。

我需要的是像RMI或插座一个机制,我可以连接并简单地接收使用客户端程序的字符串。 不幸的是,OpenShift阻止所有接口和I不能使用RMI或插座绑定到任何东西(我总是拒绝授权)。

有没有办法解决这个问题的方法吗? 谢谢!

Answer 1:

我想说的最好的方式为您揭露这些数据是通过servlet,或创建一个RESTful API,并允许访问它,也许有一些认证或安全令牌。

另一种思路是使用ironmq(iron.io)和数据发送到您可以从另一个应用程序处理的队列。



Answer 2:

我解决这个问题的方法是相当简单的,但没有解释清楚并记录在论坛或留言板。

OpenShift只允许15000和35530之间的端口由使用者的约束。 但是,这样做的用户还必须指定主机的IP地址时,否则localhost将被使用,这是不允许的OpenShift。 服务器的地址位于环境变量下OPENSHIFT_JBOSSAS_IP (我使用JBoss AS 7.1,变量可能有不同的名称,基于无论使用何种技术的)。 我发现了由通过SSH登录到我的应用程序和运行的env命令。

一旦程序开始OpenShift和绑定到正确的IP地址的端口,用户必须转发端口,以便连接到它。 这可以从Eclipse或者使用RHC工具来完成。 上OpenShift端口转发指OpenShift服务器上的绑定端口将被映射到相同的端口上的用户的本地主机。 当编写客户端程序,用户必须连接到localhost:PORT ,而不是IP_ADDRESS_OF_OPENSHIFT_SERVER:PORT 。 这是东西,过了好一会儿,我听不懂。 一旦我得到的一切权利,客户端程序运行没有任何问题。



文章来源: RMI or socket connection to Java Program on OpenShift