Thank you for the quick response, Scott.

After googling, OpenJPA has a eclipse plugin and it does the enhancement
for me (http://openjpa.apache.org/openjpaeclipseinstallation.html).
Following the steps from that link, the problem is fixed.
Now, I am face another problem.

03.11.2012 19:45:34 ERROR
[org.apache.wookie.beans.jpa.JPAPersistenceManager.findWidgetByGuid():638]
Unexpected exception: <openjpa-2.0.0-r422266:935683 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: An error occurred while
parsing the query filter "SELECT w FROM Widget w WHERE w.guid = :guid".
Error message: The name "Widget" is not a recognized entity or identifier.
Perhaps you meant WidgetImpl, which is a close match. Known entity names:
[LicenseImpl, OAuthTokenImpl, SharedDataImpl, NameImpl,
PreferenceDefaultImpl, LocalizedBeanImpl, DescriptionImpl, AuthorImpl,
WidgetIconImpl, WidgetImpl, ParticipantImpl, PreferenceImpl,
WidgetInstanceImpl, FeatureImpl, StartFileImpl, ParamImpl]

<openjpa-2.0.0-r422266:935683 nonfatal user error>
org.apache.openjpa.persistence.ArgumentException: An error occurred while
parsing the query filter "SELECT w FROM Widget w WHERE w.guid = :guid".
Error message: The name "Widget" is not a recognized entity or identifier.
Perhaps you meant WidgetImpl, which is a close match. Known entity names:
[LicenseImpl, OAuthTokenImpl, SharedDataImpl, NameImpl,
PreferenceDefaultImpl, LocalizedBeanImpl, DescriptionImpl, AuthorImpl,
WidgetIconImpl, WidgetImpl, ParticipantImpl, PreferenceImpl,
WidgetInstanceImpl, FeatureImpl, StartFileImpl, ParamImpl]

at org.apache.openjpa.kernel.exps.AbstractExpressionBuilder.parseException(
AbstractExpressionBuilder.java:119)

at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getClassMetaData(
JPQLExpressionBuilder.java:194)

at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.resolveClassMetaData(
JPQLExpressionBuilder.java:167)

at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(
JPQLExpressionBuilder.java:242)

at
org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateMetaData(
JPQLExpressionBuilder.java:212)

at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.getCandidateType(
JPQLExpressionBuilder.java:205)

at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder.access$200(
JPQLExpressionBuilder.java:81)

at org.apache.openjpa.kernel.jpql.JPQLExpressionBuilder$ParsedJPQL.populate(
JPQLExpressionBuilder.java:2387)

at org.apache.openjpa.kernel.jpql.JPQLParser.populate(JPQLParser.java:61)

at org.apache.openjpa.kernel.ExpressionStoreQuery.populateFromCompilation(
ExpressionStoreQuery.java:154)

at org.apache.openjpa.kernel.QueryImpl.newCompilation(QueryImpl.java:671)

at org.apache.openjpa.kernel.QueryImpl.compilationFromCache(
QueryImpl.java:652)

at org.apache.openjpa.kernel.QueryImpl.compileForCompilation(
QueryImpl.java:618)

at org.apache.openjpa.kernel.QueryImpl.compileForExecutor(QueryImpl.java:680
)

at org.apache.openjpa.kernel.QueryImpl.compile(QueryImpl.java:587)

at org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery(
EntityManagerImpl.java:1027)

at org.apache.openjpa.persistence.EntityManagerImpl.createNamedQuery(
EntityManagerImpl.java:100)

at org.apache.wookie.beans.jpa.JPAPersistenceManager.findWidgetByGuid(
JPAPersistenceManager.java:629)

at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(
PersistenceManagerFactory.java:85)

at org.apache.wookie.server.ContextListener.contextInitialized(
ContextListener.java:110)

at org.apache.catalina.core.StandardContext.listenerStart(
StandardContext.java:4791)

at org.apache.catalina.core.StandardContext.startInternal(
StandardContext.java:5285)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(
ContainerBase.java:901)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)

at org.apache.catalina.startup.HostConfig.deployDescriptor(
HostConfig.java:650)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(
HostConfig.java:1582)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:680)

Nov 3, 2012 7:45:34 PM org.apache.catalina.core.StandardContext
listenerStart

SEVERE: Exception sending context initialized event to listener instance of
class org.apache.wookie.server.ContextListener

<openjpa-2.0.0-r422266:935683 fatal user error>
org.apache.openjpa.persistence.InvalidStateException: The field "guid" of
instance "org.apache.wookie.beans.jpa.impl.WidgetImpl@3f4a0fe1" contained a
null value; the metadata for this field specifies that nulls are illegal.

at org.apache.openjpa.kernel.SingleFieldManager.preFlush(
SingleFieldManager.java:553)

at org.apache.openjpa.kernel.SingleFieldManager.preFlush(
SingleFieldManager.java:491)

at org.apache.openjpa.kernel.StateManagerImpl.preFlush(
StateManagerImpl.java:2957)

at org.apache.openjpa.kernel.PNewState.beforeFlush(PNewState.java:40)

at org.apache.openjpa.kernel.StateManagerImpl.beforeFlush(
StateManagerImpl.java:1047)

at org.apache.openjpa.kernel.BrokerImpl.flush(BrokerImpl.java:2077)

at org.apache.openjpa.kernel.BrokerImpl.flushSafe(BrokerImpl.java:2037)

at org.apache.openjpa.kernel.BrokerImpl.beforeCompletion(
BrokerImpl.java:1955)

at org.apache.openjpa.kernel.LocalManagedRuntime.commit(
LocalManagedRuntime.java:81)

at org.apache.openjpa.kernel.BrokerImpl.commit(BrokerImpl.java:1479)

at org.apache.openjpa.kernel.DelegatingBroker.commit(
DelegatingBroker.java:925)

at org.apache.openjpa.persistence.EntityManagerImpl.commit(
EntityManagerImpl.java:559)

at org.apache.wookie.beans.jpa.JPAPersistenceManager.commit(
JPAPersistenceManager.java:340)

at org.apache.wookie.beans.util.PersistenceManagerFactory.initialize(
PersistenceManagerFactory.java:138)

at org.apache.wookie.server.ContextListener.contextInitialized(
ContextListener.java:110)

at org.apache.catalina.core.StandardContext.listenerStart(
StandardContext.java:4791)

at org.apache.catalina.core.StandardContext.startInternal(
StandardContext.java:5285)

at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)

at org.apache.catalina.core.ContainerBase.addChildInternal(
ContainerBase.java:901)

at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)

at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:618)

at org.apache.catalina.startup.HostConfig.deployDescriptor(
HostConfig.java:650)

at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(
HostConfig.java:1582)

at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:439)

at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)

at java.util.concurrent.FutureTask.run(FutureTask.java:138)

at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(
ThreadPoolExecutor.java:886)

at java.util.concurrent.ThreadPoolExecutor$Worker.run(
ThreadPoolExecutor.java:908)

at java.lang.Thread.run(Thread.java:680)

Nov 3, 2012 7:45:34 PM org.apache.catalina.core.StandardContext
startInternal

SEVERE: Error listenerStart


On Sat, Nov 3, 2012 at 7:23 PM, Scott Wilson <[email protected]
> wrote:

> On 3 Nov 2012, at 22:18, Leon Wu wrote:
>
> > This is the first time of dealing with javaagent and just do the
> exception
> > asks.
> > I am just doing the classical way to run the wookie in Eclipse -
> importing
> > wookie, adding it to the Tomcat server and starting the Tomcat.
> > Should I use ant build to get the wookie.war and put the war in Tomcat?
>
> That would probably be easier - I've never tried running it directly out
> of Eclipse using the Tomcat before - I presume this is the Eclipse web
> toolkit?
>
> There is an ant task specifically for building and deploying Wookie using
> Tomcat (or similar):
>
> ant deploy-webapp
>
> ... which will deploy it to wherever servletEngine.webapp.dir  in
> build.properties is set to.
>
> >
> >
> > On Sat, Nov 3, 2012 at 2:26 PM, Scott Wilson <
> [email protected]
> >> wrote:
> >
> >>
> >> On 3 Nov 2012, at 15:32, Leon Wu wrote:
> >>
> >>> Thank you, Scott. It was missmatch issue.
> >>> But, I got another problem. I added javaagent but still got this error.
> >>
> >> I don't really know anything about Javaagent; the bean enhancement is
> done
> >> automatically by OpenJPA during the Ant build and compile process.
> >>
> >>> <openjpa-2.0.0-r422266:935683 nonfatal user error>
> >>> org.apache.openjpa.util.UserException: This configuration disallows
> >> runtime
> >>> optimization, but the following listed types were not enhanced at build
> >>> time or at class load time with a javaagent: "
> >>> org.apache.wookie.beans.jpa.impl.ParamImpl
> >>> org.apache.wookie.beans.jpa.impl.FeatureImpl
> >>> org.apache.wookie.beans.jpa.impl.WidgetIconImpl
> >>> org.apache.wookie.beans.jpa.impl.PreferenceDefaultImpl
> >>> org.apache.wookie.beans.jpa.impl.OAuthTokenImpl
> >>> org.apache.wookie.beans.jpa.impl.LocalizedBeanImpl
> >>> org.apache.wookie.beans.jpa.impl.WidgetInstanceImpl
> >>> org.apache.wookie.beans.jpa.impl.WidgetImpl
> >>> org.apache.wookie.beans.jpa.impl.ParticipantImpl
> >>> org.apache.wookie.beans.jpa.impl.DescriptionImpl
> >>> org.apache.wookie.beans.jpa.impl.PreferenceImpl
> >>> org.apache.wookie.beans.jpa.impl.SharedDataImpl
> >>> org.apache.wookie.beans.jpa.impl.AuthorImpl
> >>> org.apache.wookie.beans.jpa.impl.LicenseImpl
> >>> org.apache.wookie.beans.jpa.impl.NameImpl
> >>> org.apache.wookie.beans.jpa.impl.StartFileImpl".
> >>>
> >>>
> >>>
> >>>
> >>>
> >>> On Fri, Nov 2, 2012 at 5:33 AM, Scott Wilson <
> >> [email protected]
> >>>> wrote:
> >>>
> >>>> On 2 Nov 2012, at 00:45, Leon Wu wrote:
> >>>>
> >>>>> Hi Scott,
> >>>>>
> >>>>> You are exactly right. By step by step debugging, I found that my
> >>>>> context.xml is configured with derby db stuff and it found the
> >> datasource
> >>>>> after I changed it to mysql parameters.
> >>>>> However, it hits another problem. The Tomcat is hang on over there
> for
> >> a
> >>>>> while and throws almost the same exceptions.
> >>>>> By tracing down to the problem, it happens in JPAPersistenceManager
> >> (line
> >>>>> 293) when it tries to create the entity manager.
> >>>>>      entityManager = entityManagerFactory.createEntityManager();
> >>>>>
> >>>>> and the actual exception is thrown by DataSourceFactory of openjpa
> >>>> package
> >>>>> (line 239)
> >>>>>      if (!factory2)
> >>>>>           conn = ds.getConnection(conf.getConnectionUserName(), conf
> >>>>>                      .getConnectionPassword());
> >>>>>      else
> >>>>>
> >>>>> conf.getConnectionUserName and getConnectionPassword return null. I
> may
> >>>> not
> >>>>> know if it is correct or not.
> >>>>
> >>>> The main thing to check is that your database name, database user name
> >> and
> >>>> database password set in your conf/wookie.xml match your actual MySQL
> >> set
> >>>> up.
> >>>>
> >>>>> But after a step further, it hangs on there
> >>>>> and runtime exception stack is below. It might be the issue with
> >> openjpa
> >>>>> config but I don't know how to do that.
> >>>>>
> >>>>
> >>>> Actually this looks more like a driver problem. Do you have more than
> >> one
> >>>> MySQL connector jar on your classpath?
> >>>>
> >>>>
> >>
> >>
>
>

Reply via email to