【问题标题】:Running a Java Program on a Hosted Server - Is it possible?在托管服务器上运行 Java 程序 - 可能吗?
【发布时间】:2015-10-28 19:37:27
【问题描述】:

我正在做一个项目,对于处理它的最佳方法有点卡住了,所以我将在下面突出显示它;

项目: 我想创建一个计算数据的程序,然后大约每 5 秒将其上传到 MySQL 表。大约有 40 条数据同时更新。我有几年的 Java 经验,所以想简单地用 Java 创建一个程序来计算这些值,然后更新 MySQL 表

问题: 我需要使用一种足够强大的技术来运行算法来执行计算,然后每 5 秒更新一次 MySQL 表的值。如果可能的话,我理想的方法肯定是使用 Java(由于我的经验)。如果这是可能的,是否可以在服务器的后台运行 Java 程序?如果是这样,对服务器有什么要求吗?理想情况下,我希望在服务器端进行处理,因为结果会在客户端重新登录时更新。

如果您对此有任何建议,非常感谢:) 如果您需要更多信息,请询问!

【问题讨论】:

  • 服务器是Windows还是Linux?
  • 如果间隔时间长于 5 秒,我会使用 cron 作业来运行任务。你在计算什么?
  • 我可能错了。您是在谈论 Web/应用程序服务器,还是只是 Windows/Solaris/Unix 机器?

标签: java mysql server


【解决方案1】:

是的,这是可能的。您可能需要虚拟机托管(共享托管是不够的)。可以使用来自亚马逊的 AWS。它只是一台具有 root 访问权限的 Linux 机器,因此您可以为所欲为。

您可以使用JavaServiceWrapper (http://wrapper.tanukisoftware.com/doc/english/download.jsp),它将帮助您将 java 作为后台守护进程运行。

这个守护进程可能会监控一些输入(例如 MySQL 表),计算数据并将其发送回。

如果计算过程足够复杂,你可能想使用一些 EIP 工具,如 Apache Camel 或 Spring Intergration,但我几乎可以肯定简单的后台守护程序就足够了。

【讨论】:

    【解决方案2】:

    您可以在后台运行“任何”进程。

    您只需要:
    1. JVM安装在服务器上
    2. SQL Server的JDBC驱动

    应该很容易实现。
    只需谷歌搜索“JDBC 示例”。

    你可以写一个简单的java程序:

    class MyClass {
    
     public static void main(String[] args) throws InterruptedException {
       do {
            Thread.sleep(5000);
            writeToSQL();
       } while(true);
     }
     static void writeToSQL() {
       System.out.println("writing to SQL");
     }
    
    }
    

    【讨论】:

    • 这正是我想要的——非常感谢您的 cmets 甚至代码示例。
    猜你喜欢
    • 2021-08-15
    • 1970-01-01
    • 2017-10-20
    • 1970-01-01
    • 2016-03-08
    • 1970-01-01
    • 1970-01-01
    • 2012-09-29
    • 1970-01-01
    相关资源
    最近更新 更多