2017-01-05 5 views
0

現在、私はJava Webアプリケーションを開発するプロジェクトに取り組んでいます。私はIDE Eclipseを使用します。Eclipselink静的ウィービングJava Webアプリケーション - Eclipse

データレイヤーとして、私はEclipseLink(2.6)JPAを使用します。 WebアプリケーションはTomcat webserver(7)上で動作します。今私はパフォーマンスの問題のために私のエンティティのためにLAZYフェッチを使用する必要があることに気付きました。

私はいくつかの研究の後、マニュアルページに基づいて静的織りを使用する必要があることを知りました。私はそれを行う方法が3つあります:Ant、Maven、またはコマンドラインを使用します。

私はAnt、Maven、またはコマンドラインオプションの経験がないので、今はどのように続行するのか分かりません。私は最も簡単な解決方法を選びたいと思います。これはAntです(私の初心者から)。お勧めしますか?

私のプロジェクトでは、二つのプロジェクトに分かれています。永続エンティティおよびデータベース操作で、

  • JPAプロジェクト
  • サーブレットとJSPと
  • Javaアプリケーションは、このプロジェクトは、JPAのプロジェクトへのリンクが含まれてい

私はそのアプリケーションを実行します:

  • 遠隔のTomcatサーバー - 次にI genその後、私は(別のユーザーとして実行] - > [ローカルホスト)のEclipseから直接そのアプリケーションを実行する - どのように私がすべき

誰か教えてプロセスを喜ばせることができます両方のプロジェクトが含まれていますし、私は、サーバー

  • ローカルホスト上でそれをアップロードしたファイルは.warのERATE今?

    私はJPAプロジェクトから最初に.jarを作成し、次に静的な製織を行い、Webプロジェクトを.warにビルドするためのAntビルドを2つ指定しますか?これまでは、.jarアプリケーションが生成され、Webアプリケーションとどのように異なるかわからないAntビルドしか見つかりませんでした。チュートリアルはありますか?

    ヒットを共有できますか?私はこの分野で完全な初心者です - おそらく私はいくつかの簡単な方法を欠場しました。私の主な目標は、スタティック製織のエンティティを含む.warファイルを持っていることです。セカンダリの目標は、Eclipse IDEからTomcatのローカルホストサーバーへのデプロイを自動化することです。

    ありがとうございます。

  • 答えて

    0

    私は経験したことがあるため、私は物事のMaven側でのみ話すことができます。あなたのpom.xmlインサイド

    pluginsの下であなたはMavenのstaticweaveプラグインを追加する必要があります:

    <plugin>  
        <groupId>de.empulse.eclipselink</groupId>   
        <artifactId>staticweave-maven-plugin</artifactId> 
        <executions> 
         <execution> 
         <phase>process-classes</phase> 
          <goals> 
           <goal>weave</goal> 
          </goals> 
         <configuration>    
          <persistenceXMLLocation>META-INF/persistence.xml</persistenceXMLLocation>> 
         </configuration> 
         </execution> 
        </executions>   
    </plugin> 
    

    あなたのpersistence.xml -locationを調整する必要があります。あなたのpersistence.xmlあなたは、静的な織りを有効にする必要がありますインサイド

    <properties> 
    <property name="eclipselink.target-database" value="org.eclipse.persistence.platform.database.H2Platform" /> 
          <property name="eclipselink.weaving" value = "static"/> 
          <property name="eclipselink.weaving.internal" value="true"/> 
          <property name="eclipselink.weaving.lazy" value="true" /> 
          <property name="eclipselink.weaving.changetracking" value="true" /> 
          <property name="eclipselink.weaving.fetchgroups" value="true" /> 
          <property name="eclipselink.weaving.eager" value="false" /> 
          <property name="eclipselink.ddl-generation" value="drop-and-create-tables" /> 
          <property name="eclipselink.ddl-generation.output-mode" value="database" /> 
          <property name="eclipselink.logging.level" value="FINEST" /> 
    </properties> 
    

    ここでも、あなたはあなたのプラットフォーム、希望のログレベルおよびその他のパラメータを変更する必要があります。 eclipselink.weaving.*のすべてのパラメータをそのままにすると、デフォルト値になります。

    静的織りは、コンパイル段階の後に、ライフサイクルライフサイクルのprocess-classes段階で発生します。パッケージがwarに設定されている場合は、*.warというファイルを1つ作成して展開します。

    あなたは本当にかなりのantタスクを経由して、それを行うだろう場合は、私は本当にかかわらについてのご質問にお答えすることはできません https://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Advanced_JPA_Development/Performance/Weaving/Static_Weaving#Use_the_weave_Ant_Task

    をご覧ください。

    関連する問題