• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Java GigaSpace类代码示例

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

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



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

示例1: testSimpleConfigurer

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
public void testSimpleConfigurer() throws Exception {
    UrlSpaceConfigurer urlSpaceConfigurerPrimary = new UrlSpaceConfigurer("/./space").lookupGroups(System.getProperty("user.name"));

    final AtomicBoolean eventCalled = new AtomicBoolean();

    GigaSpace gigaSpace = new GigaSpaceConfigurer(urlSpaceConfigurerPrimary.space()).gigaSpace();

    SimpleNotifyEventListenerContainer notifyEventListenerContainer = new SimpleNotifyContainerConfigurer(gigaSpace)
            .template(new TestMessage())
            .eventListenerAnnotation(new Object() {
                @SpaceDataEvent
                public void gotMeselfAnEvent() {
                    eventCalled.set(true);
                }
            }).notifyContainer();
    gigaSpace.write(new TestMessage("test"));
    Thread.sleep(200);
    assertTrue(eventCalled.get());

    notifyEventListenerContainer.destroy();
    urlSpaceConfigurerPrimary.destroy();
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:23,代码来源:SimpleNotifyContainerConfigurerTests.java


示例2: wrapIfNeeded

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
public static <T> AsyncFutureListener<T> wrapIfNeeded(AsyncFutureListener<T> listener, GigaSpace gigaSpace) {
    DefaultTransactionProvider txProvider = (DefaultTransactionProvider) gigaSpace.getTxProvider();
    JiniTransactionHolder holder = txProvider.getHolder();
    PlatformTransactionManager transactionManager = txProvider.getTransactionManager();
    if (holder == null || transactionManager == null) {
        // just wrap for exception translation
        return new InternalAsyncFutureListener<T>(gigaSpace, listener, null, transactionManager, holder);
    } 
    // here, we create a dummy transaction status (with its new transaction set to true, so the commit/roolback
    // process will be performed). We also increase the ref count of the transaction, so only the last one will
    // be performed
    AbstractJiniTransactionManager.JiniTransactionObject jiniTransactionObject = new AbstractJiniTransactionManager.JiniTransactionObject();
    jiniTransactionObject.setJiniHolder(holder, false);
    TransactionStatus txStatus = new DefaultTransactionStatus(jiniTransactionObject, true, false, false, false, null);
    holder.incRef();
    return new InternalAsyncFutureListener<T>(gigaSpace, listener, txStatus, transactionManager, holder);
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:18,代码来源:InternalAsyncFutureListener.java


示例3: main

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
public static void main(String[] args) throws Exception {
    if (args.length == 0) {
        throw new IllegalArgumentException("Must specify the space url");
    }

    String spaceUrl = args[0];
    UrlSpaceConfigurer urlSpaceConfigurer = new UrlSpaceConfigurer(spaceUrl);
    GigaSpace gigaSpace = new GigaSpaceConfigurer(urlSpaceConfigurer.space()).gigaSpace();

    ExecutorSpaceRemotingProxyFactoryBean remotingProxyFactoryBean = new ExecutorSpaceRemotingProxyFactoryBean();
    remotingProxyFactoryBean.setGigaSpace(gigaSpace);
    remotingProxyFactoryBean.setServiceInterface(RefreshableContextLoader.class);
    remotingProxyFactoryBean.setBroadcast(true);
    remotingProxyFactoryBean.afterPropertiesSet();

    RefreshableContextLoader refreshableContextLoader = (RefreshableContextLoader) remotingProxyFactoryBean.getObject();
    refreshableContextLoader.refresh();

    urlSpaceConfigurer.destroy();
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:21,代码来源:RefreshContextLoaderExecutor.java


示例4: findGigaSpaceByName

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
protected GigaSpace findGigaSpaceByName(String gsName) throws NoSuchBeanDefinitionException {

        initMapsIfNecessary();
        if (gsName == null || "".equals(gsName)) {
            if (this.uniqueGs != null) {
                return this.uniqueGs;
            } else {
                throw new NoSuchBeanDefinitionException("No GigaSpaces name given and factory contains several");
            }
        }
        GigaSpace namedGs = this.gsByName.get(gsName);
        if (namedGs == null) {
            throw new NoSuchBeanDefinitionException("No GigaSpaces found for name [" + gsName + "]");
        }
        return namedGs;
    }
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:17,代码来源:GigaSpaceContextBeanPostProcessor.java


示例5: test

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
private void test(MockArchiveOperationsHandler archiveHandler, GigaSpace gigaSpace, ArchivePollingContainer container, int expectedBatchSize) throws InterruptedException {
      boolean atomic = archiveHandler.supportsBatchArchiving();
      int batchSize = container.getBatchSize();
      int actualBatchSize;
        if (atomic) {
            actualBatchSize = batchSize;
        }
        else {
            Assert.assertEquals("Test configuration error. Cannot expect batchSize!=1 if not atomic, since the implementation uses take and not takeMultiple", 1, expectedBatchSize);
            actualBatchSize = 1;
        }
        
        Assert.assertEquals(expectedBatchSize, actualBatchSize);
        Assert.assertTrue("Atomic test must be performed with a space that uses a transaction manager", !atomic || gigaSpace.getTxProvider() != null);
        Assert.assertTrue("Atomic test must be performed with a container that uses a transaction manager", !atomic || container.getTransactionManagerName() != null);

        test(archiveHandler, gigaSpace, actualBatchSize);
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:19,代码来源:ArchiveContainerTest.java


示例6: receive

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
/**
 * Performs the receive operation. If blocking, we call {@link #doReceiveBlocking(Object,org.openspaces.core.GigaSpace,long)}
 * and expect it to block for the receive timeout (or until a match is found). If non blocking, will perform
 * {@link #setNonBlockingFactor(int)} number of {@link #doReceiveNonBlocking(Object,org.openspaces.core.GigaSpace)}
 * operations within the receive timeout (default factor is 10).
 */
public Object receive(Object template, GigaSpace gigaSpace, long receiveTimeout) throws DataAccessException {
    if (!nonBlocking) {
        return doReceiveBlocking(template, gigaSpace, receiveTimeout);
    }
    long sleepTime = receiveTimeout / nonBlockingFactor;
    for (int i = 0; i < nonBlockingFactor; i++) {
        Object event = doReceiveNonBlocking(template, gigaSpace);
        if (event != null) {
            return event;
        }
        try {
            Thread.sleep(sleepTime);
        } catch (InterruptedException e) {
            throw new SpaceInterruptedException("Interrupted while performing non blocking receive operation");
        }
    }
    return null;
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:25,代码来源:AbstractNonBlockingReceiveOperationHandler.java


示例7: AnnotatedMember

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
public AnnotatedMember(String name, AccessibleObject member) {
    this.name = name;
    this.member = member;

    // Validate member type
    Class<?> memberType = getMemberType();
    if (!GigaSpace.class.isAssignableFrom(memberType)) {
        throw new IllegalArgumentException("Cannot inject [" + member + "], not a supported GigaSpaces type");
    }
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:11,代码来源:GigaSpaceContextBeanPostProcessor.java


示例8: otherEmbeddedGigaSpace

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Bean
public GigaSpace otherEmbeddedGigaSpace() {
	IJSpace space = Mockito.mock(IJSpace.class);
	GigaSpace gs = Mockito.mock(GigaSpace.class);
	Mockito.stub(gs.getSpace()).toReturn(space);
	Mockito.stub(space.isEmbedded()).toReturn(true);
	return gs;
}
 
开发者ID:AvanzaBank,项目名称:astrix,代码行数:9,代码来源:GsBinderIntegrationTest.java


示例9: MachinesStateBackupToSpace

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
public MachinesStateBackupToSpace(Admin admin, GigaSpace space, MachinesSlaEnforcementState machinesSlaEnforcementState) {
    this.admin = (InternalAdmin) admin;
    this.space = space;
    this.machinesSlaEnforcementState = machinesSlaEnforcementState;
    writeCompletedVersion = new AtomicLong(machinesSlaEnforcementState.getVersion() - 1);
    lastError = new AtomicReference<Throwable>();
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:8,代码来源:MachinesStateBackupToSpace.java


示例10: getGigaSpace

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
public GigaSpace getGigaSpace() {
    if (gigaSpace == null) {
        
        IJSpace ijSpace = getIJSpace();
        if (ijSpace == null) {
            throw new AdminException("Cannot create GigaSpace object since no space instance is discovered");
        }
        this.gigaSpace = new GigaSpaceConfigurer(ijSpace).clustered(true).gigaSpace();
    }
    return this.gigaSpace;
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:12,代码来源:DefaultSpace.java


示例11: initializeScriptingExecutorProxy

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@SuppressWarnings("rawtypes")
private synchronized void initializeScriptingExecutorProxy() {
    if (_scriptingExecutor == null) {
        boolean clustered = ((ISpaceProxy) getSpace()).isClustered();
        GigaSpace gigaSpace = new GigaSpaceConfigurer(getSpace()).clustered(clustered).gigaSpace();
        _scriptingExecutor =  new ExecutorRemotingProxyConfigurer<ScriptingExecutor>(gigaSpace, ScriptingExecutor.class).proxy();
    }        
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:9,代码来源:SpaceConfiguration.java


示例12: initMapsIfNecessary

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
/**
 * Lazily initialize gs map.
 */
private synchronized void initMapsIfNecessary() {
    if (this.gsByName == null) {
        this.gsByName = new HashMap<String, GigaSpace>();
        // Look for named GigaSpaces

        for (String gsName : BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.applicationContext, GigaSpace.class)) {

            GigaSpace gs = (GigaSpace) this.applicationContext.getBean(gsName);
            gsByName.put(gsName, gs);
        }

        if (this.gsByName.isEmpty()) {
            // Try to find a unique GigaSpaces.
            String[] gsNames = BeanFactoryUtils.beanNamesForTypeIncludingAncestors(this.applicationContext, GigaSpace.class);
            if (gsNames.length == 1) {
                this.uniqueGs = (GigaSpace) this.applicationContext.getBean(gsNames[0]);
            }
        } else if (this.gsByName.size() == 1) {
            this.uniqueGs = this.gsByName.values().iterator().next();
        }

        if (this.gsByName.isEmpty() && this.uniqueGs == null) {
            logger.warn("No named gs instances defined and not exactly one anonymous one: cannot inject");
        }
    }
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:30,代码来源:GigaSpaceContextBeanPostProcessor.java


示例13: ExecutorScriptingProxyConfigurer

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
/**
 * Creates a new <code>ExecutorScriptingProxyConfigurer</code> on top of the given space
 */
public ExecutorScriptingProxyConfigurer(GigaSpace gigaSpace) {
    remotingConfigurer = new ExecutorRemotingProxyConfigurer<ScriptingExecutor>(gigaSpace, ScriptingExecutor.class)
            .metaArgumentsHandler(new ScriptingMetaArgumentsHandler())
            .remoteInvocationAspect(new LazyLoadingRemoteInvocationAspect())
            .remoteRoutingHandler(new ScriptingRemoteRoutingHandler());
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:10,代码来源:ExecutorScriptingProxyConfigurer.java


示例14: writeResponse

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
private void writeResponse(GigaSpace gigaSpace, SpaceRemotingEntry remotingEntry, Throwable e) {
    if (remotingEntry.getOneWay() == null || !remotingEntry.getOneWay()) {
        SpaceRemotingEntry result = remotingEntry.buildResult(e);
        if (clusterInfo != null) {
            result.setInstanceId(clusterInfo.getInstanceId());
        }
        gigaSpace.write(result);
    } else {
        if (logger.isDebugEnabled()) {
            logger.debug("Remoting execution is configured as one way and an exception was thrown", e);
        }
    }
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:14,代码来源:SpaceRemotingServiceExporter.java


示例15: testAddAndGetIllegalBroadcastResult

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Test(expected=ChangeException.class)
public void testAddAndGetIllegalBroadcastResult() {
    GigaSpace gigaSpace = mock(GigaSpace.class);
    int delta = 2;
    String path = "path";
    IdQuery<ChangeExtensionPojo> query = new IdQuery<ChangeExtensionPojo>(ChangeExtensionPojo.class, "id");
    
    ChangeResult changeResult = mock(ChangeResult.class);
    when(changeResult.getNumberOfChangedEntries()).thenReturn(2);
    when(gigaSpace.change(any(ISpaceQuery.class), any(ChangeSet.class), any(ChangeModifiers.class), anyLong())).thenReturn(changeResult);
    
    ChangeExtension.addAndGet(gigaSpace, query, path, delta);
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:14,代码来源:ChangeExtensionTests.java


示例16: itsPossibleToInvokeMethodsReturningAsyncFutureWithFaultTolerance

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Test
public void itsPossibleToInvokeMethodsReturningAsyncFutureWithFaultTolerance() throws Exception {
	configurer.setSubsystem("lunch-system");
	configurer.enableFaultTolerance(true);
	astrix = autoClosables.add(configurer.configure());
	GigaSpace gigaSpace = astrix.waitForBean(GigaSpace.class, "lunch-space", 10000);
	AsyncFuture<LunchRestaurant> future = gigaSpace.asyncRead(LunchRestaurant.template());
	assertEquals(AsyncFutureImpl.class, future.getClass());
}
 
开发者ID:AvanzaBank,项目名称:astrix,代码行数:10,代码来源:ClusteredProxyLibraryTest.java


示例17: testAddAndGetNullDeltaThrowException

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Test(expected=IllegalArgumentException.class)
public void testAddAndGetNullDeltaThrowException() {
    GigaSpace gigaSpace = mock(GigaSpace.class);
    Integer delta = null;
    String path = "path";
    IdQuery<ChangeExtensionPojo> query = new IdQuery<ChangeExtensionPojo>(ChangeExtensionPojo.class, "id");
    ChangeExtension.addAndGet(gigaSpace, query, path, delta);
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:9,代码来源:ChangeExtensionTests.java


示例18: testSimpleTaskExecution

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Test
public void testSimpleTaskExecution() throws Exception {
    GigaSpace gigaSpace = (GigaSpace) applicationContext.getBean("clusteredGigaSpace");
    AsyncFuture<Long> future = gigaSpace.execute(new MyTask());
    long result = future.get();
    Assert.assertEquals(1, result);
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:8,代码来源:TaskTests.java


示例19: testAddAndGetTimeout

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Test
public void testAddAndGetTimeout() {
    GigaSpace gigaSpace = mock(GigaSpace.class);
    int delta = 2;
    String path = "path";
    IdQuery<ChangeExtensionPojo> query = new IdQuery<ChangeExtensionPojo>(ChangeExtensionPojo.class, "id");
    
    ChangeResult changeResult = mock(ChangeResult.class);
    when(gigaSpace.change(any(ISpaceQuery.class), any(ChangeSet.class), any(ChangeModifiers.class), anyLong())).thenReturn(changeResult);
    
    ChangeExtension.addAndGet(gigaSpace, query, path, delta, 1, TimeUnit.SECONDS);        
    verify(gigaSpace).change(eq(query), any(ChangeSet.class), eq(ChangeModifiers.RETURN_DETAILED_RESULTS), eq(1000L));
}
 
开发者ID:Gigaspaces,项目名称:xap-openspaces,代码行数:14,代码来源:ChangeExtensionTests.java


示例20: bind

import org.openspaces.core.GigaSpace; //导入依赖的package包/类
@Override
public <T> BoundServiceBeanInstance<T> bind(
		ServiceDefinition<T> serviceDefinition,
		ServiceProperties serviceProperties) {
	Class<T> type = serviceDefinition.getServiceType();
	if (!GigaSpace.class.isAssignableFrom(type)) {
		throw new UnsupportedTargetTypeException(getName(), type);
	}
	if (disableLocalView.get()) {
		log.info("LocalView is disabled. Creating reqular proxy");
		return clusteredProxyBinder.bind(serviceDefinition, serviceProperties);
	}
	log.info("Creating local view. bean={} serviceProperties={}", serviceDefinition.getBeanKey(), serviceProperties.getProperties());
	// TODO: protect creation of localView with fault-tolerance?
	Class<LocalViewConfigurer> serviceConfigClass = serviceDefinition.getServiceConfigClass(LocalViewConfigurer.class);	
	LocalViewConfigurer localViewConfigurer = ReflectionUtil.newInstance(serviceConfigClass);
	UrlSpaceConfigurer gsSpaceConfigurer = new UrlSpaceConfigurer(serviceProperties.getProperty(GsBinder.SPACE_URL_PROPERTY));
	IJSpace space = gsSpaceConfigurer.lookupTimeout(this.lookupTimeout.get())
			// Disable memory shortage check for local view clients
			.addParameter("space-config.engine.memory_usage.enabled", "false").create();
	
	LocalViewSpaceConfigurer gslocalViewSpaceConfigurer = new LocalViewSpaceConfigurer(space);
	gslocalViewSpaceConfigurer.maxDisconnectionDuration(this.maxDisonnectionTime.get());
	localViewConfigurer.configure(new LocalViewSpaceConfigurerAdapter(gslocalViewSpaceConfigurer));
	
	String spaceName = serviceProperties.getProperty(GsBinder.SPACE_NAME_PROPERTY);
	String commandKey = spaceName + "_" + GigaSpace.class.getSimpleName();
	String qualifier = serviceProperties.getProperty(ServiceProperties.QUALIFIER);
	if (qualifier != null) {
		commandKey = commandKey + "-" + qualifier;
	}
	
	IJSpace localViewSpace = gslocalViewSpaceConfigurer.create();
	GigaSpace localViewGigaSpace = GigaSpaceProxy.create(new GigaSpaceConfigurer(localViewSpace).create());
	
	BoundLocalViewGigaSpaceBeanInstance localViewGigaSpaceBeanInstance = 
			new BoundLocalViewGigaSpaceBeanInstance(localViewGigaSpace, gslocalViewSpaceConfigurer, gsSpaceConfigurer);
	return (BoundServiceBeanInstance<T>) localViewGigaSpaceBeanInstance;
}
 
开发者ID:AvanzaBank,项目名称:astrix,代码行数:40,代码来源:GsLocalViewComponent.java



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


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Java EntityCaveSpider类代码示例发布时间:2022-05-23
下一篇:
Java CDONet4jServerUtil类代码示例发布时间:2022-05-23
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap