2016-06-02 9 views
0

Ich versuche, eine Anwendung von WLP auf Tomcat, zu migrieren, wenn der Krieg zu entfalten versucht, ich bin die unten Ausnahme bekommenTomcat + OpenJPA

org.apache.openjpa.persistence.ArgumentException: Diese Konfiguration nicht zulässt Laufzeit Optimierung, aber die folgenden aufgeführten Arten wurden nicht mit einem javaagent zum Zeitpunkt der Erstellung oder bei Klassenladezeit erweitert:

ich versuchte javaagent Hinzufügen Laufzeit-Laden ermöglichen JAVA_OPTS =% JAVA_OPTS% -javaagent: "$ CATALINA_HOME/lib/openjpa-2.X.jar

wie in here erwähnt, aber kein Erfolg.

Jeder Vorschlag oder Punkte.

+0

Versuch hinzuzufügen: - Kiran

+0

Wie hier erwähnt [link] (http://openjpa.apache.org/builds/1.2.3/apache-openjpa/docs/ref_guide_pc_enhance.html) – Kiran

+0

Sind Sie sicher, dass Sie brauchen "Laufzeitoptimierung" aka Weben. Die Funktion wird für J2EE-Container benötigt, in einer J2SE-Umgebung benötigen Sie einen JavaAgent. Typischerweise wird Weben verwendet, um Byte-Code zu emittieren, um Klassen zu erweitern, die in einem ManyToOne/OneToOne verwendet werden, so dass diese leicht abgerufen werden können. Wenn Sie den freigegebenen Cache nicht deaktivieren oder viele Daten haben, werden solche Optimierungen möglicherweise gar nicht benötigt. –

Antwort

0

Ich empfehle immer eine Kompilierzeit-Optimierung. Es ist eine Aufgabe, bei der die JPA-Implementierung automatisch JPA-Funktionen für erweiterte JPA-Klassendateien generiert.

Siehe diese build.xml in ScopedEntityManager utility project in Github.

<?xml version="1.0" encoding="UTF-8"?> 
<project name="jpaexample" default="build" basedir="."> 
    ...clip... 
    <target name="compile" depends="clean" description="Compile classes"> 
     <mkdir dir="${classes}"/> 
     <javac srcdir="${src}" destdir="${classes}" target="1.7" source="1.7" encoding="ISO-8859-1" 
      debug="true" debuglevel="lines,source" includeantruntime="false" 
      excludes="" > 
      <classpath refid="libs" /> 
     </javac> 
     <antcall target="jpaenhance" /> 
    </target> 


    <target name="jpaenhance" description="Preprocess entity classes, enhance for JPA use"> 
     <path id="jpa.enhancement.classpath"> 
      <pathelement location="${classes}" /> 
      <fileset dir="./webapp/WEB-INF/lib"> 
       <include name="*.jar" /> 
       <exclude name="${name}.jar" /> 
      </fileset> 
     </path> 

     <taskdef name="openjpac" classname="org.apache.openjpa.ant.PCEnhancerTask"> 
      <classpath refid="jpa.enhancement.classpath" /> 
     </taskdef> 
     <openjpac> 
      <classpath refid="jpa.enhancement.classpath" /> 
      <config propertiesFile="./webapp/WEB-INF/classes/META-INF/persistence.xml" />   
     </openjpac> 
    </target> 
    ...clip... 
</project> 
Verwandte Themen