Commit 529efcef authored by Andre Freyssinet's avatar Andre Freyssinet

Adds an example with explicit use of JMSConnectorCheck component.

Bug fix: the return value is now false if the message is not received.
parent 2ffe2c67
......@@ -299,10 +299,12 @@ public final class JMSConnectorCheck {
setStatus(getStatus()+1);
setLatencyPubSub(-1L);
errorMsg = "Message not received";
return false;
} else {
retryStatusCount = 0;
setLatencyPubSub(dt / 1000000L);
errorMsg = null;
return true;
}
} catch (JMSException exc) {
failures += 1;
......@@ -324,6 +326,25 @@ public final class JMSConnectorCheck {
logger.log(BasicLevel.WARN, "JMSConnectorStatus.check(" + cfname + "): Error closing connection.");
}
}
return true;
}
@Override
public String toString() {
StringBuilder builder = new StringBuilder();
builder.append("JMSConnectorCheck [")
.append("cfname=").append(cfname)
.append(", user=").append(user)
.append(", pass=****")
.append(", qname=").append(qname)
.append(", timeout=").append(timeout)
.append("] -> [")
.append("retryStatusCount=").append(retryStatusCount)
.append(", nbtry=").append(nbtry)
.append(", errorMsg=").append(errorMsg)
.append(", lastConnectTime=").append(lastConnectTime)
.append(", latencyConnect=").append(latencyConnect)
.append(", latencyPubSub=").append(latencyPubSub)
.append("]");
return builder.toString();
}
}
......@@ -701,6 +701,17 @@
</java>
</target>
<!-- Check the classic configuration -->
<target name="classic_check" depends="simple_init"
description="--> Runs JMSConnectorCheck">
<java classname="classic.JMSCheck"
failonerror="no" fork="yes"
dir="${run.dir}">
<classpath path="${project.class.path}"/>
<!-- jvmarg line="-Xdebug -Xnoagent -Djava.compiler=NONE -Xrunjdwp:transport=dt_socket,server=y" / -->
</java>
</target>
<!-- Setup the classic configuration -->
<target name="classic_adminxml" depends="simple_init"
description="--> Runs XML administration script for classic sample (centralized architecture)">
......
/*
* JORAM: Java(TM) Open Reliable Asynchronous Messaging
* Copyright (C) 2021 ScalAgent Distributed Technologies
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307
* USA.
*
* Initial developer(s): Frederic Maistre (INRIA)
* Contributor(s): ScalAgent Distributed Technologies
*/
package classic;
import javax.naming.InitialContext;
import org.ow2.joram.tools.jmscheck.JMSConnectorCheck;
/**
* Monitors the queue.
*/
public class JMSCheck {
public static void main(String[] args) throws Exception {
JMSConnectorCheck check = new JMSConnectorCheck("cf",
new InitialContext(),
"anonymous",
"anonymous",
"healthCheckQueue",
1);
for (int i=0; i<10; i++) {
System.out.println("check=" + check.check());
System.out.println(check);
Thread.sleep(1000);
}
}
}
\ No newline at end of file
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment