当前位置: 首页>>代码示例>>Java>>正文


Java CacheEntryEvent类代码示例

本文整理汇总了Java中javax.cache.event.CacheEntryEvent的典型用法代码示例。如果您正苦于以下问题:Java CacheEntryEvent类的具体用法?Java CacheEntryEvent怎么用?Java CacheEntryEvent使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。


CacheEntryEvent类属于javax.cache.event包,在下文中一共展示了CacheEntryEvent类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: evaluate

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
@Override
public boolean evaluate(CacheEntryEvent<? extends String, ? extends Integer> event)
    throws CacheEntryListenerException
{
    switch (event.getEventType())
    {
        case EXPIRED:
            return true;

        case REMOVED:
            return true;

        case UPDATED:
            return true;
    }

    return false;
}
 
开发者ID:ocafebabe,项目名称:guava-jcache,代码行数:19,代码来源:GuavaCacheEventTest.java

示例2: createRegistry

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
@Override
protected JndiRegistry createRegistry() throws Exception {
    JndiRegistry registry = super.createRegistry();
    registry.bind("myFilter", new CacheEntryEventFilter<Object, Object>() {
        @Override
        public boolean evaluate(CacheEntryEvent<?, ?> event) throws CacheEntryListenerException {
            if (event.getEventType() == EventType.REMOVED) {
                return false;
            }

            return !event.getValue().toString().startsWith("to-filter-");
        }
    });

    return registry;
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:17,代码来源:JCacheConsumerTest.java

示例3: onCreated

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
@Override
public void onCreated(Iterable<CacheEntryEvent<? extends K, ? extends V>> cacheEntryEvents) throws CacheEntryListenerException {
    cacheEntryEvents.forEach(cacheEntryEvent -> {
                if (cacheEntryEvent.getValue().getClass().isAnnotationPresent(NeverCached.class)) {
                    log.error("Cached a @NeverCached annotated model: '{}'", cacheEntryEvent.getValue().getClass());
                    try {
                        String webAppRoot = new ClassPathResource(".").getFile().getAbsolutePath();
                        PrintWriter writer = new PrintWriter(webAppRoot + "../../../NeverCachedException.jsp", "UTF-8");
                        writer.println("This file is generated because a @NeverCached annotated model was found in cache. Check site logs for more information.");
                        writer.close();
                    } catch (IOException e) {
                        throw new RuntimeException("Unable to create a NeverCachedException.jsp file.");
                    }
                    throw new CacheEntryListenerException("Cached a @NeverCached annotated model!");
                } else {
                    log.debug("Cached view model is: '{}'", cacheEntryEvent.getValue().getClass());
                }
            }
    );
}
 
开发者ID:sdl,项目名称:dxa-modules,代码行数:21,代码来源:NeverCacheListener.java

示例4: executeContiniouseQuery

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/**
 * @param cache Ignite cache.
 * @throws Exception If fail.
 */
private void executeContiniouseQuery(IgniteCache cache) throws Exception {
    ContinuousQuery<Integer, String> qry = new ContinuousQuery<>();

    qry.setLocalListener(
        new CacheEntryUpdatedListener<Integer, String>() {
            @Override public void onUpdated(Iterable<CacheEntryEvent<? extends Integer, ? extends String>> events)
                throws CacheEntryListenerException {
                for (CacheEntryEvent<? extends Integer, ? extends String> event : events)
                    System.out.println("Key = " + event.getKey() + ", Value = " + event.getValue());
            }
        }
    );

    final Class<CacheEntryEventSerializableFilter> remoteFilterClass = (Class<CacheEntryEventSerializableFilter>)
        ldr.loadClass("org.apache.ignite.tests.p2p.CacheDeploymentCacheEntryEventSerializableFilter");

    qry.setRemoteFilterFactory(new ClassFilterFactory(remoteFilterClass));

    cache.query(qry);

    for (int i = 0; i < 100; i++)
        cache.put(i, "Message " + i);
}
 
开发者ID:apache,项目名称:ignite,代码行数:28,代码来源:ContinuousQueryRemoteFilterMissingInClassPathSelfTest.java

示例5: onExpired

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
@Override
public void onExpired(Iterable<CacheEntryEvent<? extends Integer, ? extends String>> events)
		throws CacheEntryListenerException
{
	String msg = name + ":EXPIRED!";
	int eventCount = countEvents(events, msg);
	expiredListenerFiredCount.addAndGet(eventCount);
	if (printAllEvents)
	{
		Iterator<CacheEntryEvent<? extends Integer, ? extends String>> iterator = events.iterator();
		while (iterator.hasNext() )
		{
			
			CacheEntryEvent<? extends Integer,? extends String> event = iterator.next();
			System.out.println(msg + " Event: " + event.getValue());
			
		}
		
	}
		
}
 
开发者ID:trivago,项目名称:triava,代码行数:22,代码来源:CacheListenerTestBase.java

示例6: evaluate

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public boolean evaluate(CacheEntryEvent<? extends QueryTestKey, ? extends QueryTestValue> e)
    throws CacheEntryListenerException {
    if (e.getKey().compareTo(new QueryTestKey(KEYS)) < 0) {
        IgniteCache<QueryTestKey, QueryTestValue> cache = ignite.cache(cacheName);

        if (ThreadLocalRandom.current().nextBoolean()) {
            Set<QueryTestKey> keys = new LinkedHashSet<>();

            for (int key = KEYS; key < KEYS + KEYS_FROM_CALLBACK; key++)
                keys.add(new QueryTestKey(key));

            cache.invokeAll(keys, new IncrementTestEntryProcessor());
        }
        else {
            for (int key = KEYS; key < KEYS + KEYS_FROM_CALLBACK; key++)
                cache.invoke(new QueryTestKey(key), new IncrementTestEntryProcessor());
        }

        filterCbCntr.incrementAndGet();
    }

    return true;
}
 
开发者ID:apache,项目名称:ignite,代码行数:25,代码来源:CacheContinuousQueryOperationFromCallbackTest.java

示例7: evaluateContinuousQueryEvent

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/**
 * Evaluate the filter.
 *
 * @param ctx Context.
 * @param filterPtr Native filter pointer.
 * @param evt Event.
 * @return Result.
 * @throws CacheEntryListenerException In case of failure.
 */
public static boolean evaluateContinuousQueryEvent(PlatformContext ctx, long filterPtr, CacheEntryEvent evt)
    throws CacheEntryListenerException {
    assert filterPtr != 0;

    try (PlatformMemory mem = ctx.memory().allocate()) {
        PlatformOutputStream out = mem.output();

        out.writeLong(filterPtr);

        writeCacheEntryEvent(ctx.writer(out), evt);

        out.synchronize();

        return ctx.gateway().continuousQueryFilterApply(mem.pointer()) == 1;
    }
    catch (Exception e) {
        throw toCacheEntryListenerException(e);
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:29,代码来源:PlatformUtils.java

示例8: evaluate

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/** {@inheritDoc} */
@SuppressWarnings("unchecked")
@Override public boolean evaluate(CacheEntryEvent evt) throws CacheEntryListenerException {
    if (javaFilter != null)
        return javaFilter.evaluate(evt);

    lock.readLock().lock();

    try {
        if (ptr == 0)
            throw new CacheEntryListenerException("Failed to evaluate the filter because it has been closed.");

        return !hasFilter || PlatformUtils.evaluateContinuousQueryEvent(platformCtx, ptr, evt);
    }
    finally {
        lock.readLock().unlock();
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:19,代码来源:PlatformContinuousQueryImpl.java

示例9: onUpdated

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/** {@inheritDoc} */
@Override public void onUpdated(final Iterable<CacheEntryEvent<?, ?>> deps) {
    GridSpinBusyLock busyLock = GridServiceProcessor.this.busyLock;

    if (busyLock == null || !busyLock.enterBusy())
        return;

    try {
        depExe.execute(new DepRunnable() {
            @Override public void run0() {
                onSystemCacheUpdated(deps);
            }
        });
    }
    finally {
        busyLock.leaveBusy();
    }
}
 
开发者ID:apache,项目名称:ignite,代码行数:19,代码来源:GridServiceProcessor.java

示例10: startListener

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/**
 * @param cache Cache.
 * @return Event counter.
 */
private T2<AtomicInteger, QueryCursor> startListener(IgniteCache<Object, Object> cache) {
    final AtomicInteger evtCnt = new AtomicInteger();

    ContinuousQuery<Object, Object> qry = new ContinuousQuery<>();

    qry.setLocalListener(new CacheEntryUpdatedListener<Object, Object>() {
        @Override public void onUpdated(Iterable<CacheEntryEvent<?, ?>> evts) {
            for (CacheEntryEvent evt : evts) {
                assertNotNull(evt.getKey());
                assertNotNull(evt.getValue());

                if ((Integer)evt.getValue() >= 0)
                    evtCnt.incrementAndGet();
            }
        }
    });

    QueryCursor cur = cache.query(qry);

    return new T2<>(evtCnt, cur);
}
 
开发者ID:apache,项目名称:ignite,代码行数:26,代码来源:CacheContinuousQueryConcurrentPartitionUpdateTest.java

示例11: onExpired

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
@Override
public void onExpired(Iterable<CacheEntryEvent<? extends String, ? extends String>> events)
        throws CacheEntryListenerException {
    CacheEntryEvent<? extends String, ? extends String> entry = events.iterator().next();
    
    assertThat(entry.getKey()).isEqualTo(key);
    assertThat(entry.getValue()).isEqualTo(value);
    latch.countDown();
}
 
开发者ID:qq1588518,项目名称:JRediClients,代码行数:10,代码来源:JCacheTest.java

示例12: entryCreated

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/**
 *
 * @param event The entry just added.
 * @throws CacheEntryListenerException
 */
@Override
public void entryCreated(CacheEntryEvent<? extends IdentityCacheKey, ? extends PolicyStatus> event) throws CacheEntryListenerException {
    if(log.isDebugEnabled()){
        log.debug("ConfigCacheCreatedListener triggered for tenant: " + event.getKey().getTenantId() + " and " +
                "key : " + event.getKey()
                .getKey());
    }
    PolicyCache.updateLocalPolicyCacheMap(event.getKey(),event.getValue());
}
 
开发者ID:wso2,项目名称:carbon-identity-framework,代码行数:15,代码来源:PolicyCacheCreatedListener.java

示例13: entryUpdated

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
/**
 *
 * @param event The event just updated.
 * @throws CacheEntryListenerException
 */
@Override
public void entryUpdated(CacheEntryEvent<? extends IdentityCacheKey, ? extends PolicyStatus> event) throws CacheEntryListenerException {
    if(event!=null) {
        PolicyCache.updateLocalPolicyCacheMap(event.getKey(), event.getValue());
    }
}
 
开发者ID:wso2,项目名称:carbon-identity-framework,代码行数:12,代码来源:PolicyCacheUpdateListener.java

示例14: evaluate

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
@Override
public boolean evaluate(CacheEntryEvent<?, ?> event) throws CacheEntryListenerException {
    if (filteredEvents == null) {
        return true;
    }

    return !filteredEvents.contains(event.getEventType());
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:9,代码来源:JCacheEntryEventFilters.java

示例15: createEntryListenerConfiguration

import javax.cache.event.CacheEntryEvent; //导入依赖的package包/类
private CacheEntryListenerConfiguration<Object, Object> createEntryListenerConfiguration() {
    return new MutableCacheEntryListenerConfiguration<>(
        new Factory<CacheEntryListener<Object, Object>>() {
            @Override
            public CacheEntryListener<Object, Object> create() {
                return new JCacheEntryEventListener() {
                    @Override
                    protected void onEvents(Iterable<CacheEntryEvent<?, ?>> events) {
                        for (CacheEntryEvent<?, ?> event : events) {
                            Exchange exchange = getEndpoint().createExchange();
                            Message message = exchange.getIn();
                            message.setHeader(JCacheConstants.EVENT_TYPE, event.getEventType().name());
                            message.setHeader(JCacheConstants.KEY, event.getKey());
                            message.setBody(event.getValue());

                            if (event.isOldValueAvailable()) {
                                message.setHeader(JCacheConstants.OLD_VALUE, event.getOldValue());
                            }

                            try {
                                getProcessor().process(exchange);
                            } catch (Exception e) {
                                LOGGER.error("Error processing event ", e);
                            }
                        }
                    }
                };
            }
        },
        new Factory<CacheEntryEventFilter<Object, Object>>() {
            @Override
            public CacheEntryEventFilter<Object, Object> create() {
                return getJCacheEndpoint().getManager().getEventFilter();
            }
        },
        getJCacheEndpoint().getManager().getConfiguration().isOldValueRequired(),
        getJCacheEndpoint().getManager().getConfiguration().isSynchronous()
    );
}
 
开发者ID:HydAu,项目名称:Camel,代码行数:40,代码来源:JCacheConsumer.java


注:本文中的javax.cache.event.CacheEntryEvent类示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。