java - TomEE ++ and ObjectDB can not get it work -


i have daoservice gets initialized when app starts.

public daoservice() {     map<string, string> properties = new hashmap<string, string>();     properties.put("javax.persistence.jdbc.user", "admin");     properties.put("javax.persistence.jdbc.password", "admin");     factory = persistence.createentitymanagerfactory("$objectdb/db/points.odb", properties);     //exception! } 

but everytime fires exception:

    javax.persistence.persistenceexception: explicit persistence provider error(s) occurred "$objectdb/db/points.odb" after trying following discovered implementations: org.apache.openjpa.persistence.persistenceproviderimpl, com.objectdb.jpa.provider provider: com.objectdb.jpa.provider     @ org.apache.myfaces.view.facelets.el.contextawaretagmethodexpression.invoke(contextawaretagmethodexpression.java:108)     @ org.apache.myfaces.application.actionlistenerimpl.processaction(actionlistenerimpl.java:68)     @ javax.faces.component.uicommand.broadcast(uicommand.java:120)     @ javax.faces.component.uiviewroot._broadcastall(uiviewroot.java:1028)     @ javax.faces.component.uiviewroot.broadcastevents(uiviewroot.java:286)     @ javax.faces.component.uiviewroot._process(uiviewroot.java:1375)     @ javax.faces.component.uiviewroot.processapplication(uiviewroot.java:752)     @ org.apache.myfaces.lifecycle.invokeapplicationexecutor.execute(invokeapplicationexecutor.java:38)     @ org.apache.myfaces.lifecycle.lifecycleimpl.executephase(lifecycleimpl.java:170)     @ org.apache.myfaces.lifecycle.lifecycleimpl.execute(lifecycleimpl.java:117)     @ javax.faces.webapp.facesservlet.service(facesservlet.java:197)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:305)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210)     @ org.primefaces.webapp.filter.fileuploadfilter.dofilter(fileuploadfilter.java:79)     @ org.apache.catalina.core.applicationfilterchain.internaldofilter(applicationfilterchain.java:243)     @ org.apache.catalina.core.applicationfilterchain.dofilter(applicationfilterchain.java:210)     @ org.apache.catalina.core.standardwrappervalve.invoke(standardwrappervalve.java:222)     @ org.apache.catalina.core.standardcontextvalve.invoke(standardcontextvalve.java:123)     @ org.apache.tomee.catalina.openejbvalve.invoke(openejbvalve.java:45)     @ org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472)     @ org.apache.catalina.core.standardhostvalve.invoke(standardhostvalve.java:171)     @ org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99)     @ org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:936)     @ org.apache.catalina.core.standardenginevalve.invoke(standardenginevalve.java:118)     @ org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:407)     @ org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1004)     @ org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:589)     @ org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:312)     @ java.util.concurrent.threadpoolexecutor.runworker(threadpoolexecutor.java:1110)     @ java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:603)     @ java.lang.thread.run(thread.java:722) caused by: javax.el.elexception: javax.ejb.ejbexception: bean encountered non-application exception; nested exception is:      javax.persistence.persistenceexception: explicit persistence provider error(s) occurred "$objectdb/db/points.odb" after trying following discovered implementations: org.apache.openjpa.persistence.persistenceproviderimpl, com.objectdb.jpa.provider provider: com.objectdb.jpa.provider     @ org.apache.el.parser.astvalue.invoke(astvalue.java:291)     @ org.apache.el.methodexpressionimpl.invoke(methodexpressionimpl.java:274)     @ org.apache.myfaces.view.facelets.el.contextawaretagmethodexpression.invoke(contextawaretagmethodexpression.java:96)     ... 30 more caused by: javax.ejb.ejbexception: bean encountered non-application exception; nested exception is:      javax.persistence.persistenceexception: explicit persistence provider error(s) occurred "$objectdb/db/points.odb" after trying following discovered implementations: org.apache.openjpa.persistence.persistenceproviderimpl, com.objectdb.jpa.provider provider: com.objectdb.jpa.provider     @ org.apache.openejb.core.ivm.baseejbproxyhandler.convertexception(baseejbproxyhandler.java:363)     @ org.apache.openejb.core.ivm.baseejbproxyhandler.invoke(baseejbproxyhandler.java:283)     @ $proxy110.loginuser(unknown source)     @ net.heatboxes.core.service.authorizationservice.login(authorizationservice.java:42)     @ net.heatboxes.core.bean.view.login.submit(login.java:49)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:601)     @ org.apache.el.parser.astvalue.invoke(astvalue.java:278)     ... 32 more caused by: javax.persistence.persistenceexception: explicit persistence provider error(s) occurred "$objectdb/db/points.odb" after trying following discovered implementations: org.apache.openjpa.persistence.persistenceproviderimpl, com.objectdb.jpa.provider provider: com.objectdb.jpa.provider     @ javax.persistence.persistence.createpersistenceexception(persistence.java:244)     @ javax.persistence.persistence.createentitymanagerfactory(persistence.java:186)     @ net.heatboxes.dao.daoservice.<init>(daoservice.java:42)     @ net.heatboxes.dao.daoservice.getinstance(daoservice.java:27)     @ net.heatboxes.core.service.statelessservice.getdaoservice(statelessservice.java:22)     @ net.heatboxes.core.service.impl.authenticationserviceimpl.loginuser(authenticationserviceimpl.java:39)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:601)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext$invocation.invoke(reflectioninvocationcontext.java:181)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext.proceed(reflectioninvocationcontext.java:163)     @ net.heatboxes.core.interseptors.accesscontrolinterceptor.interceptor(accesscontrolinterceptor.java:32)     @ sun.reflect.nativemethodaccessorimpl.invoke0(native method)     @ sun.reflect.nativemethodaccessorimpl.invoke(nativemethodaccessorimpl.java:57)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:601)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext$invocation.invoke(reflectioninvocationcontext.java:181)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext.proceed(reflectioninvocationcontext.java:163)     @ org.apache.openejb.cdi.cdiinterceptor.invoke(cdiinterceptor.java:126)     @ org.apache.openejb.cdi.cdiinterceptor.access$000(cdiinterceptor.java:42)     @ org.apache.openejb.cdi.cdiinterceptor$1.call(cdiinterceptor.java:63)     @ org.apache.openejb.cdi.cdiinterceptor.aroundinvoke(cdiinterceptor.java:69)     @ sun.reflect.generatedmethodaccessor54.invoke(unknown source)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:601)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext$invocation.invoke(reflectioninvocationcontext.java:181)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext.proceed(reflectioninvocationcontext.java:163)     @ org.apache.openejb.monitoring.statsinterceptor.record(statsinterceptor.java:176)     @ org.apache.openejb.monitoring.statsinterceptor.invoke(statsinterceptor.java:95)     @ sun.reflect.generatedmethodaccessor53.invoke(unknown source)     @ sun.reflect.delegatingmethodaccessorimpl.invoke(delegatingmethodaccessorimpl.java:43)     @ java.lang.reflect.method.invoke(method.java:601)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext$invocation.invoke(reflectioninvocationcontext.java:181)     @ org.apache.openejb.core.interceptor.reflectioninvocationcontext.proceed(reflectioninvocationcontext.java:163)     @ org.apache.openejb.core.interceptor.interceptorstack.invoke(interceptorstack.java:138)     @ org.apache.openejb.core.stateful.statefulcontainer.businessmethod(statefulcontainer.java:673)     @ org.apache.openejb.core.stateful.statefulcontainer.invoke(statefulcontainer.java:378)     @ org.apache.openejb.core.ivm.ejbobjectproxyhandler.synchronizedbusinessmethod(ejbobjectproxyhandler.java:246)     @ org.apache.openejb.core.ivm.ejbobjectproxyhandler.businessmethod(ejbobjectproxyhandler.java:241)     @ org.apache.openejb.core.ivm.ejbobjectproxyhandler._invoke(ejbobjectproxyhandler.java:83)     @ org.apache.openejb.core.ivm.baseejbproxyhandler.invoke(baseejbproxyhandler.java:279)     ... 40 more caused by: com.objectdb.o._persistenceexception: failed validate xml file c:\!heatboxes-web\build\web\web-inf\classes\meta-inf\persistence.xml:      @ com.objectdb.o._persistenceexception.b(_persistenceexception.java:45)     @ com.objectdb.jpa.provider.createentitymanagerfactory(provider.java:87)     @ com.objectdb.jpa.provider.createentitymanagerfactory(provider.java:32)     @ javax.persistence.persistence.createentitymanagerfactory(persistence.java:152)     ... 80 more caused by: com.objectdb.o.userexception: failed validate xml file c:\!heatboxes-web\build\web\web-inf\classes\meta-inf\persistence.xml:      @ com.objectdb.o.msg.d(msg.java:74)     @ com.objectdb.o.xmd.n(xmd.java:217)     @ com.objectdb.o.xmd.k(xmd.java:155)     @ com.objectdb.o.unm$z._e(unm.java:182)     @ com.objectdb.o.unm$z.<init>(unm.java:169)     @ com.objectdb.o.unm.x(unm.java:105)     @ com.objectdb.o.unm.w(unm.java:75)     @ com.objectdb.jpa.provider.createentitymanagerfactory(provider.java:56)     ... 82 more caused by: java.lang.nullpointerexception     @ javax.xml.validation.schemafactory.newschema(schemafactory.java:623)     @ com.objectdb.o.xmd.n(xmd.java:200)     ... 88 more 

i tried , without persistence.xml

<?xml version="1.0" encoding="utf-8" ?> <persistence xmlns="http://java.sun.com/xml/ns/persistence"  xmlns:xsi="http://www.w3.org/2001/xmlschema-instance"  xsi:schemalocation="http://java.sun.com/xml/ns/persistence  http://java.sun.com/xml/ns/persistence/persistence_1_0.xsd" version="1.0">     <persistence-unit name="my-pu">      <description>my persistence unit</description>      <provider>com.objectdb.jpa.provider</provider>        <class>net.heatboxes.dao.entity.userentity</class>      <properties>        <property name="javax.persistence.jdbc.url"                  value="my.odb"/>        <property name="javax.persistence.jdbc.user" value="admin"/>        <property name="javax.persistence.jdbc.password" value="admin"/>      </properties>    </persistence-unit>  </persistence> 

finally i've got it. should not use persistence.xml @ all. when not use it, got error:

http status 500 - org.apache.openjpa.persistence.argumentexception: jdbc driver or datasource class name must specified in connectiondrivername property. available properties in configuration "org.apache.openjpa.jdbc.conf.jdbcconfigurationimpl@fdaf18ee".

openjpa conflicts existing jpa of objectdb.jar.

to avoid it, removed openjpa-asm-shaded-x.x.x.jar tomee/lib folder.


summarize

only:

persistence.createentitymanagerfactory("$objectdb/db/painintheass.odb");

for entitymanagerfactory

only:

objectdb-ee.jar

for objectdb library in dependencies.

only without:

openjpa-asm-shaded-x.x.x.jar

in tomee/lib


netbeans still create persistance.xml break everything. if still not successful , use netbeans, clear cache, in c:\users\yourname\appdata\local\netbeans\cache

you may in yourproject\nbproject\project.properties see old malformed settings played around , leaved is.


Comments

Popular posts from this blog

basic authentication with http post params android -

vb.net - Virtual Keyboard commands -

css - Firefox for ubuntu renders wrong colors -