Unable to deploy Java EE war on TomEE 8 M2 - Predeployment of PersistenceUnit failed.

classic Classic list List threaded Threaded
4 messages Options
Reply | Threaded
Open this post in threaded view
|

Unable to deploy Java EE war on TomEE 8 M2 - Predeployment of PersistenceUnit failed.

Ralph Soika
Hi,

I am running TomEE 8.0.0-M2/M3 on Docker official image. And I try to
deploy my Java EE application with a docker file like this:

FROM tomee:11-jre-8.0.0-M3-microprofile
COPY ./src/docker/configuration/tomee/eclipselink.jar /usr/local/tomee/lib
COPY ./src/docker/configuration/tomee/postgresql-9.4.1212.jar
/usr/local/tomee/lib
COPY ./src/docker/configuration/tomee/tomee.xml /usr/local/tomee/conf
COPY ./target/imixs-jsf-example-*.war /usr/local/tomee/webapps/

I think the configuration is fine and my DataSource resource is correct
and successful connected.

But during deployment TomEE throws the following kind of exceptions:


.....SEVERE [main] jdk.internal.reflect.NativeMethodAccessorImpl.invoke
Error destroying child
imixssample-app_1  |     org.apache.catalina.LifecycleException: An
invalid Lifecycle transition was attempted ([before_destroy]) for
component
[StandardEngine[Catalina].StandardHost[localhost].StandardContext[/imixs-jsf-example-5.0.0]]
in state [STARTING_PREP]

......

....SEVERE [main]
org.apache.openejb.assembler.classic.Assembler.destroyApplication
undeployException original cause
imixssample-app_1  |     java.lang.Exception: deployment not found:
ModelService

.....

.....Exception Description: Predeployment of PersistenceUnit
[org.imixs.workflow.jpa] failed.
imixssample-app_1  | Internal Exception: java.lang.RuntimeException:
java.nio.file.NoSuchFileException:
/usr/local/tomee/webapps/imixs-jsf-example-5.0.0/WEB-INF/classes/lib/imixs-workflow-engine-5.0.3.jar


The strange thing which I do not understand is the NoSuchFileException
in the directory ../WEB-INF/classes/lib/*

All jars containing the JPA Entity Classes are available on ../WEB-INF/lib/*

Why does my TomEE try to lookup the jar files under /WEB-INF/classes/lib/ ??

I think this is the wrong location.

Can any body give me a hint what TomEE tries to do during my deployment.

My Application contains EJBs, JPA and Microprofile Classes. And I am
using PostgreSQL with EclipseLink


Thanks for any help


===
Ralph

Reply | Threaded
Open this post in threaded view
|

Re: Unable to deploy Java EE war on TomEE 8 M2 - Predeployment of PersistenceUnit failed.

Cesar Hernandez
Hi Ralph,

I haven't seen this exact issue before but I have a couple of questions:

1) Did you try removing docker from the setup to validate if this is
related to the docker image? This means deploying your application using
tar/zip file TomEE M3 distribution intead of  docker container.

2) Did you try the above step but using Java 8 instead of Java 11 used by
the TomEE docker image?

3) When you wrote "TomEE 8.0.0-M2/M3 on Docker official image" does this
means TomEE 8.0.0-M1 Docker image works without issues?


El vie., 2 ago. 2019 a las 11:52, Ralph Soika (<[hidden email]>)
escribió:

> Hi,
>
> I am running TomEE 8.0.0-M2/M3 on Docker official image. And I try to
> deploy my Java EE application with a docker file like this:
>
> FROM tomee:11-jre-8.0.0-M3-microprofile
> COPY ./src/docker/configuration/tomee/eclipselink.jar /usr/local/tomee/lib
> COPY ./src/docker/configuration/tomee/postgresql-9.4.1212.jar
> /usr/local/tomee/lib
> COPY ./src/docker/configuration/tomee/tomee.xml /usr/local/tomee/conf
> COPY ./target/imixs-jsf-example-*.war /usr/local/tomee/webapps/
>
> I think the configuration is fine and my DataSource resource is correct
> and successful connected.
>
> But during deployment TomEE throws the following kind of exceptions:
>
>
> .....SEVERE [main] jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> Error destroying child
> imixssample-app_1  |     org.apache.catalina.LifecycleException: An
> invalid Lifecycle transition was attempted ([before_destroy]) for
> component
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/imixs-jsf-example-5.0.0]]
>
> in state [STARTING_PREP]
>
> ......
>
> ....SEVERE [main]
> org.apache.openejb.assembler.classic.Assembler.destroyApplication
> undeployException original cause
> imixssample-app_1  |     java.lang.Exception: deployment not found:
> ModelService
>
> .....
>
> .....Exception Description: Predeployment of PersistenceUnit
> [org.imixs.workflow.jpa] failed.
> imixssample-app_1  | Internal Exception: java.lang.RuntimeException:
> java.nio.file.NoSuchFileException:
>
> /usr/local/tomee/webapps/imixs-jsf-example-5.0.0/WEB-INF/classes/lib/imixs-workflow-engine-5.0.3.jar
>
>
> The strange thing which I do not understand is the NoSuchFileException
> in the directory ../WEB-INF/classes/lib/*
>
> All jars containing the JPA Entity Classes are available on
> ../WEB-INF/lib/*
>
> Why does my TomEE try to lookup the jar files under /WEB-INF/classes/lib/
> ??
>
> I think this is the wrong location.
>
> Can any body give me a hint what TomEE tries to do during my deployment.
>
> My Application contains EJBs, JPA and Microprofile Classes. And I am
> using PostgreSQL with EclipseLink
>
>
> Thanks for any help
>
>
> ===
> Ralph
>
>

--
Atentamente:
César Hernández.
Reply | Threaded
Open this post in threaded view
|

Re: Unable to deploy Java EE war on TomEE 8 M2 - Predeployment of PersistenceUnit failed.

Ralph Soika
Hi Cesar,

thanks for your answer.

1.) no I have not yet tried it without docker in a plain TomEE installation

2.) I also think about that the issue could be related with jdk11.

3.) What my application requires is Java EE7 with Microprofile (incl.
Health-API). TomEE8-M3 seems the only build so far to fulfill these
requirements. I personally would prefer JDK8 and maybe its worth to try
a direct manual installation because the docker images are only
available with JDK11.

I work a lot with Wildfly and Docker building my own Images. And there I
noticed that JDK11 did not work as well, but JDK8 or JDK10 worked. So
maybe there is something with JDK 11....

I hoped that you have seen the issue before. I am not familiar with
TomEE, but is there a kind of debugging option so that we can better see
where exactly the problem comes form. It is strange because first the
server notice all EJBs and than it complains during the JPA setup that
it can not see the package containing the Entities. In all my other
setups (Glassfish, OpenLiberty, Wildfy) I also use EclipseLink so I
don't think that the problem is related to EclipseLink..



Best regards

Ralph



On 06.08.19 00:04, Cesar Hernandez wrote:

> Hi Ralph,
>
> I haven't seen this exact issue before but I have a couple of questions:
>
> 1) Did you try removing docker from the setup to validate if this is
> related to the docker image? This means deploying your application using
> tar/zip file TomEE M3 distribution intead of  docker container.
>
> 2) Did you try the above step but using Java 8 instead of Java 11 used by
> the TomEE docker image?
>
> 3) When you wrote "TomEE 8.0.0-M2/M3 on Docker official image" does this
> means TomEE 8.0.0-M1 Docker image works without issues?
>
>
> El vie., 2 ago. 2019 a las 11:52, Ralph Soika (<[hidden email]>)
> escribió:
>
>> Hi,
>>
>> I am running TomEE 8.0.0-M2/M3 on Docker official image. And I try to
>> deploy my Java EE application with a docker file like this:
>>
>> FROM tomee:11-jre-8.0.0-M3-microprofile
>> COPY ./src/docker/configuration/tomee/eclipselink.jar /usr/local/tomee/lib
>> COPY ./src/docker/configuration/tomee/postgresql-9.4.1212.jar
>> /usr/local/tomee/lib
>> COPY ./src/docker/configuration/tomee/tomee.xml /usr/local/tomee/conf
>> COPY ./target/imixs-jsf-example-*.war /usr/local/tomee/webapps/
>>
>> I think the configuration is fine and my DataSource resource is correct
>> and successful connected.
>>
>> But during deployment TomEE throws the following kind of exceptions:
>>
>>
>> .....SEVERE [main] jdk.internal.reflect.NativeMethodAccessorImpl.invoke
>> Error destroying child
>> imixssample-app_1  |     org.apache.catalina.LifecycleException: An
>> invalid Lifecycle transition was attempted ([before_destroy]) for
>> component
>> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/imixs-jsf-example-5.0.0]]
>>
>> in state [STARTING_PREP]
>>
>> ......
>>
>> ....SEVERE [main]
>> org.apache.openejb.assembler.classic.Assembler.destroyApplication
>> undeployException original cause
>> imixssample-app_1  |     java.lang.Exception: deployment not found:
>> ModelService
>>
>> .....
>>
>> .....Exception Description: Predeployment of PersistenceUnit
>> [org.imixs.workflow.jpa] failed.
>> imixssample-app_1  | Internal Exception: java.lang.RuntimeException:
>> java.nio.file.NoSuchFileException:
>>
>> /usr/local/tomee/webapps/imixs-jsf-example-5.0.0/WEB-INF/classes/lib/imixs-workflow-engine-5.0.3.jar
>>
>>
>> The strange thing which I do not understand is the NoSuchFileException
>> in the directory ../WEB-INF/classes/lib/*
>>
>> All jars containing the JPA Entity Classes are available on
>> ../WEB-INF/lib/*
>>
>> Why does my TomEE try to lookup the jar files under /WEB-INF/classes/lib/
>> ??
>>
>> I think this is the wrong location.
>>
>> Can any body give me a hint what TomEE tries to do during my deployment.
>>
>> My Application contains EJBs, JPA and Microprofile Classes. And I am
>> using PostgreSQL with EclipseLink
>>
>>
>> Thanks for any help
>>
>>
>> ===
>> Ralph
>>
>>
--

*Imixs Software Solutions GmbH*
*Web:* www.imixs.com <http://www.imixs.com> *Phone:* +49 (0)89-452136 16
*Office:* Agnes-Pockels-Bogen 1, 80992 München
Registergericht: Amtsgericht Muenchen, HRB 136045
Geschaeftsführer: Gaby Heinle u. Ralph Soika

*Imixs* is an open source company, read more: www.imixs.org
<http://www.imixs.org>

Reply | Threaded
Open this post in threaded view
|

Re: Unable to deploy Java EE war on TomEE 8 M2 - Predeployment of PersistenceUnit failed.

Cesar Hernandez
Hi Ralph,

Replying inline:

 is there a kind of debugging option so that we can better see where
> exactly the problem comes from.

Logging in TomEE is configured using the conf/logging.properties file, you
can adjust the handlers levels to see if you get more information when the
issue arises.


In all my other setups (Glassfish, OpenLiberty, Wildfy) I also use
> EclipseLink so I don't think that the problem is related to EclipseLink..

Hmm, base on http://tomee.apache.org/comparison.html , the MicroProfile
distribution of TomEE is based on TomEE JAX-RS which doesn't come
with EclipseLink as the distribution TomEE PluME does.

Does your project pom file has EclipseLink dependencies with provided or
compiled (default) scope?

I now you are using MicroProfile but another quick test for you to execute
could be bypassing your MicroProfile related code and try to deploy your
application in TomEE PluME to check that your EclipseLink code is working
as expected.


El mar., 6 ago. 2019 a las 2:09, Ralph Soika (<[hidden email]>)
escribió:

> Hi Cesar,
>
> thanks for your answer.
>
> 1.) no I have not yet tried it without docker in a plain TomEE installation
>
> 2.) I also think about that the issue could be related with jdk11.
>
> 3.) What my application requires is Java EE7 with Microprofile (incl.
> Health-API). TomEE8-M3 seems the only build so far to fulfill these
> requirements. I personally would prefer JDK8 and maybe its worth to try
> a direct manual installation because the docker images are only
> available with JDK11.
>
> I work a lot with Wildfly and Docker building my own Images. And there I
> noticed that JDK11 did not work as well, but JDK8 or JDK10 worked. So
> maybe there is something with JDK 11....
>
> I hoped that you have seen the issue before. I am not familiar with
> TomEE, but is there a kind of debugging option so that we can better see
> where exactly the problem comes form. It is strange because first the
> server notice all EJBs and than it complains during the JPA setup that
> it can not see the package containing the Entities. In all my other
> setups (Glassfish, OpenLiberty, Wildfy) I also use EclipseLink so I
> don't think that the problem is related to EclipseLink..
>
>
>
> Best regards
>
> Ralph
>
>
>
> On 06.08.19 00:04, Cesar Hernandez wrote:
> > Hi Ralph,
> >
> > I haven't seen this exact issue before but I have a couple of questions:
> >
> > 1) Did you try removing docker from the setup to validate if this is
> > related to the docker image? This means deploying your application using
> > tar/zip file TomEE M3 distribution intead of  docker container.
> >
> > 2) Did you try the above step but using Java 8 instead of Java 11 used by
> > the TomEE docker image?
> >
> > 3) When you wrote "TomEE 8.0.0-M2/M3 on Docker official image" does this
> > means TomEE 8.0.0-M1 Docker image works without issues?
> >
> >
> > El vie., 2 ago. 2019 a las 11:52, Ralph Soika (<[hidden email]>)
> > escribió:
> >
> >> Hi,
> >>
> >> I am running TomEE 8.0.0-M2/M3 on Docker official image. And I try to
> >> deploy my Java EE application with a docker file like this:
> >>
> >> FROM tomee:11-jre-8.0.0-M3-microprofile
> >> COPY ./src/docker/configuration/tomee/eclipselink.jar
> /usr/local/tomee/lib
> >> COPY ./src/docker/configuration/tomee/postgresql-9.4.1212.jar
> >> /usr/local/tomee/lib
> >> COPY ./src/docker/configuration/tomee/tomee.xml /usr/local/tomee/conf
> >> COPY ./target/imixs-jsf-example-*.war /usr/local/tomee/webapps/
> >>
> >> I think the configuration is fine and my DataSource resource is correct
> >> and successful connected.
> >>
> >> But during deployment TomEE throws the following kind of exceptions:
> >>
> >>
> >> .....SEVERE [main] jdk.internal.reflect.NativeMethodAccessorImpl.invoke
> >> Error destroying child
> >> imixssample-app_1  |     org.apache.catalina.LifecycleException: An
> >> invalid Lifecycle transition was attempted ([before_destroy]) for
> >> component
> >>
> [StandardEngine[Catalina].StandardHost[localhost].StandardContext[/imixs-jsf-example-5.0.0]]
> >>
> >> in state [STARTING_PREP]
> >>
> >> ......
> >>
> >> ....SEVERE [main]
> >> org.apache.openejb.assembler.classic.Assembler.destroyApplication
> >> undeployException original cause
> >> imixssample-app_1  |     java.lang.Exception: deployment not found:
> >> ModelService
> >>
> >> .....
> >>
> >> .....Exception Description: Predeployment of PersistenceUnit
> >> [org.imixs.workflow.jpa] failed.
> >> imixssample-app_1  | Internal Exception: java.lang.RuntimeException:
> >> java.nio.file.NoSuchFileException:
> >>
> >>
> /usr/local/tomee/webapps/imixs-jsf-example-5.0.0/WEB-INF/classes/lib/imixs-workflow-engine-5.0.3.jar
> >>
> >>
> >> The strange thing which I do not understand is the NoSuchFileException
> >> in the directory ../WEB-INF/classes/lib/*
> >>
> >> All jars containing the JPA Entity Classes are available on
> >> ../WEB-INF/lib/*
> >>
> >> Why does my TomEE try to lookup the jar files under
> /WEB-INF/classes/lib/
> >> ??
> >>
> >> I think this is the wrong location.
> >>
> >> Can any body give me a hint what TomEE tries to do during my deployment.
> >>
> >> My Application contains EJBs, JPA and Microprofile Classes. And I am
> >> using PostgreSQL with EclipseLink
> >>
> >>
> >> Thanks for any help
> >>
> >>
> >> ===
> >> Ralph
> >>
> >>
> --
>
> *Imixs Software Solutions GmbH*
> *Web:* www.imixs.com <http://www.imixs.com> *Phone:* +49 (0)89-452136 16
> *Office:* Agnes-Pockels-Bogen 1, 80992 München
> Registergericht: Amtsgericht Muenchen, HRB 136045
> Geschaeftsführer: Gaby Heinle u. Ralph Soika
>
> *Imixs* is an open source company, read more: www.imixs.org
> <http://www.imixs.org>
>
>

--
Atentamente:
César Hernández.