...
Info | ||
---|---|---|
| ||
SOITOOLKIT_MULE_AMQ_BROKER_URL=failover:(tcp://localhost:61616) SOITOOLKIT_MULE_AMQ_MAX_REDELIVERIES=3 SOITOOLKIT_MULE_AMQ_REDELIVERY_DELAY=10000 SOITOOLKIT_MULE_AMQ_NO_OF_CONSUMERS=2 |
Exempel på logklient (implementation)
I den nationella tjänsteplattformen används en Apache Cassandra databas för att hantera loggposter, och den kontrollerande Webb-applikationen (log-analyzer) ifråga hanterar såväl aktiv övervakning som passiv loggning och aggregering av statistikräknare (sk. aktuellt läge), se vidare skltpservices på GitHub.
Exempel på en implementation som använder Apache Camel för att läsa av en meddelandekö kan se ut enligt (fragment):
...
icon | false |
---|
...
CamelContext camel = new DefaultCamelContext();
camel.addComponent("activemq", ActiveMQComponent.activeMQComponent("failover:(tcp://localhost:61616)"));
Consumer consumer = camel.getEndpoint("activemq:SOITOOLKIT.LOG.STORE").createConsumer(new Processor() {
@Override
public void process(Exchange exchange) throws Exception {
try {
// Java LogEvent class generated from XSD, unmarshal with JAXB
LogEvent le = unmarshal((String)exchange.getIn().getBody());
// do something
storeLogEvent(le);
} catch (Exception e) {
log.error("Unable to store log event", e);
throw e;
}
}
});
consumer.start();
...