Hi Justin

I want to write my own api to get
All queue
All topic name
Memory use by queue and topic
No of messages queue  and topic
Buffer memory

I am using embbed  artemis in our application.
So could u please guide me which api in artemis can I use to get  all
imformation .

Thank you
Niraj


On Tue, 15 Apr, 2025, 6:32 am Niraj Kumar Rohit, <nirajkumarro...@gmail.com>
wrote:

> Before we hav hornetq ,now we have to replace hornetq with artemis 2.19.1
>
> On Tue, 15 Apr, 2025, 12:22 am Justin Bertram, <jbert...@apache.org>
> wrote:
>
>> To clarify, you have a legacy product using Java 8, and you're embedding
>> ActiveMQ Artemis in it for the first time?
>>
>>
>> Justin
>>
>> On Mon, Apr 14, 2025 at 11:42 AM Niraj Kumar Rohit <
>> nirajkumarro...@gmail.com> wrote:
>>
>> > 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