You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by giovacar <gi...@gmail.com> on 2009/03/20 17:43:00 UTC
jpa not start in tomcat server
hi Gurus,
try to put as much information as i can :
I have
apache tomcat 6.0.18
openejb 3.1
windows xp professional sp3
when call this EJB
http://www.nabble.com/file/p22623668/EJBentity_and%2Bsource%2Bcode.jar
EJBentity_and+source+code.jar
with this test , on localhost:4201 work fine,
******* start code
private String INITIALEJBentity.jar_FACTORY
="org.apache.openejb.client.RemoteInitialContextFactory";
//end point to call remote
//private String END_POINT ="localhost:4201";
private String END_POINT="http://localhost:8080/openejb/ejb";
p = new Properties();
p.put("java.naming.factory.initial", INITIAL_FACTORY);
p.put("java.naming.provider.url", END_POINT);
ctx = new InitialContext( p );
ctx = new InitialContext(p);
TheMoviesRemote movies = (TheMoviesRemote)
ctx.lookup("theMovieRemote");
.....
******* end code
when i try to call it on tomcat
"http://localhost:8080/openejb/ejb
(i copy the bean jar on lib directory on
apache-tomcat-6.0.18\webapps\openejb\lib)
i have an error :
the trace for localhost is :
http://www.nabble.com/file/p22623668/localhost.trace localhost.trace
for tomcat is :
http://www.nabble.com/file/p22623668/tomcat.trace tomcat.trace
the difference that i see is that jpa is not starting...
the error is:
javax.naming.NamingException: Unknown error in container [Root exception is
<openjpa-1.1.0-r422266:659716 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException: The factory has been
closed. The stack trace at which the factory was closed is held in the
embedded exception.]
at
org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:131)
at
org.apache.openejb.server.ejbd.EjbDaemon.processJndiRequest(EjbDaemon.java:200)
at
org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:153)
at
org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at
org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
at
org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:269)
at
org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Thread.java:595)
Caused by: <openjpa-1.1.0-r422266:659716 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException: The factory has been
closed. The stack trace at which the factory was closed is held in the
embedded exception.
at
org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen(AbstractBrokerFactory.java:676)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:182)
at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
at
org.apache.openejb.core.stateful.StatefulContainer.createEntityManagers(StatefulContainer.java:710)
at
org.apache.openejb.core.stateful.StatefulContainer.createEJBObject(StatefulContainer.java:283)
at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:263)
at
org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:270)
at
org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:161)
at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
at $Proxy45.create(Unknown Source)
at
org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObject(BusinessRemoteReference.java:33)
at
org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:150)
at
org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiRequestHandler.java:189)
at
org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:125)
... 20 more
Caused by: java.lang.Exception: java.lang.Exception:
java.lang.IllegalStateException
at
org.apache.openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:249)
at
org.apache.openjpa.persistence.InvalidStateException.writeObject(InvalidStateException.java:107)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at
java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at
java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
at
java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at
org.apache.openejb.client.ThrowableArtifact.writeExternal(ThrowableArtifact.java:49)
at
java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
at
java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
at
java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
at
java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
at
org.apache.openejb.client.JNDIResponse.writeExternal(JNDIResponse.java:131)
at
org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:143)
... 20 more
--
View this message in context: http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22623668.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: jpa not start in tomcat server
Posted by giovacar <gi...@gmail.com>.
Hi All,
i read that tomcat is a "servlet" container, not a "Eai" server,
so maybe i needs to create some kind of service in
<TOMCAT_DIR>\webapps\openejb\WEB-INF\classes\META-INF\org.apache.openejb.tomcat\service-jar.xml
<ServiceProvider
id="myIDPersistenceManager"
service="Container"
....
</ServiceProvider>
for use a resource that refere to Mysql...
please return me a tips for this...
thanks a lot , giovacar
--
View this message in context: http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22665133.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: jpa not start in tomcat server
Posted by giovacar <gi...@gmail.com>.
Hi All,
another trace of openEJB , that blocked on
org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen
INFO - invoking method create on theMovie
DEBUG - finished invoking method create with
exception:<openjpa-1.2.0-r422266:68
3325 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException:
The factory has been closed. The stack trace at which the factory was
closed is
held in the embedded exception.
<openjpa-1.2.0-r422266:683325 nonfatal user error>
org.apache.openjpa.persistenc
e.InvalidStateException: The factory has been closed. The stack trace at
which
the factory was closed is held in the embedded exception.
at
org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen(AbstractBr
okerFactory.java:676)
at
org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBro
kerFactory.java:182)
at
org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(Delegatin
gBrokerFactory.java:142)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM
anager(EntityManagerFactoryImpl.java:192)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityM
anager(EntityManagerFactoryImpl.java:56)
at
org.apache.openejb.core.stateful.StatefulContainer.createEntityManage
rs(StatefulContainer.java:710)
at
org.apache.openejb.core.stateful.StatefulContainer.createEJBObject(St
atefulContainer.java:283)
at
org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulCon
tainer.java:263)
at
org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHa
ndler.java:270)
at
org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyH
andler.java:161)
at
org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHa
ndler.java:286)
at $Proxy46.create(Unknown Source)
at
org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObject(
BusinessRemoteReference.java:33)
at
org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:
150)
at
org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiReques
tHandler.java:189)
at
org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(Jndi
RequestHandler.java:125)
at
org.apache.openejb.server.ejbd.EjbDaemon.processJndiRequest(EjbDaemon
.java:200)
at
org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:153)
at
org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
at
org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.j
ava:44)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
at
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
icationFilterChain.java:290)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
ilterChain.java:206)
at
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
alve.java:233)
at
org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
alve.java:191)
at
org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.j
ava:45)
at
org.apache.catalina.valves.RequestFilterValve.process(RequestFilterVa
lve.java:269)
at
org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.jav
a:81)
at
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
ava:128)
at
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
ava:102)
at
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
ve.java:109)
at
org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
a:286)
at
org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
:845)
at
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
ss(Http11Protocol.java:583)
at
org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
7)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.IllegalStateException
at
org.apache.openjpa.kernel.AbstractBrokerFactory.close(AbstractBrokerF
actory.java:403)
at
org.apache.openjpa.kernel.DelegatingBrokerFactory.close(DelegatingBro
kerFactory.java:183)
at
org.apache.openjpa.persistence.EntityManagerFactoryImpl.close(EntityM
anagerFactoryImpl.java:286)
at
org.apache.openejb.assembler.classic.Assembler.destroyApplication(Ass
embler.java:868)
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Asse
mbler.java:646)
at
org.apache.openejb.assembler.classic.Assembler.createApplication(Asse
mbler.java:447)
at
org.apache.openejb.tomcat.catalina.TomcatWebAppBuilder.start(TomcatWe
bAppBuilder.java:241)
at
org.apache.openejb.tomcat.catalina.GlobalListenerSupport.lifecycleEve
nt(GlobalListenerSupport.java:58)
at
org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(Lifecycl
eSupport.java:117)
at
org.apache.catalina.core.StandardContext.start(StandardContext.java:4
252)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardHost.start(StandardHost.java:719)
at
org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045)
at
org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443
)
at
org.apache.catalina.core.StandardService.start(StandardService.java:5
16)
at
org.apache.catalina.core.StandardServer.start(StandardServer.java:710
)
at org.apache.catalina.startup.Catalina.start(Catalina.java:578)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
java:39)
at
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
sorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413)
DEBUG - JNDI REQUEST: JNDI_LOOKUP:null:theMovieRemote -- RESPONSE:
JNDI_NAMING_E
XCEPTION:javax.naming.NamingException: Unknown error in container [Root
exceptio
n is <openjpa-1.2.0-r422266:683325 nonfatal user error>
org.apache.openjpa.persi
stence.InvalidStateException: The factory has been closed. The stack trace
at w
hich the factory was closed is held in the embedded exception.]
--
View this message in context: http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22663869.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: jpa not start in tomcat server
Posted by giovacar <gi...@gmail.com>.
Hi Jon,
i try it , but it not work, i have the same error;
i use mysql as database:
i add this on
<Resource id="movieDatabase" type="DataSource">
JdbcDriver com.mysql.jdbc.Driver
JdbcUrl jdbc:mysql://localhost:3306/test2?user=max&password=max
UserName max
Password max
JtaManaged true
</Resource>
on openejb.xml on config directory of tomcat,
and i create
CREATE TABLE `test2`.`openjpa_sequence_table` (
`ID` tinyint(4) NOT NULL,
`SEQUENCE_VALUE` bigint(20) default NULL,
PRIMARY KEY (`ID`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1;
to use jpa on mysql;
the same code works fine on standalone server on port 4201.
i think there is a difference , but i don't known where...
javax.naming.NamingException: Unknown error in container [Root exception is
<openjpa-1.1.0-r422266:659716 nonfatal user error>
org.apache.openjpa.persistence.InvalidStateException: The factory has been
closed. The stack trace at which the factory was closed is held in the
embedded exception.]
at
org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:131)
at
org.apache.openejb.server.ejbd.EjbDaemon.processJndiRequest(EjbDaemon.java:200)
at org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:153)
thanks a lot
giovacar
Jonathan Gallimore-2 wrote:
>
> Hi there,
>
> I was able to get your code working in a unit test, the standalone server,
> and in Tomcat. The only real change I made was to remove orm.xml and
> change
> the properties in persistence.xml.
>
> Here is the property I set in persistence.xml (I commented all the others
> out):
>
> <property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
>
> I've attached my Eclipse project and the resulting jar I deployed in
> Tomcat.
>
> Hope that helps.
>
> Jon
>
>
> On Fri, Mar 20, 2009 at 4:43 PM, giovacar <gi...@gmail.com> wrote:
>
>>
>> hi Gurus,
>> try to put as much information as i can :
>> I have
>> apache tomcat 6.0.18
>> openejb 3.1
>> windows xp professional sp3
>>
>> when call this EJB
>> http://www.nabble.com/file/p22623668/EJBentity_and%2Bsource%2Bcode.jar
>> EJBentity_and+source+code.jar
>> with this test , on localhost:4201 work fine,
>>
>> ******* start code
>> private String INITIALEJBentity.jar_FACTORY
>> ="org.apache.openejb.client.RemoteInitialContextFactory";
>>
>> //end point to call remote
>> //private String END_POINT ="localhost:4201";
>> private String END_POINT="http://localhost:8080/openejb/ejb";
>>
>> p = new Properties();
>> p.put("java.naming.factory.initial", INITIAL_FACTORY);
>> p.put("java.naming.provider.url", END_POINT);
>> ctx = new InitialContext( p );
>>
>> ctx = new InitialContext(p);
>>
>> TheMoviesRemote movies = (TheMoviesRemote)
>> ctx.lookup("theMovieRemote");
>>
>> .....
>>
>>
>> ******* end code
>>
>> when i try to call it on tomcat
>> "http://localhost:8080/openejb/ejb
>> (i copy the bean jar on lib directory on
>> apache-tomcat-6.0.18\webapps\openejb\lib)
>> i have an error :
>>
>> the trace for localhost is :
>>
>> http://www.nabble.com/file/p22623668/localhost.trace localhost.trace
>>
>> for tomcat is :
>>
>> http://www.nabble.com/file/p22623668/tomcat.trace tomcat.trace
>>
>> the difference that i see is that jpa is not starting...
>>
>> the error is:
>>
>> javax.naming.NamingException: Unknown error in container [Root exception
>> is
>> <openjpa-1.1.0-r422266:659716 nonfatal user error>
>> org.apache.openjpa.persistence.InvalidStateException: The factory has
>> been
>> closed. The stack trace at which the factory was closed is held in the
>> embedded exception.]
>> at
>>
>> org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:131)
>> at
>>
>> org.apache.openejb.server.ejbd.EjbDaemon.processJndiRequest(EjbDaemon.java:200)
>> at
>> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:153)
>> at
>> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
>> at
>>
>> org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:44)
>> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
>> at
>>
>> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
>> at
>>
>> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
>> at
>>
>> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
>> at
>>
>> org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
>> at
>>
>> org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:269)
>> at
>> org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
>> at
>>
>> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
>> at
>>
>> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
>> at
>>
>> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
>> at
>> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
>> at
>> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
>> at
>>
>> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
>> at
>> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
>> at java.lang.Thread.run(Thread.java:595)
>> Caused by: <openjpa-1.1.0-r422266:659716 nonfatal user error>
>> org.apache.openjpa.persistence.InvalidStateException: The factory has
>> been
>> closed. The stack trace at which the factory was closed is held in the
>> embedded exception.
>> at
>>
>> org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen(AbstractBrokerFactory.java:676)
>> at
>>
>> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:182)
>> at
>>
>> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
>> at
>>
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
>> at
>>
>> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
>> at
>>
>> org.apache.openejb.core.stateful.StatefulContainer.createEntityManagers(StatefulContainer.java:710)
>> at
>>
>> org.apache.openejb.core.stateful.StatefulContainer.createEJBObject(StatefulContainer.java:283)
>> at
>>
>> org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:263)
>> at
>>
>> org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:270)
>> at
>>
>> org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:161)
>> at
>>
>> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
>> at $Proxy45.create(Unknown Source)
>> at
>>
>> org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObject(BusinessRemoteReference.java:33)
>> at
>> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:150)
>> at
>>
>> org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiRequestHandler.java:189)
>> at
>>
>> org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:125)
>> ... 20 more
>> Caused by: java.lang.Exception: java.lang.Exception:
>> java.lang.IllegalStateException
>> at
>>
>> org.apache.openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:249)
>> at
>>
>> org.apache.openjpa.persistence.InvalidStateException.writeObject(InvalidStateException.java:107)
>> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>> at
>>
>> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>> at
>>
>> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>> at java.lang.reflect.Method.invoke(Method.java:585)
>> at
>> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
>> at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
>> at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>> at
>> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
>> at
>> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
>> at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>> at
>>
>> org.apache.openejb.client.ThrowableArtifact.writeExternal(ThrowableArtifact.java:49)
>> at
>> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
>> at
>>
>> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
>> at
>> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
>> at
>> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
>> at
>> org.apache.openejb.client.JNDIResponse.writeExternal(JNDIResponse.java:131)
>> at
>>
>> org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:143)
>> ... 20 more
>> --
>> View this message in context:
>> http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22623668.html
>> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>>
>>
>
>
>
>
--
View this message in context: http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22661074.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: jpa not start in tomcat server
Posted by Jonathan Gallimore <jo...@gmail.com>.
Hi there,
I was able to get your code working in a unit test, the standalone server,
and in Tomcat. The only real change I made was to remove orm.xml and change
the properties in persistence.xml.
Here is the property I set in persistence.xml (I commented all the others
out):
<property name="openjpa.jdbc.SynchronizeMappings" value="buildSchema" />
I've attached my Eclipse project and the resulting jar I deployed in Tomcat.
Hope that helps.
Jon
On Fri, Mar 20, 2009 at 4:43 PM, giovacar <gi...@gmail.com> wrote:
>
> hi Gurus,
> try to put as much information as i can :
> I have
> apache tomcat 6.0.18
> openejb 3.1
> windows xp professional sp3
>
> when call this EJB
> http://www.nabble.com/file/p22623668/EJBentity_and%2Bsource%2Bcode.jar
> EJBentity_and+source+code.jar
> with this test , on localhost:4201 work fine,
>
> ******* start code
> private String INITIALEJBentity.jar_FACTORY
> ="org.apache.openejb.client.RemoteInitialContextFactory";
>
> //end point to call remote
> //private String END_POINT ="localhost:4201";
> private String END_POINT="http://localhost:8080/openejb/ejb";
>
> p = new Properties();
> p.put("java.naming.factory.initial", INITIAL_FACTORY);
> p.put("java.naming.provider.url", END_POINT);
> ctx = new InitialContext( p );
>
> ctx = new InitialContext(p);
>
> TheMoviesRemote movies = (TheMoviesRemote)
> ctx.lookup("theMovieRemote");
>
> .....
>
>
> ******* end code
>
> when i try to call it on tomcat
> "http://localhost:8080/openejb/ejb
> (i copy the bean jar on lib directory on
> apache-tomcat-6.0.18\webapps\openejb\lib)
> i have an error :
>
> the trace for localhost is :
>
> http://www.nabble.com/file/p22623668/localhost.trace localhost.trace
>
> for tomcat is :
>
> http://www.nabble.com/file/p22623668/tomcat.trace tomcat.trace
>
> the difference that i see is that jpa is not starting...
>
> the error is:
>
> javax.naming.NamingException: Unknown error in container [Root exception is
> <openjpa-1.1.0-r422266:659716 nonfatal user error>
> org.apache.openjpa.persistence.InvalidStateException: The factory has been
> closed. The stack trace at which the factory was closed is held in the
> embedded exception.]
> at
>
> org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:131)
> at
>
> org.apache.openejb.server.ejbd.EjbDaemon.processJndiRequest(EjbDaemon.java:200)
> at
> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:153)
> at
> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
> at
>
> org.apache.openejb.server.httpd.ServerServlet.service(ServerServlet.java:44)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
> at
>
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
>
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
> at
>
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
> at
>
> org.apache.openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
>
> org.apache.catalina.valves.RequestFilterValve.process(RequestFilterValve.java:269)
> at
> org.apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:81)
> at
>
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
>
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
>
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
> at
> org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:286)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
> at
>
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: <openjpa-1.1.0-r422266:659716 nonfatal user error>
> org.apache.openjpa.persistence.InvalidStateException: The factory has been
> closed. The stack trace at which the factory was closed is held in the
> embedded exception.
> at
>
> org.apache.openjpa.kernel.AbstractBrokerFactory.assertOpen(AbstractBrokerFactory.java:676)
> at
>
> org.apache.openjpa.kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:182)
> at
>
> org.apache.openjpa.kernel.DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> at
>
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:192)
> at
>
> org.apache.openjpa.persistence.EntityManagerFactoryImpl.createEntityManager(EntityManagerFactoryImpl.java:56)
> at
>
> org.apache.openejb.core.stateful.StatefulContainer.createEntityManagers(StatefulContainer.java:710)
> at
>
> org.apache.openejb.core.stateful.StatefulContainer.createEJBObject(StatefulContainer.java:283)
> at
>
> org.apache.openejb.core.stateful.StatefulContainer.invoke(StatefulContainer.java:263)
> at
>
> org.apache.openejb.core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:270)
> at
>
> org.apache.openejb.core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:161)
> at
>
> org.apache.openejb.core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
> at $Proxy45.create(Unknown Source)
> at
>
> org.apache.openejb.core.ivm.naming.BusinessRemoteReference.getObject(BusinessRemoteReference.java:33)
> at
> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:150)
> at
>
> org.apache.openejb.server.ejbd.JndiRequestHandler.doLookup(JndiRequestHandler.java:189)
> at
>
> org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:125)
> ... 20 more
> Caused by: java.lang.Exception: java.lang.Exception:
> java.lang.IllegalStateException
> at
>
> org.apache.openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:249)
> at
>
> org.apache.openjpa.persistence.InvalidStateException.writeObject(InvalidStateException.java:107)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
>
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
>
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> at
> java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> at
>
> org.apache.openejb.client.ThrowableArtifact.writeExternal(ThrowableArtifact.java:49)
> at
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:1310)
> at
>
> java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1288)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> at
> org.apache.openejb.client.JNDIResponse.writeExternal(JNDIResponse.java:131)
> at
>
> org.apache.openejb.server.ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:143)
> ... 20 more
> --
> View this message in context:
> http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22623668.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
>
Re: jpa not start in tomcat server
Posted by Jonathan Gallimore <jo...@gmail.com>.
Hi,
Glad you got it working, thanks for posting and letting us know. I guess you
had your jar file in the lib folder of the openejb directory, as per David's
mail - I think we can get this added to the FAQ.
Jon
On Tue, Mar 24, 2009 at 10:08 AM, giovacar <gi...@gmail.com> wrote:
>
> Hi All
> ok its my fault, now it works!
> i move all jars with my EJB on webapps, delete all tmp jars of ejbs in tmp
> dir of tomcat , and all works;
> please make evidence of this on documentation for "impatients" (like me!)
> when deploy jars with only EJBs.
>
> thanks for the patience, best whishes.
> giovacar
>
> --
> View this message in context:
> http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22677284.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
>
Re: jpa not start in tomcat server
Posted by giovacar <gi...@gmail.com>.
Hi All
ok its my fault, now it works!
i move all jars with my EJB on webapps, delete all tmp jars of ejbs in tmp
dir of tomcat , and all works;
please make evidence of this on documentation for "impatients" (like me!)
when deploy jars with only EJBs.
thanks for the patience, best whishes.
giovacar
--
View this message in context: http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22677284.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: jpa not start in tomcat server
Posted by David Blevins <da...@visi.com>.
Hi Giovacar,
Adding applications to the lib directory inside the openejb webapp is
the cause of your problem. If you move your application to the tomcat
webapps/ directory it will work.
-David
On Mar 20, 2009, at 9:43 AM, giovacar wrote:
>
> hi Gurus,
> try to put as much information as i can :
> I have
> apache tomcat 6.0.18
> openejb 3.1
> windows xp professional sp3
>
> when call this EJB
> http://www.nabble.com/file/p22623668/EJBentity_and%2Bsource%2Bcode.jar
> EJBentity_and+source+code.jar
> with this test , on localhost:4201 work fine,
>
> ******* start code
> private String INITIALEJBentity.jar_FACTORY
> ="org.apache.openejb.client.RemoteInitialContextFactory";
>
> //end point to call remote
> //private String END_POINT ="localhost:4201";
> private String END_POINT="http://localhost:8080/openejb/ejb";
>
> p = new Properties();
> p.put("java.naming.factory.initial", INITIAL_FACTORY);
> p.put("java.naming.provider.url", END_POINT);
> ctx = new InitialContext( p );
>
> ctx = new InitialContext(p);
>
> TheMoviesRemote movies = (TheMoviesRemote)
> ctx.lookup("theMovieRemote");
>
> .....
>
>
> ******* end code
>
> when i try to call it on tomcat
> "http://localhost:8080/openejb/ejb
> (i copy the bean jar on lib directory on
> apache-tomcat-6.0.18\webapps\openejb\lib)
> i have an error :
>
> the trace for localhost is :
>
> http://www.nabble.com/file/p22623668/localhost.trace localhost.trace
>
> for tomcat is :
>
> http://www.nabble.com/file/p22623668/tomcat.trace tomcat.trace
>
> the difference that i see is that jpa is not starting...
>
> the error is:
>
> javax.naming.NamingException: Unknown error in container [Root
> exception is
> <openjpa-1.1.0-r422266:659716 nonfatal user error>
> org.apache.openjpa.persistence.InvalidStateException: The factory
> has been
> closed. The stack trace at which the factory was closed is held in
> the
> embedded exception.]
> at
> org
> .apache
> .openejb
> .server
> .ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:131)
> at
> org
> .apache
> .openejb.server.ejbd.EjbDaemon.processJndiRequest(EjbDaemon.java:200)
> at
> org.apache.openejb.server.ejbd.EjbDaemon.service(EjbDaemon.java:153)
> at
> org.apache.openejb.server.ejbd.EjbServer.service(EjbServer.java:71)
> at
> org
> .apache
> .openejb.server.httpd.ServerServlet.service(ServerServlet.java:44)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
> at
> org
> .apache
> .catalina
> .core
> .ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:
> 290)
> at
> org
> .apache
> .catalina
> .core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
> at
> org
> .apache
> .catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:
> 233)
> at
> org
> .apache
> .catalina.core.StandardContextValve.invoke(StandardContextValve.java:
> 191)
> at
> org
> .apache
> .openejb.tomcat.catalina.OpenEJBValve.invoke(OpenEJBValve.java:45)
> at
> org
> .apache
> .catalina.valves.RequestFilterValve.process(RequestFilterValve.java:
> 269)
> at
> org
> .apache.catalina.valves.RemoteAddrValve.invoke(RemoteAddrValve.java:
> 81)
> at
> org
> .apache
> .catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
> at
> org
> .apache
> .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
> at
> org
> .apache
> .catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:
> 109)
> at
> org
> .apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:
> 286)
> at
> org
> .apache.coyote.http11.Http11Processor.process(Http11Processor.java:
> 845)
> at
> org.apache.coyote.http11.Http11Protocol
> $Http11ConnectionHandler.process(Http11Protocol.java:583)
> at
> org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:
> 447)
> at java.lang.Thread.run(Thread.java:595)
> Caused by: <openjpa-1.1.0-r422266:659716 nonfatal user error>
> org.apache.openjpa.persistence.InvalidStateException: The factory
> has been
> closed. The stack trace at which the factory was closed is held in
> the
> embedded exception.
> at
> org
> .apache
> .openjpa
> .kernel.AbstractBrokerFactory.assertOpen(AbstractBrokerFactory.java:
> 676)
> at
> org
> .apache
> .openjpa
> .kernel.AbstractBrokerFactory.newBroker(AbstractBrokerFactory.java:
> 182)
> at
> org
> .apache
> .openjpa
> .kernel
> .DelegatingBrokerFactory.newBroker(DelegatingBrokerFactory.java:142)
> at
> org
> .apache
> .openjpa
> .persistence
> .EntityManagerFactoryImpl
> .createEntityManager(EntityManagerFactoryImpl.java:192)
> at
> org
> .apache
> .openjpa
> .persistence
> .EntityManagerFactoryImpl
> .createEntityManager(EntityManagerFactoryImpl.java:56)
> at
> org
> .apache
> .openejb
> .core
> .stateful
> .StatefulContainer.createEntityManagers(StatefulContainer.java:710)
> at
> org
> .apache
> .openejb
> .core
> .stateful.StatefulContainer.createEJBObject(StatefulContainer.java:
> 283)
> at
> org
> .apache
> .openejb
> .core.stateful.StatefulContainer.invoke(StatefulContainer.java:263)
> at
> org
> .apache
> .openejb
> .core.ivm.EjbHomeProxyHandler.create(EjbHomeProxyHandler.java:270)
> at
> org
> .apache
> .openejb
> .core.ivm.EjbHomeProxyHandler._invoke(EjbHomeProxyHandler.java:161)
> at
> org
> .apache
> .openejb
> .core.ivm.BaseEjbProxyHandler.invoke(BaseEjbProxyHandler.java:286)
> at $Proxy45.create(Unknown Source)
> at
> org
> .apache
> .openejb
> .core
> .ivm
> .naming
> .BusinessRemoteReference.getObject(BusinessRemoteReference.java:33)
> at
> org.apache.openejb.core.ivm.naming.IvmContext.lookup(IvmContext.java:
> 150)
> at
> org
> .apache
> .openejb
> .server.ejbd.JndiRequestHandler.doLookup(JndiRequestHandler.java:189)
> at
> org
> .apache
> .openejb
> .server
> .ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:125)
> ... 20 more
> Caused by: java.lang.Exception: java.lang.Exception:
> java.lang.IllegalStateException
> at
> org
> .apache
> .openjpa.util.Exceptions.replaceNestedThrowables(Exceptions.java:249)
> at
> org
> .apache
> .openjpa
> .persistence
> .InvalidStateException.writeObject(InvalidStateException.java:107)
> at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> at
> sun
> .reflect
> .NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
> at
> sun
> .reflect
> .DelegatingMethodAccessorImpl
> .invoke(DelegatingMethodAccessorImpl.java:25)
> at java.lang.reflect.Method.invoke(Method.java:585)
> at
> java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:
> 917)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
> 1339)
> at
> java
> .io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:
> 1290)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> at
> java
> .io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:
> 1375)
> at
> java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:
> 1347)
> at
> java
> .io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:
> 1290)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> at
> org
> .apache
> .openejb
> .client.ThrowableArtifact.writeExternal(ThrowableArtifact.java:49)
> at
> java.io.ObjectOutputStream.writeExternalData(ObjectOutputStream.java:
> 1310)
> at
> java
> .io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:
> 1288)
> at
> java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
> at
> java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
> at
> org
> .apache.openejb.client.JNDIResponse.writeExternal(JNDIResponse.java:
> 131)
> at
> org
> .apache
> .openejb
> .server
> .ejbd.JndiRequestHandler.processRequest(JndiRequestHandler.java:143)
> ... 20 more
> --
> View this message in context: http://www.nabble.com/jpa-not-start-in-tomcat-server-tp22623668p22623668.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
>