Hi Justin

Using 2.19.1 because  product is legacy and it is on java 8.

On Mon, 14 Apr, 2025, 6:42 pm Justin Bertram, <jbert...@apache.org> wrote:

> > i want to  enable the web console in artemis 2.19.1.
>
> I answered a question similar to this on Stack Overflow [1] awhile back
> that should give you a good idea of what's needed.
>
> Aside from that, is there a specific reason you're using 2.19.1? That
> version was released in June of 2022 almost 3 years ago now. There have
> been 25 releases, over 2,300 commits, and hundreds of Jiras resolved since
> then.
>
>
> Justin
>
> [1]
>
> https://stackoverflow.com/questions/76670206/embedded-activemq-artemis-doesnt-show-web-console
>
> On Mon, Apr 14, 2025 at 2:25 AM Niraj Kumar Rohit <
> nirajkumarro...@gmail.com>
> wrote:
>
> > Hi  justin
> >
> > Thanks , I am able to achieve  HA  by xml  as well as   API also. I was
> > missing the connector  configuration.
> >
> >  New Requirement:-
> > i want to  enable the web console in artemis 2.19.1.  What are the steps
> I
> > need to do.
> > I am using  embbededActivemq.java to start the artemis.
> >
> > Thanks
> > Niraj
> >
> >
> >
> > On Wed, Apr 9, 2025 at 8:40 AM Justin Bertram <jbert...@apache.org>
> wrote:
> >
> > > In the code you shared I don't see any evidence that you're properly
> > > configuring your brokers to cluster. A pair of brokers using
> replication
> > > need a valid cluster to discover each other. This is noted in the
> > > documentation [1] which states, "A proper cluster configuration is
> > required
> > > as a pre-requisite for an HA configuration."
> > >
> > > Instead of attempting to configure the broker via the configuration API
> > > would it be possible for you to put a broker.xml file on your
> classpath?
> > > That would save you a lot of time and effort, and it would be much more
> > > flexible if you ever needed to change the configuration.
> > >
> > > In any case, take a look at one of the replicated examples [2] as a
> > > template for what you need to configure.
> > >
> > >
> > > Justin
> > >
> > > [1]
> > >
> > >
> >
> https://activemq.apache.org/components/artemis/documentation/latest/ha.html#ha-policies
> > > [2]
> > >
> > >
> >
> https://github.com/apache/activemq-artemis-examples/tree/main/examples/features/ha
> > >
> > > On Tue, Apr 8, 2025 at 9:07 PM Niraj Kumar Rohit <
> > > nirajkumarro...@gmail.com>
> > > wrote:
> > >
> > > > Hi
> > > >
> > > >
> > > > USE CASE:--
> > > > 1.We have one app which run in two server DP1 AND DP2
> > > > 2.Both DP1 and DP2 using embedded EmbeddedActiveMQ.java API to run
> > apache
> > > > activemq artemis.
> > > > 3.if i  start  DP1 1st then it is become live server and  DP2 become
> > > >  backup and vice versa
> > > > 4.Now i shutdown DP1  then  DP2 should live  and as i start DP1 it
> > beahve
> > > > as backup  till DP2 not fail.
> > > > 5.in this case of artemis after fail of DP1,   DP2 is not behaving
> as
> > > live
> > > > server. because after failover of  DP1 , DP2 is not get activate .i
> am
> > > > checking  like this and always traped into loop nver come out from
> the
> > > > loop.
> > > >
> > > >  while
> > > >
> > (!jmsServer.getActiveMQServer().waitForActivation(30L,TimeUnit.SECONDS))
> > > {
> > > >             Thread.sleep(100);
> > > >
> > > >         }
> > > > 6.API using for live and backup  server
> > > >
> > > >         if (isCurrentServerLive){
> > > >             ReplicatedPolicyConfiguration haPolicy = new
> > > > ReplicatedPolicyConfiguration();
> > > >             haPolicy.setGroupName("bsm-back-up-group");
> > > >             haPolicy.setInitialReplicationSyncTimeout(120000);
> > > >             haPolicy.setCheckForLiveServer(true);  // Critical for
> > > failover
> > > > detection
> > > >             haPolicy.setQuorumSize(1);  // Minimum nodes required
> > > >             configuration.setHAPolicyConfiguration(haPolicy);
> > > >          }else{
> > > >             ReplicaPolicyConfiguration haPolicy = new
> > > > ReplicaPolicyConfiguration();
> > > >             haPolicy.setGroupName("bsm-back-up-group");
> > > >             haPolicy.setInitialReplicationSyncTimeout(120000);
> > > >             haPolicy.setRestartBackup(false);  // Don't restart when
> > live
> > > > exists
> > > >             haPolicy.setAllowFailBack(true);  // Allow primary to
> > resume
> > > >             configuration.setHAPolicyConfiguration(haPolicy);;
> > > >
> > > >           }
> > > >
> > > >
> > > > 7.even listern is also not getting  call , listner implemation  in
> > backup
> > > > side
> > > > public void  registerListener(boolean isCurrentServerLive) {
> > > >         LOG.info("kutt registerListener "+(!isCurrentServerLive?"back
> > > going
> > > > to register Listner":"live server not going to register"));
> > > >         if (!isCurrentServerLive) {
> > > >             final ActiveMQServer artemisServer =
> > > > jmsServer.getActiveMQServer();
> > > >             LOG.info(" registerListener done");
> > > >             artemisServer.registerActivateCallback(new
> > ActivateCallback()
> > > >
> > > >             {
> > > >                 @Override
> > > >                 public void preActivate() {
> > > >
> > > >                     LOG.info(" registerListener preActivate()
> called");
> > > >                 }
> > > >
> > > >                 @Override
> > > >                 public void deActivate() {
> > > >                     LOG.info(" registerListener deActivate()
> called");
> > > >                 }
> > > >
> > > >                 @Override
> > > >                 public void activationComplete() {
> > > >                     LOG.info(" registerListener activationComplete()
> > > > called");
> > > >                 }
> > > >
> > > >
> > > >                 @Override
> > > >                 public void activated() {
> > > >                     LOG.info(" registerListener activated() called");
> > > >
> > > >
> > > >                     // Below changes to check if the live bus is
> really
> > > > active.
> > > >                     // read the server state initially see the last
> > > > interval
> > > >                     // loop of 2 times of interval
> > > >                     // wait of interval for 1 second
> > > >                     // read the state and see if the state changes
> > > >                     // if there is change then without changing the
> > live
> > > > bus then restart
> > > >                     // if there is no change then update the live
> > server
> > > > and then restart
> > > >                     try {
> > > >                         long busState = busData.getServerState();
> > > >                         int maxChecks = 10;
> > > >                         boolean isLiveBusActive = false;
> > > >
> > > >                         synchronized (this) {
> > > >                             while (!isLiveBusActive && (maxChecks >
> > 0)) {
> > > >                                 wait(1000L);
> > > >
> > > >                                 isLiveBusActive = (busState !=
> > > > busData.getServerState());
> > > >                                 LOG.info(" listerner called now on
> > > failover
> > > >  with state of backup"+isLiveBusActive);
> > > >                                 maxChecks--;
> > > >                             }
> > > >                         }
> > > >
> > > >                         if (!isLiveBusActive)
> > > >                             busData.setLiveServer(socket);
> > > >                     } catch (Exception e) {
> > > >                         LOG.info("Failed to update live server after
> > > backup
> > > > server got activated", e);
> > > >                     }
> > > >
> > > >                     LOG.info("restarting backup server before clients
> > > fail
> > > > over");
> > > >                      try{
> > > >                      HornetQRunner.main(new String[]{"strat"});
> > > >                      }catch(Exception e){
> > > >                          LOG.info("faled to satrt");
> > > >                     }
> > > >
> > > >                     // Throwing IllegalStateException to make sure
> the
> > > > calling old jmsserver doesn't finish it's failover
> > > >                     // since it had been stopped and a new one has
> been
> > > > started,
> > > >                     throw new IllegalStateException("Need to restart
> > > > instead of activation");
> > > >                 }
> > > >             });
> > > >         }
> > > >
> > > >     }
> > > >
> > > >
> > > >
> > > >
> > > > i need your suggestion to make it work . and thanks in advance for
> your
> > > > help.
> > > >
> > > > its very urgent  our dead line is very near
> > > >
> > > > Thanks
> > > > Niraj
> > > >
> > >
> >
>

Reply via email to