Yes, the upgrade is removing older Java version, however this is only for minor 
versions. In theory internets say that it should depend on software if that's 
safe or not 
https://community.oracle.com/tech/developers/discussion/4084875/upgrading-jvm-while-application-server-running
For example in Jenkins case it's not safe 
https://stackoverflow.com/questions/35758284/does-tomcat-need-to-be-restarted-after-a-jdk-is-updated
For Artemis I did this multiple time and it always seemed fine.

I see that now it's more complicated to bring everything up, so I guess I will 
make a maintenance window on production and restart the broker completely.

I will test my theory regarding JDK upgrade and console restart a little bit 
later and report the findings.

-- 
    Vilius

-----Original Message-----
From: Justin Bertram <jbert...@apache.org> 
Sent: Wednesday, January 11, 2023 11:20 PM
To: users@activemq.apache.org
Subject: Re: reloading TLS certificate for Jolokia

> Could it be that our Artemis instance is still using older JDK which
exist only in memory, and console "inherits" that by trying to start itself, 
and then fails?

I don't have any experience with such a use-case so it's hard to say. The 
"console" isn't fundamentally different from any other part of the broker.
It's all just Java classes. Therefore, I wouldn't expect such a failure to be 
isolated there. If the rest of the broker is working fine I would expect the 
embedded web server to work fine as well.

Are you _removing_ the version of Java that the broker is using during the 
upgrade or are you just installing a new version alongside the existing 
version? If the former, that seems dangerous in my opinion.

> Is Artemis supposed to reload management.xml automatically...

No. The contents of management.xml are not reloaded automatically.

> ...do we have a chicken-egg problem now; cannot enable JMX because JMX 
> is
down?

You do have a chicken-egg problem with using JMX remotely. However, you could 
still theoretically use it locally through a direct JVM connection.

You also still have the option of using management messages [1]. You can find 
an example of their use in the examples/features/standard/management
directory shipped with the broker.


Justin

[1]
https://activemq.apache.org/components/artemis/documentation/latest/management.html#using-management-message-api



On Wed, Jan 11, 2023 at 2:49 PM Vilius Šumskas <vilius.sums...@rivile.lt>
wrote:

> No, I don't see any of these messages in the log. I have posted full 
> log what I see.
>
> This is production system so getting threadump is not so easy, but I 
> have decided to test this on our testing environment which runs newest 2.27.1.
> Running restartEmbeddedWebServer() via Hawtio console on that 
> environment worked just fine.
>
> I have remembered one thing though. We have upgraded OpenJDK on our 
> production environment some time ago, but never restarted Artemis. 
> Usually this doesn't produce any issues, but if we decide to restart 
> Artemis after JDK upgrade it usually produces some errors about java 
> binaries cannot be found. As if Artemis was still loaded on older JDK 
> version and stopping it unloads these non-existing older JDK binaries from 
> memory.
> Could it be that our Artemis instance is still using older JDK which 
> exist only in memory, and console "inherits" that by trying to start 
> itself, and then fails?
>
> Anyway, I see that JMX Remote is disabled by default. I have enabled 
> JMX connector in management.xml, but I don't see port 1099 coming up. 
> Is Artemis supposed to reload management.xml automatically, or do we 
> have a chicken-egg problem now; cannot enable JMX because JMX is down?
>
> --
>     Vilius
>
> -----Original Message-----
> From: Justin Bertram <jbert...@apache.org>
> Sent: Wednesday, January 11, 2023 6:46 PM
> To: users@activemq.apache.org
> Subject: Re: reloading TLS certificate for Jolokia
>
> Those exceptions look internal to Jetty. I wouldn't expect them to 
> necessarily be a problem for the restart process. Perhaps it was 
> handling a request at the moment you tried to restart it.
>
> Do you ever see any of these messages in the log:
>
>   Stopped embedded web server
>
> or
>
>   Embedded web server not restarted in x milliseconds
>
> or
>
>   Embedded web server restart failed
>
> If not, could you perhaps get a thread dump?
>
> In any event, if you want to start the embedded web server you can do 
> so using JMX directly (e.g. via JConsole). Just invoke the 
> startEmbeddedWebServer operation on the ActiveMQServerControl MBean.
>
>
> Justin
>
> On Wed, Jan 11, 2023 at 6:41 AM Vilius Šumskas 
> <vilius.sums...@rivile.lt>
> wrote:
>
> > Well, I have found " restartEmbeddedWebServer()" and tried to use 
> > that from the console, however now the console went down and doesn't come 
> > up.
> > The logs say: https://p.defau.lt/?C6ssFYW0JSJiZX1yszP0yQ
> >
> > Jolokia API is also down now. Is there a way to start embedded web 
> > server without restarting the broker?
> >
> > --
> >     Vilius
> >
> > -----Original Message-----
> > From: Vilius Šumskas <vilius.sums...@rivile.lt>
> > Sent: Wednesday, January 11, 2023 1:55 PM
> > To: users@activemq.apache.org
> > Subject: reloading TLS certificate for Jolokia
> >
> > Hi,
> >
> > since because of https://issues.apache.org/jira/browse/ARTEMIS-3117
> > ActiveMQ Artemis doesn‘t reload TLS certificates automatically 
> > anymore I‘m wondering, what is the correct way to reload 
> > certificates for embedded Jolokia Console?
> >
> > I have reloaded keystore for acceptors via console using reload() on 
> > „artemis-ssl“ acceptor, but I just cannot figure out a way to reload 
> > it for console itself.
> >
> > --
> >    Best Regards,
> >
> >     Vilius Šumskas
> >     Rivile
> >     IT manager
> >
> >
>

Reply via email to