Tuesday, August 30, 2011

Re: No persistence providers in GWT/OpenJPA service

No, I haven't tried running it in server mode yet; I was testing
locally in dev mode. But, I'll try running the war directly in Tomcat
and see what happens; thank you for the suggestion.

On Aug 30, 11:54 am, Juan Pablo Gardella <gardellajuanpa...@gmail.com>
wrote:
> GWT war should be able to use them from their packaged JAR directly. Is a
> war. GWT transform in plain javascript.  Do you check the war generated in a
> tomcat for example? Running in server mode, no devmode.
>
> 2011/8/30 MadOtis <rco...@gmail.com>
>
>
>
>
>
>
>
> > I took a look at your project structure, you've got your DAO
> > components packaged in your WAR.  Mine are in a dependent JAR, not the
> > WAR itself.  My jar file is pulled in via a maven dependency as
> > follows:
> >    <dependency>
> >        <groupId>svntools</groupId>
> >        <artifactId>svntools-data</artifactId>
> >        <version>1.2.1</version>
> >    </dependency>
> > And my persistence.xml IS in the dependent jar.  I've tried extracting
> > the persistence.xml out of the jar and putting it in the normal
> > location (/srv/main/resources/META-INF) and it DOES get packaged in
> > the WAR, but it still doesn't seem to make a difference to the GWT
> > War; I get the same exception when calling one of the services that
> > use it.
> > Should my next step be to copy all the source for the DAOs and
> > repackage it directly in my WAR?  ...or should the GWT war be able to
> > use them from their packaged JAR directly?
>
> > On Aug 30, 11:22 am, Juan Pablo Gardella <gardellajuanpa...@gmail.com>
> > wrote:
> > > I have in the war
> > > file<
> >https://bitbucket.org/gardellajuanpablo/gwt-sample/src/8aba86d82778/s...>a
> > > persistence.xml and don't have problems.
>
> > > 2011/8/30 randal cobb <rco...@gmail.com>
>
> > > > Yes, I've looked at that thread in several google searches.  I think my
> > > > issue is that I'm using the jar possibly incorrectly in the GWT
> > application.
> > > >  There IS a persistence.xml file with "svntools-data" defined in it,
> > but
> > > > it's packaged in the jar file with the OpenJPA entities and DAO
> > components;
> > > > not as loose objects in the GWT War project.  Here's my persistence.xml
> > file
> > > > that, again, is packaged in the jar file; and again, it (the openjpa
> > jar)
> > > > does work as expected in other projects not using GWT... I have an old
> > JSP
> > > > based utility that is using it which I'm trying to modernize with GWT,
> > so
> > > > the OpenJPA jar has been working for a couple of months.  Here's the
> > > > relevant portion of my persistence.xml with the <provider> section as
> > > > indicated in your suggested thread.
>
> > > > <persistence-unit name="svntools-data"
>
> > > >  transaction-type="RESOURCE_LOCAL">
>
> > > >  <provider>
>
> > > >  org.apache.openjpa.persistence.PersistenceProviderImpl
>
> > > >  </provider>
>
> > > >  <class>com.adp.mas.svntools.server.data.Defaults</class>
>
> > > >  <class>com.adp.mas.svntools.server.data.Repositories</class>
>
> > > >  <class>com.adp.mas.svntools.server.data.Excludes</class>
>
> > > >  <class>com.adp.mas.svntools.server.data.MergeFolders</class>
>
> > > >  <class>com.adp.mas.svntools.server.data.SystemCrontab</class>
>
> > > >  <properties>
>
> > > >  <property name="openjpa.ConnectionDriverName"
>
> > > >   value="org.hsqldb.jdbc.JDBCDriver" />
>
> > > >  <property name="openjpa.ConnectionURL"
>
> > > >   value="jdbc:hsqldb:hsql://localhost/svntoolsdb" />
>
> > > >  <property name="openjpa.ConnectionUserName" value="SA" />
>
> > > > <property name="openjpa.jdbc.DBDictionary"
>
> > > >   value="hsql(SimulateLocking=true,SchemaCase=upper)" />
>
> > > >  <property name="openjpa.jdbc.SynchronizedMappings"
>
> > > >   value="buildSchema(ForeignKeys=true)" />
>
> > > >  <property name="openjpa.Log"
>
> > > >   value="DefaultLevel=WARN, Tool=INFO, SQL=TRACE" />
>
> > > >  <property name="openjpa.RuntimeUnenhancedClasses"
>
> > > >   value="supported" />
>
> > > >  </properties>
>
> > > > </persistence-unit>
>
> > > > I think my issue is more that the GWT war can't find the jar'ed
> > > > persistence.xml file.
>
> > > > On Tue, Aug 30, 2011 at 10:52 AM, Juan Pablo Gardella <
> > > > gardellajuanpa...@gmail.com> wrote:
>
> > > >> This is not related to GWT, you don't define a persistence provider
> > with
> > > >> the name *svntools-data. *Check this post
> > > >> <
> >http://stackoverflow.com/questions/1158159/no-persistence-provider-fo..
> > .>to
> > > >> see similar problem, but with Hibernate.
>
> > > >> 2011/8/30 MadOtis <rco...@gmail.com>
>
> > > >>>  Hello all,
>
> > > >>> I'm running into a little bit of a problem.  I'm trying to use some
> > > >>> jar packaged OpenJPA entities in a GWT servelet service but I keep
> > > >>> getting a persistence exception.  The OpenJPA entities are, again,
> > > >>> packaged in a separate jar file and are provided by a different
> > > >>> project (they all work great in other projects).  Within the service,
> > > >>> I'm converting the OpenJPA entities into DTO objects, so I'm not
> > > >>> trying to pass actual connected JPA entities from the service back to
> > > >>> the client side of the house.  I do have other services that do not
> > > >>> use OpenJPA that work as expected; it's just the handful of services
> > > >>> that are using the DAO/Entities from the jar.  The war will not be
> > > >>> hosted in App Engine (rather a stand-alone war on Tomcat or some more
> > > >>> robust JEE container ), so I believe having to do a one-off version
> > of
> > > >>> this jar for datanucleus shouldn't be needed (I hope).
>
> > > >>> I've tried extracting the persistence.xml file from the jar and hand-
> > > >>> placing it in the respective locations in the war project, but it
> > > >>> seems to not make any difference.  Here's the relevant portion of the
> > > >>> stacktrace I get when the services try to fire (which tells me the
> > > >>> OpenJPA Entity Manager can't find the provider from persistence.xml):
>
> > > >>>        at
>
> > org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:
> > > >>> 395)
> > > >>>        at org.mortbay.thread.QueuedThreadPool
> > > >>> $PoolThread.run(QueuedThreadPool.java:488)
> > > >>> Caused by: java.lang.ExceptionInInitializerError
> > > >>>        at
>
> > com.adp.mas.svntools.server.data.DefaultsDAO.findAll(DefaultsDAO.java:
> > > >>> 193)
> > > >>>        at
>
> > com.adp.mas.svntools.server.SVNMergeServiceImpl.getDefaults(SVNMergeService
> > Impl.java:
> > > >>> 18)
> > > >>>        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> > > >>>        at
>
> > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:
> > > >>> 39)
> > > >>>        at
>
> > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImp
> > l.java:
> > > >>> 25)
> > > >>>        at java.lang.reflect.Method.invoke(Method.java:597)
> > > >>>        at
> > > >>> com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:
> > > >>> 569)
> > > >>>        ... 22 more
> > > >>> Caused by: javax.persistence.PersistenceException: No persistence
> > > >>> providers available for "svntools-data" after trying the following
> > > >>> discovered implementations: NONE
> > > >>>        at
>
> > javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:
> > > >>> 182)
> > > >>>        at
>
> > javax.persistence.Persistence.createEntityManagerFactory(Persistence.java:
> > > >>> 72)
> > > >>>        at
>
> > com.adp.mas.svntools.server.data.EntityManagerHelper.<clinit>(EntityManager
> > Helper.java:
> > > >>> 20)
>
> > > >>> Can anyone point me to any sort of documentation or example on how to
> > > >>> properly utilize an OpenJPA jar in a GWT War?
>
> > > >>> Thanks in advance!
> > > >>> Randy
>
> > > >>> --
> > > >>> You received this message because you are subscribed to the Google
> > Groups
> > > >>> "Google Web Toolkit" group.
> > > >>> To post to this group, send email to
> > google-web-toolkit@googlegroups.com
> > > >>> .
> > > >>> To unsubscribe from this group, send email to
> > > >>> google-web-toolkit+unsubscribe@googlegroups.com.
> > > >>> For more options, visit this group at
> > > >>>http://groups.google.com/group/google-web-toolkit?hl=en.
>
> > > >>  --
> > > >> You received this message because you are subscribed to the Google
> > Groups
> > > >> "Google Web Toolkit" group.
> > > >> To post to this group, send email to
> > google-web-toolkit@googlegroups.com.
> > > >> To unsubscribe from this group, send email to
> > > >> google-web-toolkit+unsubscribe@googlegroups.com.
> > > >> For more options, visit this group at
> > > >>http://groups.google.com/group/google-web-toolkit?hl=en.
>
> > > >  --
> > > > You received this message because you are subscribed to the Google
> > Groups
> > > > "Google Web Toolkit" group.
> > > > To post to this group, send email to
> > google-web-toolkit@googlegroups.com.
> > > > To unsubscribe from this group, send email to
> > > > google-web-toolkit+unsubscribe@googlegroups.com.
> > > > For more options, visit this group at
> > > >http://groups.google.com/group/google-web-toolkit?hl=en.
>
> > --
> > You received this message because you are subscribed to the Google Groups
> > "Google Web Toolkit" group.
> > To post to this group, send email to google-web-toolkit@googlegroups.com.
> > To unsubscribe from this group, send email to
> > google-web-toolkit+unsubscribe@googlegroups.com.
> > For more options, visit this group at
> >http://groups.google.com/group/google-web-toolkit?hl=en.

--
You received this message because you are subscribed to the Google Groups "Google Web Toolkit" group.
To post to this group, send email to google-web-toolkit@googlegroups.com.
To unsubscribe from this group, send email to google-web-toolkit+unsubscribe@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/google-web-toolkit?hl=en.

No comments:

Post a Comment