Example usage for org.springframework.data.gemfire GemfireTemplate GemfireTemplate

List of usage examples for org.springframework.data.gemfire GemfireTemplate GemfireTemplate

Introduction

In this page you can find the example usage for org.springframework.data.gemfire GemfireTemplate GemfireTemplate.

Prototype

public <K, V> GemfireTemplate(Region<K, V> region) 

Source Link

Usage

From source file:org.spring.data.gemfire.app.dao.vendor.GemFireGemstoneDao.java

protected GemfireTemplate getGemstonesTemplate() {
    if (gemstonesTemplate == null) {
        gemstonesTemplate = new GemfireTemplate(getGemstonesRegion());
    }/*w  w  w . jav  a 2  s .c  o  m*/

    return gemstonesTemplate;
}

From source file:org.spring.data.gemfire.config.GemFireConfiguration.java

@Bean
public GemfireTemplate exampleLocalRegionTemplate(Cache gemfireCache) throws Exception {
    return new GemfireTemplate(exampleLocalRegion(gemfireCache).getObject());
}

From source file:org.grails.datastore.mapping.gemfire.GemfireDatastore.java

protected Region initializeRegion(Cache cache, PersistentEntity entity) throws Exception {

    org.grails.datastore.mapping.gemfire.config.Region mappedRegion = getMappedRegionInfo(entity);

    final boolean hasMappedRegion = mappedRegion != null;
    String regionName;//from  w w  w .  j a  v  a 2s .com
    if (hasMappedRegion && mappedRegion.getRegion() != null) {
        regionName = mappedRegion.getRegion();
    } else {
        regionName = entity.getDecapitalizedName();
    }

    Region region = cache.getRegion(regionName);

    if (region == null) {
        RegionFactoryBean regionFactory = new RegionFactoryBean();
        regionFactory.setCache(cache);

        regionFactory.setName(regionName);
        if (gemfirePool != null) {
            AttributesFactory factory = new AttributesFactory();
            factory.setScope(Scope.LOCAL);
            factory.setPoolName(gemfirePool.getName());
            regionFactory.setAttributes(factory.create());
        } else {
            if (hasMappedRegion && mappedRegion.getDataPolicy() != null) {
                regionFactory.setDataPolicy(mappedRegion.getDataPolicy());
            } else {
                regionFactory.setDataPolicy(DataPolicy.PARTITION);
            }
            if (hasMappedRegion && mappedRegion.getRegionAttributes() != null) {
                regionFactory.setAttributes(mappedRegion.getRegionAttributes());
            }
            if (hasMappedRegion && mappedRegion.getCacheListeners() != null) {
                regionFactory.setCacheListeners(mappedRegion.getCacheListeners());
            }
            if (hasMappedRegion && mappedRegion.getCacheLoader() != null) {
                regionFactory.setCacheLoader(mappedRegion.getCacheLoader());
            }
            if (hasMappedRegion && mappedRegion.getCacheWriter() != null) {
                regionFactory.setCacheWriter(mappedRegion.getCacheWriter());
            }
        }

        regionFactory.afterPropertiesSet();
        region = regionFactory.getObject();
        if (gemfirePool != null) {
            region.registerInterest("ALL_KEYS");
        }
    }

    gemfireTemplates.put(entity, new GemfireTemplate(region) /*{
                                                             @Override
                                                             public <T> T execute(GemfireCallback<T> action) throws DataAccessException {
                                                             long now = System.currentTimeMillis();
                                                             try {
                                                             return super.execute(action);
                                                             } finally {
                                                             System.out.println("Gemfire query took " + (System.currentTimeMillis() - now) + "ms");
                                                             }
                                                             }
                                                                     
                                                                     
                                                             }*/);
    return region;
}

From source file:org.springframework.session.data.gemfire.AbstractGemFireOperationsSessionRepositoryTest.java

@Test
@SuppressWarnings("unchecked")
public void gemfireOperationsSessionRepositoryIsProperlyConstructedAndInitialized() throws Exception {
    ApplicationEventPublisher mockApplicationEventPublisher = mock(ApplicationEventPublisher.class);
    AttributesMutator<Object, ExpiringSession> mockAttributesMutator = mock(AttributesMutator.class);
    Region<Object, ExpiringSession> mockRegion = mock(Region.class);

    given(mockRegion.getFullPath()).willReturn("/Example");
    given(mockRegion.getAttributesMutator()).willReturn(mockAttributesMutator);

    GemfireTemplate template = new GemfireTemplate(mockRegion);

    AbstractGemFireOperationsSessionRepository sessionRepository = new TestGemFireOperationsSessionRepository(
            template);//from  ww w . j a  v  a  2s  . co m

    ApplicationEventPublisher applicationEventPublisher = sessionRepository.getApplicationEventPublisher();

    assertThat(applicationEventPublisher).isNotNull();
    assertThat(sessionRepository.getFullyQualifiedRegionName()).isNull();
    assertThat(sessionRepository.getMaxInactiveIntervalInSeconds())
            .isEqualTo(GemFireHttpSessionConfiguration.DEFAULT_MAX_INACTIVE_INTERVAL_IN_SECONDS);
    assertThat(sessionRepository.getTemplate()).isSameAs(template);

    sessionRepository.setApplicationEventPublisher(mockApplicationEventPublisher);
    sessionRepository.setMaxInactiveIntervalInSeconds(300);
    sessionRepository.afterPropertiesSet();

    assertThat(sessionRepository.getApplicationEventPublisher()).isSameAs(mockApplicationEventPublisher);
    assertThat(sessionRepository.getFullyQualifiedRegionName()).isEqualTo("/Example");
    assertThat(sessionRepository.getMaxInactiveIntervalInSeconds()).isEqualTo(300);
    assertThat(sessionRepository.getTemplate()).isSameAs(template);

    verify(mockRegion, times(1)).getAttributesMutator();
    verify(mockRegion, times(1)).getFullPath();
    verify(mockAttributesMutator, times(1)).addCacheListener(same(sessionRepository));
}