2

私は24時間年中無休で実行され、Webからコンテンツを取得し、それをデータベースに保存するJavaサービスを作成しようとしています。私がしたいことを考えると、これに使用するのに最適なフレームワークは何ですか...

1.)コードをデプロイできる(そして自動的に実行できる)アプリケーションサーバーを用意します。このアプリケーションサーバーは、開発環境が実行されるマシンとは別のボックスに配置する必要があります。

2.)コードをアプリケーションサーバーに直接デプロイできる開発プラットフォーム(eclipseに基づくものが望ましい)を用意します(したがって、テストのためにすべてをftpで転送する必要はありません)。

3.)Springのようなフレームワークを利用します。

事実上、私は自分のために何を選ぶべきか知りたいです...

1.)アプリケーションサーバー

2.)開発環境(ide)-Eclipseの場合、使用するサーバーアダプター

3.)フレームワーク

これまで、SpringSource STSでVirgoを使用しようとしましたが、ローカルホストに存在しないサーバー用にWebサーバーアダプターを構成できませんでした。開発ボックスにVirgoをインストールする必要はありません。また、デプロイするためにコードを本番サーバーにftpホップする必要もありません。

4

3 に答える 3

3

Tomcat やその他の Web コンテナーをそのまま使用しないのはなぜですか。ただし、これを 2 つのアプリケーションに分割する方がよい場合があります。

外に出てスクレイピングを行うものをスタンドアロン アプリケーションとして用意します。これには何でも選択できます。ここでは開発とメンテナンスの容易さが重要であるため、Groovy( http://groovy.codehaus.org/ ) を使用します。 Eclipse 用の Groovy プラグインを使用できます。

もう 1 つは Web サービスで、これについてはScala( http://www.scala-lang.org/ ) を学習する時間があればいいと思いますが、Grails(グルーヴィーなフレームワーク) は有益なので、 REST または SOAP Web サービスを作成できます。

Web サーバーはスクレイピングに関与するべきではありませんが、Web サーバーはデータベースからの読み取りを必要とするため、それらを分離することで、その特定の側面に最適なソリューションを選択できます。

これら 2 つの言語は JVM で実行され、通常の Java クラス/ライブラリを使用できますが、プレーンな Java よりも改善されています。

于 2010-08-21T17:54:59.947 に答える
0

私のアプリをリモートでデプロイするMavenプラグインがいくつかあることがわかりました。最も注目すべきは貨物です。このようにして、すべての初期ツール/サービス(Virgo、STS、Maven)を同じに保つことができます。

于 2010-08-21T19:27:26.533 に答える
0

私は実際にかなり最近似たようなものを構築しました。私のアプリケーションは、サーブレット コンテナやアプリケーション サーバーがなくても実行できました。アプリを Tomcat サーブレット エンジンで実行することにした理由は、REST API を追加してサーバーのステータス情報を簡単に取得できるようにするためですが、余談になります。

プレーンなバニラの Eclipse J2EE インストールでは Tomcat が適切にサポートされているので、あなたの好みや詳細について詳しく知る必要はありません。

ServletContextListenerアプリケーションを自動起動するには、インターフェースを実装する必要があります。

public class ServerClass extends HttpServlet implements ServletContextListener {

  public void contextInitialized( ServletContextEvent event ) {

    // create and start a thread here.

  }

  public void contextDestroyed( ServletContextEvent event ) {

  }

}    

以下を に追加しますweb.xml

<listener>
    <listener-class>com.my.ServerClass</listener-class>
</listener>

どのフレームワークを使用するかは、あなただけが決めることができます。あなたの質問は、それについてまともな答えを出すために一般的なものです。いくつか読んで、1つを選んでください。Plain old Java も問題なく動作しますが、それ以外の場合は Scala が適切な代替選択肢となる可能性があります。

だから、あなたの質問に答えるために:

  1. Tomcat サーブレット エンジン
  2. バニラ J2EE Eclipse バージョン
  3. プレーン・オールド・ジャバ
于 2010-08-22T07:17:04.850 に答える