You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomee.apache.org by Ralph Soika <ra...@imixs.com> on 2019/08/02 17:52:34 UTC

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

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


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

Posted by Cesar Hernandez <ce...@gmail.com>.
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 (<ra...@imixs.com>)
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 (<ra...@imixs.com>)
> > 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.

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

Posted by Ralph Soika <ra...@imixs.com>.
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 (<ra...@imixs.com>)
> 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>


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

Posted by Cesar Hernandez <ce...@gmail.com>.
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 (<ra...@imixs.com>)
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.