本文整理汇总了Java中com.ebay.jetstream.event.RetryEventCode类的典型用法代码示例。如果您正苦于以下问题:Java RetryEventCode类的具体用法?Java RetryEventCode怎么用?Java RetryEventCode使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
RetryEventCode类属于com.ebay.jetstream.event包,在下文中一共展示了RetryEventCode类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。
示例1: sendToAdviceListener
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
private void sendToAdviceListener(JetstreamEvent event, RetryEventCode code, String msg) {
try {
if (m_adviceListener != null) {
if (event.containsKey(JetstreamReservedKeys.RetryCount.toString())) {
Integer retryCount = (Integer) event.get(JetstreamReservedKeys.RetryCount.toString());
if (retryCount > 3) {
LOGGER.info( "Unable to deliver this event so dropping it.." + event.getEventId());
incrementEventDroppedCounter();
return;
}
}
m_adviceListener.retry(event, code, msg);
m_eventSentToAdviceListener.increment();
}
}
catch (Throwable e) {
m_errors.registerError(e);
LOGGER.error( e.getLocalizedMessage(), e);
}
}
示例2: sendToAdviceListener
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
/**
* @param event
* @param code
* @param msg
*/
private void sendToAdviceListener(JetstreamEvent event, RetryEventCode code, String msg) {
try {
if (getAdviceListener() != null) {
if (event.containsKey(JetstreamReservedKeys.RetryCount.toString())) {
Integer retryCount = (Integer) event.get(JetstreamReservedKeys.RetryCount.toString());
if (retryCount > getRetryCount()) {
LOGGER.info( "Unable to deliver this event so dropping it.." + event.getEventId());
m_totalEventsDropped.increment();
return;
}
}
getAdviceListener().retry(event, code, msg);
incrementAdviceListenerCount();
}
}
catch (Throwable e) {
m_errors.registerError(e);
LOGGER.debug( e.getLocalizedMessage());
}
}
示例3: execute
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
private void execute(BoundStatement q, JetstreamEvent event) {
try {
ResultSetFuture future = cassandraSession.executeAsync(q);
CallBackListener listener = new CallBackListener(future, event);
future.addListener(listener, pool);
pendingRequestCounter.incrementAndGet();
} catch (Throwable ex) {
LOGGER.error(
"Error publising metrics in MetricCassandraCollector:"
+ ex.getMessage());
cassandraErrorCount.increment();
if (event.get(JetstreamReservedKeys.MessageAffinityKey.toString()) == null) {
event.put(JetstreamReservedKeys.MessageAffinityKey.toString(),
(String) event.get(MCConstant.METRIC_NAME));
}
getAdviceListener().retry(event, RetryEventCode.MSG_RETRY,
ex.getMessage());
eventSentToAdviceListener.increment();
registerError(ex);
}
}
示例4: run
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Override
public void run() {
pendingRequestCounter.decrementAndGet();
try {
future.getUninterruptibly();
} catch (DriverException e) {
cassandraErrorCount.increment();
if (event != null) {
if (event.get(JetstreamReservedKeys.MessageAffinityKey
.toString()) == null) {
event.put(JetstreamReservedKeys.MessageAffinityKey
.toString(), (String) event
.get(MCConstant.METRIC_NAME));
}
getAdviceListener().retry(event, RetryEventCode.MSG_RETRY,
e.getMessage());
eventSentToAdviceListener.increment();
}
registerError(e);
}
}
示例5: testExceptionHandlerWithAdviceLr
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Test
public void testExceptionHandlerWithAdviceLr(){
processor.getEsperExceptionHandler().clearAlertStatus(); // This is needed , since previous testcases might have set the alert status.
Advice mockListner = mock(Advice.class);
processor.setAdviceListener(mockListner);
assertNotNull(processor.getEsperExceptionHandler());
assertNotNull(processor.getAdviceListener());
JetstreamEvent event = createBadEvent();
sendBadEvent(event);
try {
Thread.sleep(10000); // sleep for exception wait time window
} catch (InterruptedException e) {
e.printStackTrace();
}
sendBadEvent(event);
sendBadEvent(event);
assertNotNull(processor.getEsperExceptionHandler().getLastException());
//verify AdviseListener is called atleast once to post the msg
verify(mockListner, atLeastOnce()).retry(event, RetryEventCode.MSG_RETRY, processor.getEsperExceptionHandler().getLastException());
verify(mockListner, atLeastOnce()).stopReplay();
}
示例6: queueEvent
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
protected void queueEvent(EventProcessRequest eventRequest) throws EventException {
long nQueueSize = m_workQueue.getPendingRequests();
boolean bQueued = nQueueSize < getMaxWorkQueueSize();
if (bQueued) {
bQueued = m_workQueue.processRequest(eventRequest);
if (bQueued && ++nQueueSize > m_highWater.get())
m_highWater.set(nQueueSize);
}
if (!bQueued) {
if (logger.isDebugEnabled())
logger.debug( "Failed to offer event to queue, current size: " + m_workQueue.getPendingRequests());
JetstreamEvent event = eventRequest.getEvent();
if (event instanceof ShutdownJetstreamEvent == false) {
// This check is mandatory. Or else we will ending up retrying a shutdhown jetstream event
if (getAdviceListener() != null)
sendToAdviceListener(event, RetryEventCode.QUEUE_FULL, " Queue is full");
else {
incrementEventDroppedCounter();
pausePublisher(getBeanName() + " has reached upper limit " + m_workQueue.getPendingRequests()
+ " and tried to pause publisher.");
}
}
}
}
示例7: afterPropertiesSet
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Override
public void afterPropertiesSet() throws Exception {
for (RetryEventCode v : RetryEventCode.values()) {
m_counters.put(v, new LongCounter());
}
Management.addBean(getBeanName(), this);
m_messageService = MessageService.getInstance();
}
示例8: retry
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Override
public void retry(JetstreamEvent event, RetryEventCode reasonCode, String reason) {
// If retryEventCodes is null, retry all.
if (m_retryEventCodes != null && !m_retryEventCodes.contains(reasonCode)) {
super.incrementEventDroppedCounter();
return;
}
m_counters.get(reasonCode).increment();
sendEvent(event);
}
示例9: sendToAdviceListener
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
private void sendToAdviceListener(JetstreamEvent event,
RetryEventCode code, String msg) {
if (m_adviceListener != null) {
m_adviceListener.retry(event, code, msg);
incrementAdviceListenerCount();
}
}
示例10: shutDown
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Override
public void shutDown() {
m_shutdownStatus.set(true);
if (m_eventsReceivedPerSec != null)
m_eventsReceivedPerSec.destroy();
close();
if (m_pauseCache != null) {
JetstreamEvent event = null;
while (!m_pauseCache.isEmpty()) {
event = m_pauseCache.poll();
try {
super.fireSendEvent(event);
setLastEvent(event);
incrementEventSentCounter();
}
catch (EventException exception) {
registerError(exception);
sendToAdviceListener(event, RetryEventCode.PAUSE_RETRY, exception.getMessage());
}
catch (Throwable t) {
registerError(t);
LOGGER.error( t.getLocalizedMessage());
}
m_shutDownEventsSent++;
}
}
LOGGER.warn(
m_shutDownEventsSent
+ " events drained from its queue due to graceful shutdown - final events sent = " + getTotalEventsSent() +
"final total events dropped =" + getTotalEventsDropped() +
"final total events received =" + getTotalEventsReceived());
}
示例11: sendEvent
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Override
public void sendEvent(JetstreamEvent inputEevent) throws EventException {
// If remote store failed, just ignore and use local cache.
// Exception will be captured on messaging layer, suppose no exception
// throw on this code.
if (isPaused() || shutdownFlag.get()) {
super.incrementEventDroppedCounter();
return;
}
JetstreamEvent event = inputEevent;
boolean isRawEvent = !interEventTypes.contains(event.getEventType());
String ak = (String) event.get(AFFINITY_KEY);
if (ak == null) {
ak = "";
}
int queueIndex = getQueueIndex(ak);
if (isRawEvent) {
super.incrementEventRecievedCounter();
try {
event = event.clone();
} catch (CloneNotSupportedException e) {
//do nothing
}
}
if (!requestQueues[queueIndex].offer(event)) {
queueFullCounter.incrementAndGet();
if (isRawEvent && this.getAdviceListener() != null) {
this.getAdviceListener().retry(event, RetryEventCode.MSG_RETRY, "Fail to enqueue event");
} else {
super.incrementEventDroppedCounter();
}
}
}
示例12: sendEvent
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
@Override
public void sendEvent(JetstreamEvent event) throws EventException {
if (isPaused() || shutdownFlag.get()) {
super.incrementEventDroppedCounter();
return;
}
if (MCCounterHelper.isGroupByCounterEvent(event)) {
if (!connected.get()) {
if (config.getEnableCassandra()) {
if (event.get(JetstreamReservedKeys.MessageAffinityKey
.toString()) == null) {
event.put(JetstreamReservedKeys.MessageAffinityKey
.toString(), (String) event
.get(MCConstant.METRIC_NAME));
}
getAdviceListener().retry(event, RetryEventCode.MSG_RETRY,
"Cassandra Down");
eventSentToAdviceListener.increment();
} else {
super.incrementEventDroppedCounter();
}
return;
}
incrementEventRecievedCounter();
m_lastEvent = event;
publishAsync(event);
}
}
示例13: sendToRetryQueue
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
private void sendToRetryQueue(JetstreamEvent event) {
m_adviceListener.retry(event, RetryEventCode.PAUSE_RETRY, this.getClass().getSimpleName() + " IS PAUSED");
incrementEventSentToAdviceListener();
}
示例14: queueEvent
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
/**
* - When Exception reaches beyond threshold, don't submit event to queue. Drop the event.
*/
protected void queueEvent(JetstreamEvent event) throws EventException {
if (getEsperExceptionHandler() != null) {
if (getEsperExceptionHandler().IsInException()) {
if (!getEsperExceptionHandler().isAlertPosted()) {
postAlert(getEsperExceptionHandler().getLastException(),
AlertStrength.RED);
getEsperExceptionHandler().setAlertPostedStatus(true);
if (logger.isDebugEnabled())
logger
.debug(
"Esper Exception threshold reached...Sending Alert..");
// if we have an advice listener we will advice them to stop replay
// they will be adviced to start replay when new EPL is deployed
if(getAdviceListener() != null)
getAdviceListener().stopReplay();
}
if(getAdviceListener() != null){
getAdviceListener().retry(event, RetryEventCode.MSG_RETRY,getEsperExceptionHandler().getLastException());
}else{
//AdviseListener not available. no further submission to engine... drop it..
if (logger.isDebugEnabled())
logger.debug(
"Esper Exception threshold reached...Dropping events");
incrementEventDroppedCounter();
}
} else {
queueEventInternal(event);
}
} else {
queueEventInternal(event);
}
}
示例15: retry
import com.ebay.jetstream.event.RetryEventCode; //导入依赖的package包/类
public void retry(JetstreamEvent event, RetryEventCode reasonCode, String reason) {
LOGGER.info("********** Retry Event - " + event.toString() + " --- reasonCode = " + reasonCode.name()
+ " --- reason = " + reason); //KEEPME
}