I have tried both the combinations Marc. I believe it might be a problem with
my class. I have to post it tomorrow since I dont carry my work to home :-)
The classes are entity classes which I have reverse engineered using the
Hibernate Tools plugin for Eclipse. They are EJB 3.0 compatible and work
fine with hibernate.

I appreciate the help,
best wishes and good night
Jan




Marc Prud'hommeaux wrote:
> 
> 
> 
> I'm doubtful that this will help, but I do notice that your agent  
> argument looks like:
> 
>    -javaagent:...,-scanDevPath=true,directory=...,-tmpClassLoader=false
> 
> Note that the "-" at the beginning of the parameters is probably  
> causing them to be ignored. I think it needs to look like:
> 
>    -javaagent:...,scanDevPath=true,directory=...,tmpClassLoader=false
> 
> 
> 
> 
> On Jul 11, 2007, at 2:27 AM, Janap wrote:
> 
>>
>> Thx for the info Craig...got that step working. Didnt have time for  
>> research
>> for the past2 days,but now Im back with another problem.
>>
>> My web project structure is as follows..
>>
>> /build/classes/test/Scale.class
>>
>> /src/test/Scale.java
>>
>> /web/WEB-INF/classes/META-INF/persistence.xml
>> /web/WEB-INF/classes/META-INF/orm.xml
>>
>> /web/WEB-INF/lib
>>
>> Following is my persistence.xml
>>
>> <persistence xmlns="http://java.sun.com/xml/ns/persistence";  
>> version="1.0">
>> <persistence-unit name="myPersistence"  transaction- 
>> type="RESOURCE_LOCAL">
>>         <provider>
>>             org.apache.openjpa.persistence.PersistenceProviderImpl
>>         </provider>
>>         <mapping-file>orm.xml</mapping-file>
>>         <class>test.Scale</class>
>>         <properties>
>>             <property name="openjpa.ConnectionURL" value="myurl"/>
>>             <property name="openjpa.ConnectionDriverName"
>> value="oracle.jdbc.driver.OracleDriver"/>
>>             <property name="openjpa.ConnectionUserName"  
>> value="myuser"/>
>>             <property name="openjpa.ConnectionPassword"  
>> value="mypwd"/>
>>             <property name="openjpa.Log"
>> value="DefaultLevel=TRACE,Tool=TRACE"/>
>>         </properties>
>> </persistence-unit>
>> </persistence>
>>
>>
>>
>> For runtime enhancement is start Tomcat within Eclipse with the  
>> following VM
>> arguments :
>>
>> -javaagent:C:\Programme\Eclipse\workspace\JPAWebTest\web\WEB-INF\lib 
>> \openjpa-all-0.9.6-incubating.jar=addDefaultConstructor=false
>> ,properties=C:\Programme\Eclipse\workspace\JPAWebTest\web\WEB-INF 
>> \classes\META-INF\persistence.xml,-scanDevPath=true,
>> directory=C:\Programme\Eclipse\workspace\JPAWebTest\build\classes,- 
>> tmpClassLoader=false
>>
>>
>> My Tomcat starts properly with the following log :
>>
>> 15  TRACE  [main] openjpa.Runtime - Setting the following  
>> properties from
>> "file:/C:/Programme/Eclipse/workspace/JPAWebTest/web/WEB-INF/ 
>> classes/META-INF/persistence.xml"
>> into configuration: {openjpa.ConnectionUserName=myuser,
>> openjpa.ConnectionPassword=mypwd,  
>> openjpa.Log=DefaultLevel=TRACE,Tool=TRACE,
>> openjpa.MetaDataFactory=Resources=orm.xml, Types=test.Scale,
>> javax.persistence.provider=org.apache.openjpa.persistence.PersistenceP 
>> roviderImpl,
>> openjpa.ConnectionURL=myurl,
>> openjpa.ConnectionDriverName=oracle.jdbc.driver.OracleDriver}
>> 186  INFO   [main] openjpa.MetaData - Found 1 classes with metadata  
>> in 0
>> milliseconds.
>>
>>
>> Then as I try to run this servlet code :
>>
>>      EntityManagerFactory emf =
>> Persistence.createEntityManagerFactory("myPersistence");
>>
>>      EntityManager em = emf.createEntityManager();
>>      em.getTransaction().begin();
>>
>>      Scale tab = new Scale(5);
>>      em.persist(tab);
>>      em.getTransaction().commit();
>>      em.close();
>>      emf.close();
>>
>> I run into an exception which I believe because my class is not  
>> somehow
>> enhanced :
>>
>> 62  TRACE  [http-8090-Processor24] openjpa.MetaData - Using  
>> metadata factory
>> "[EMAIL PROTECTED] 
>> ".
>> 93  INFO   [http-8090-Processor24] openjpa.jdbc.JDBC - Using  
>> dictionary
>> class "org.apache.openjpa.jdbc.sql.OracleDictionary".
>> 202  INFO   [http-8090-Processor24] openjpa.MetaData - Found 1  
>> classes with
>> metadata in 16 milliseconds.
>> 95452  TRACE  [http-8090-Processor24] openjpa.Enhance - "test/Scale"
>> requires runtime enhancement: true
>> 95561  WARN   [http-8090-Processor24] openjpa.Enhance - An  
>> exception was
>> thrown while attempting to perform class file transformation on
>> "test/Scale":
>> java.lang.IllegalArgumentException: java.lang.ClassNotFoundException:
>> test.Scale
>>      at serp.util.Strings.toClass(Strings.java:211)
>>      at serp.util.Strings.toClass(Strings.java:140)
>>      at serp.bytecode.BCClass.getType(BCClass.java:565)
>>      at org.apache.openjpa.enhance.PCEnhancer.<init>(PCEnhancer.java:187)
>>      at
>> org.apache.openjpa.enhance.PCClassFileTransformer.transform 
>> (PCClassFileTransformer.java:124)
>>      at sun.instrument.TransformerManager.transform 
>> (TransformerManager.java:122)
>>      at
>> sun.instrument.InstrumentationImpl.transform 
>> (InstrumentationImpl.java:155)
>>      at java.lang.ClassLoader.defineClass1(Native Method)
>>      at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
>>
>>
>> I tried out different combinations but was not  
>> successful...probably someone
>> could find the flaw..
>>
>> best wishes
>> Jan
>>
>>
>>
>> Hi,
>>
>> This is from the Java SE 6 documentation. It explains "all":
>> Command-Line Interface
>>
>> On implementations with a command-line interface, an agent is started
>> by adding this option to the command-line:
>>
>> -javaagent:jarpath[=options]
>> jarpath is the path to the agent JAR file. options is the agent
>> options. This switch may be used multiple times on the same command-
>> line, thus creating multiple agents. More than one agent may use the
>> same jarpath. An agent JAR file must conform to the JAR file
>> specification.
>> The manifest of the agent JAR file must contain the attribute Premain-
>> Class. The value of this attribute is the name of the agent class.
>> The agent class must implement a public static premain method similar
>> in principle to the main application entry point. After the Java
>> Virtual Machine (JVM) has initialized, each premain method will be
>> called in the order the agents were specified, then the real
>> application main method will be called. Each premain method must
>> return in order for the startup sequence to proceed.
>> The premain method has one of two possible signatures. The JVM first
>> attempts to invoke the following method on the agent class:
>> public static void premain(String agentArgs, Instrumentation inst);
>> If the agent class does not implement this method then the JVM will
>> attempt to invoke:
>>
>> public static void premain(String agentArgs);
>> The agent class may also have an agentmain method for use when the
>> agent is started after VM startup. When the agent is started using a
>> command-line option, the agentmain method is not invoked.
>>
>> The agent class will be loaded by the system class loader (see
>> ClassLoader.getSystemClassLoader). This is the class loader which
>> typically loads the class containing the application main method. The
>> premain methods will be run under the same security and classloader
>> rules as the application main method. There are no modeling
>> restrictions on what the agent premain method may do. Anything
>> application main can do, including creating threads, is legal from
>> premain.
>>
>> Each agent is passed its agent options via the agentArgs parameter.
>> The agent options are passed as a single string, any additional
>> parsing should be performed by the agent itself.
>>
>> If the agent cannot be resolved (for example, because the agent class
>> cannot be loaded, or because the agent class does not have an
>> appropriate premain method), the JVM will abort. If a premain method
>> throws an uncaught exception, the JVM will abort.
>>
>>
>>
>> Craig
>>
>>
>>
>> -- 
>> View this message in context: http://www.nabble.com/Runtime- 
>> Enhancement-in-Eclipse-tf4049770.html#a11537016
>> Sent from the OpenJPA Users mailing list archive at Nabble.com.
>>
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Runtime-Enhancement-in-Eclipse-tf4049770.html#a11547982
Sent from the OpenJPA Users mailing list archive at Nabble.com.

Reply via email to