Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
Re: [glassfish-dev] Glassfish Jakarta EE9 - No Docker images!?

Hi Arjan,

thank you very much to your answers below. Now the whole situation is much clearer to me. I was already at one point completely doubting Jakarta EE 9.  But now everything is clear. In my own open source project (https://www.imixs.org) I have migrated the namespaces to jakarta.* already. So here I am prepared well for the future.

And in my current project we start with jakarta ee8 and we can later change simply to the jakarta.* namespace during migration to new jakarta ee9 or 10 runtime.

And for jakarta ee8 there a plenty of Docker images available.

Best regards

Ralph


On 17.01.22 10:03, arjan tijms wrote:
Hi,



On Mon, Jan 17, 2022 at 12:25 AM Ralph Soika <ralph.soika@xxxxxxxxx> wrote:

Hello Arjan,

thanks for your response.

I did some short testing with the Dockerfile you mentioned (https://github.com/arjantijms/glassfish-docker/blob/main/Dockerfile) but I failed  - I think because of the missing Microprofile parts...

I guess your answer will be that is that Microprofile and Glassfish are different things ;-)

Well, not exactly ;) The reason is more that MicroProfile 5 is needed for Jakarta EE 9, since Jakarta EE 9 has the namespace change (javax to jakarta), and MicroProfile 4 is javax. MicroProfile 5 is jakarta, but MicroProfile 5 APIs were released only weeks ago, and at the moment only Open Liberty has implemented them. SmallRye and Helidon, for instance, have recent PRs or snapshots, but no release out yet.

In other words, it's still not really possible to actually bundle (and integrate) MicroProfile with GlassFish, since there simply are no official MicroProfile 5 components out yet.

 

Sure, but how can we improve the situation for new developers who want to test Jakarta EE 9? In my eyes this is an unsatisfactory situation now that they can't find a Docker image.

It looks to me that Wildfly wildfly-preview-26.0.0-final is currently the only runtime providing the new namespaces and delivering all the promised features (including microprofile 3.2). But also Wildfly is not offering a Docker Image for the preview version.

To be clear, I don't blame you or the Glassfish project here. I just want to point out that the situation is really strange. You all did so much great work behind the scene. But for nearly one year now we (the normal Jakarta EE developers who are migrating there Java EE projects) have no chance to get a working Jakarta EE 9 Docker image out of the box.

It's more or less as intended, as Jakarta EE 9 is as mentioned an intermediate release so tools and libraries can get their support for the jakarta.* namespace done. Now it maybe wasn't expected that something like MicroProfile would be so slow to adopt this, but here we are.

Also, some of servers you mentioned are actually still on Jakarta EE 8, which makes it hard for them to release a Jakarta EE 9 docker image.
 

You mentioned that EE 9 is just an intermediate version. But what did this mean? Will it take much more time now until 9.1 is available? Or will be version 10 the goal? It doesn't make sense to push the specification if there are no runtime environments available.


The intermediate version means Jakarta EE 9/9.1 is essentially Jakarta EE 8 with ONLY the namespace change. The difference between Jakarta EE 9 and 9.1 is JDK 11 support. It weren't supposed to be two versions, but we ran out of time for Jakarta EE 9 to have the TCK support JDK 11, to postponed that to an extra release that we called 9.1.

Jakarta EE 9 was released ahead of Jakarta EE 10 to prepare people (mostly library and tool vendors) for the namespace change. For instance, OmniFaces has been using it to prepare a Jakarta namespace version, and we've been pushing other projects. Some of them are older and mature projects that don't move as fast anymore, but one by one jakarta namespace versions are dripping in. So by the time EE 10 turns around, the hope is that most projects will have had a chance to release a jakarta namespace version.

Had we introduced the namespace change together with a whole lot of new features, then the feeling was that many users would not have been able to use them, since tools and libraries would not have been prepared.
 

Why I'm riding around on it has the following practical reason. I am currently in a larger enterprise project in which the question is asked whether microservices should be developed with SpringBoot or with Jakarta EE. What would you advise here? Go ahead with Jakarta EE 8 (meaning Java EE8)?

I'm of course very biased ;) For a project that has to start *now* and has to use MicroProfile it's indeed mostly Jakarta EE 8, though you could look at Open Liberty which has the 22.0.0.1-beta out and assume that by the time your product goes to production a final version of Liberty will be out (as well as, likely, other products implementing MicroProfile 5).

In the meantime we'll be looking at getting the GlassFish docker image up at the expected location.

Kind regards,
Arjan


 


Best regards

Ralph


On 16.01.22 23:09, arjan tijms wrote:
Hi,

We had this issue indeed on the radar, see https://github.com/eclipse-ee4j/glassfish/issues/22598 There's also this btw, that was more recently updated: https://hub.docker.com/u/ee4jglassfish, but now only contains the CI image.

I'm not sure who has access to https://hub.docker.com/_/glassfish That would be a good step to find out. We did had a contribution for an actual Docker image, see https://github.com/arjantijms/glassfish-docker/blob/main/Dockerfile I guess we just need to get that image at https://hub.docker.com/_/glassfish.

Ed, Ivar, do you know who has access to this?

p.s.

Regarding the promotion of EE 9; EE 9 is mostly intended as an intermediate version to prepare tool vendors.

Kind regards,
Arjan




On Sun, Jan 16, 2022 at 4:50 PM Ralph Soika <ralph.soika@xxxxxxxxx> wrote:

Hello,

I wonder why there is no Docker image for Glassfish available? Docker makes it more convenient for users to get started. The official Docker repo is totally outdated (https://hub.docker.com/_/glassfish).

Ok, there are Jakarta EE8 images from Payara and Wildfly available, but still only for Jakarta 8 and nothing working with Jakarta EE9 (including JAX-RS and EJBs)

Within the Eclipse Jakarta EE project ther is one version after the other being discussed - we are already at Jakarta EE 10 - but there is still no official server for Jakarta EE9 available. If Payara and Wildfly are for what reason ever not allowed to publish Jakarta EE9 Severs on Docker Hub than at least a Glassfish Server would be great.

If you want to start a new Project with Jakarta EE9 you have no official Docker Image at all. Why?? It looks like the community wants to do everything to ensure that Jakarta 9 does not establish itself as a new platform.

What is your opinion about this situation?


p.s:

The only way I solved this for my current dev project, is building my own Jakarta EE9 Docker image by downloading the wildfly-preview-26.0.0.Final :


###################################################################
# We are building our own jakarta 9 sever
#
# See: https://github.com/jboss-dockerfiles/wildfly
FROM jboss/base-jdk:11
# Set the WILDFLY_VERSION env variable
ENV WILDFLY_VERSION 26.0.0.Final
ENV JBOSS_HOME /opt/jboss/wildfly
USER root
# Add the WildFly distribution to /opt, and make wildfly the owner of the extracted tar content
# Make sure the distribution is available from a well-known place
RUN cd $HOME \
    && curl -L -O https://github.com/wildfly/wildfly/releases/download/$WILDFLY_VERSION/wildfly-preview-$WILDFLY_VERSION.tar.gz \
    && tar xf wildfly-preview-$WILDFLY_VERSION.tar.gz \
    && mv $HOME/wildfly-preview-$WILDFLY_VERSION $JBOSS_HOME \
    && rm wildfly-preview-$WILDFLY_VERSION.tar.gz \
    && chown -R jboss:0 ${JBOSS_HOME} \
    && chmod -R g+rw ${JBOSS_HOME}
# Ensure signals are forwarded to the JVM process correctly for graceful shutdown
ENV LAUNCH_JBOSS_IN_BACKGROUND true
USER jboss
# Expose the ports in which we're interested
EXPOSE 8080
EXPOSE 9990
COPY ./target/*.war /opt/jboss/wildfly/standalone/deployments/
# Run with microprofiles
CMD ["/opt/jboss/wi
###################################################################


Regards

Ralph



--

Imixs Software Solutions GmbH
Web: www.imixs.com Phone: +49 (0)89-452136 16
Timezone: Europe/Berlin - CET/CEST
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

_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/glassfish-dev

_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/glassfish-dev
--

Imixs Software Solutions GmbH
Web: www.imixs.com Phone: +49 (0)89-452136 16
Timezone: Europe/Berlin - CET/CEST
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

_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/glassfish-dev

_______________________________________________
glassfish-dev mailing list
glassfish-dev@xxxxxxxxxxx
To unsubscribe from this list, visit https://www.eclipse.org/mailman/listinfo/glassfish-dev
--

Imixs Software Solutions GmbH
Web: www.imixs.com Phone: +49 (0)89-452136 16
Timezone: Europe/Berlin - CET/CEST
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


Back to the top