我是Google App Engine的初学者。
我有一个简单的java应用程序,其中有一个类,其中有一个执行某些线程的main方法。 实际上,它是用于执行某些后端活动的Java应用程序。
在我的Linux服务器上,我创建了一个cron作业,它以某个特定的时间间隔执行该类。
现在,我想将此应用程序移至Google App Engine。 我确实搜索了这个,我发现我必须将这个java应用程序转换为Web应用程序以在GAE上部署。
请指导我如何将JAR部署到GAE。
由于
答案 0 :(得分:1)
最后!我没有使用谷歌应用引擎而只使用谷歌计算引擎找到了解决方案。
我创建了一个JAR并使用SFTP将其放入我的主文件夹。
之后我在/etc/cron.d/myfile
创建了一个cron文件,如下所示
*/10 * * * * myusername java -jar /home/myusername/myjar.jar
然后我重新加载crontab
sudo service cron reload
就是这样!感谢您的投入和兴趣!
答案 1 :(得分:0)
您无法将单个jar文件部署到App Engine。您可以部署应用程序。
本教程介绍如何使用Java创建App Engine项目:
https://cloud.google.com/appengine/docs/java/gettingstarted/introduction
答案 2 :(得分:0)
是的,您的Java应用程序需要是一个Web应用程序。也就是说,你需要在你的jar中有一个WEB-INFO目录,并带有正确的xml文件(即web.xml和appengine-web.xml)。
请首先按照以下教程之一进行操作: https://cloud.google.com/appengine/docs/java/gettingstarted/introduction
您还提到在应用程序中使用线程。我相信在App Engine上你不能只创建线程,而是需要依赖提供的线程api: https://cloud.google.com/appengine/docs/java/javadoc/com/google/appengine/api/ThreadManager
因此,您需要更改一些代码以使用这样的API。
答案 3 :(得分:0)
是的,您只能将Web应用程序部署到Google App Engine,因此如果要将其部署到App引擎,则可能必须将您的类转换为Servlet类。
如果您希望将其作为cron作业执行,则可以使用Servlet的URL,因此您可以通过指定在部署之前应执行cron作业的频率和时间来在文件cron.xml中配置此URL。
您可以使用下面的链接指导您完成以下步骤:
http://www.vogella.com/tutorials/GoogleAppEngineJava/article.html
Google关于Cron Job的文档:
但是,在使用App Engine时,您无法使用线程。