gfsh>list members Name | Id ------- | ---------------------------------------------- test1 | 192.168.1.106(test1:1880:locator):1024 server1 | 192.168.1.106(server1:7532):1025
配置为:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:gfe-data="http://www.springframework.org/schema/data/gemfire" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:gfe="http://www.springframework.org/schema/gemfire" xmlns:repository="http://www.springframework.org/schema/data/repository" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/gemfire/spring-gemfire.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/data/gemfire http://www.springframework.org/schema/data/gemfire/spring-data-gemfire.xsd http://www.springframework.org/schema/gemfire http://www.springframework.org/schema/data/repository/spring-repository.xsd http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util.xsd"> <util:properties id="gemfireProperties"> <prop key="locators">localhost[40001] <prop key="mcast-port">0 </util:properties> <gfe:cache properties-ref="gemfireProperties"/> <gfe:cache-server port="40411" /> <bean id="portGenerator" class="com.demo.server.ServerPortGenerator" /> <gfe:replicated-region id="Person"/> </beans>
错误为:
[info 2017/07/04 23:48:12.546 CST tid=0x1] Defaulting license-working-dir to current working directory "C:\Users\IBM_ADMIN\Documents\Workspace - Shirley\Workspace_SpringBoot\demo". [info 2017/07/04 23:48:12.547 CST tid=0x1] Licensing required 2 milliseconds. [info 2017/07/04 23:48:12.923 CST tid=0x1] GemFire P2P Listener started on tcp:///192.168.1.106:53073 [info 2017/07/04 23:48:13.094 CST tid=0x20] unable to connect to locator localhost(null):40001 2017-07-04 23:48:16.200 WARN 10904 --- [ main] s.c.a.AnnotationConfigApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireServer': Cannot resolve reference to bean 'gemfireCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireCache': FactoryBean threw exception on object creation; nested exception is com.gemstone.gemfire.GemFireConfigException: Unable to contact a Locator service. Operation either timed out or Locator does not exist. Configured list of locators is "[localhost(null):40001]". 2017-07-04 23:48:16.200 WARN 10904 --- [ main] o.s.b.f.support.DisposableBeanAdapter : Invocation of destroy method failed on bean with name 'gemfireCache': com.gemstone.gemfire.cache.CacheClosedException: A cache has not yet been created. 2017-07-04 23:48:16.219 ERROR 10904 --- [ main] o.s.boot.SpringApplication : Application startup failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireServer': Cannot resolve reference to bean 'gemfireCache' while setting bean property 'cache'; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireCache': FactoryBean threw exception on object creation; nested exception is com.gemstone.gemfire.GemFireConfigException: Unable to contact a Locator service. Operation either timed out or Locator does not exist. Configured list of locators is "[localhost(null):40001]". at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:359) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveValueIfNecessary(BeanDefinitionValueResolver.java:108) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyPropertyValues(AbstractAutowireCapableBeanFactory.java:1531) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1276) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:553) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:483) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:742) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:867) ~[spring-context-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:543) ~[spring-context-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:693) ~[spring-boot-1.5.4.RELEASE.jar:1.5.4.RELEASE] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:360) ~[spring-boot-1.5.4.RELEASE.jar:1.5.4.RELEASE] at org.springframework.boot.SpringApplication.run(SpringApplication.java:303) ~[spring-boot-1.5.4.RELEASE.jar:1.5.4.RELEASE] at com.demo.server.ServerApplication.main(ServerApplication.java:32) [classes/:na] Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireCache': FactoryBean threw exception on object creation; nested exception is com.gemstone.gemfire.GemFireConfigException: Unable to contact a Locator service. Operation either timed out or Locator does not exist. Configured list of locators is "[localhost(null):40001]". at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanRegistrySupport.java:175) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanRegistrySupport.java:103) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.java:1634) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:254) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] at org.springframework.beans.factory.support.BeanDefinitionValueResolver.resolveReference(BeanDefinitionValueResolver.java:351) ~[spring-beans-4.3.9.RELEASE.jar:4.3.9.RELEASE] ... 16 common frames omitted Caused by: com.gemstone.gemfire.GemFireConfigException: Unable to contact a Locator service. Operation either timed out or Locator does not exist. Configured list of locators is "[localhost(null):40001]". at com.gemstone.org.jgroups.protocols.TCPGOSSIP.sendGetMembersRequest(TCPGOSSIP.java:222) ~[gemfire-8.2.4.jar:na] at com.gemstone.org.jgroups.protocols.PingSender.run(PingSender.java:85) ~[gemfire-8.2.4.jar:na] at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_111]
哦,天哪,我对这个问题毫无头绪。
有谁能帮助我吗?
我只想构建一个客户端-服务器系统。
但现在我甚至无法设置服务器。
C:\Users\IBM_ADMIN>gfsh _________________________ __ / _____/ ______/ ______/ /____/ / / / __/ /___ /_____ / _____ / / /__/ / ____/ _____/ / / / / /______/_/ /______/_/ /_/ 9.0.4 Monitor and Manage Pivotal GemFire gfsh>start locator --name=GemFireLocator --log-level=config Starting a Geode Locator in C:\Users\IBM_ADMIN\GemFireLocator... ...... Locator in C:\Users\IBM_ADMIN\GemFireLocator on ADMINIB-CI3Q48M[10334] as GemFireLocator is currently online. Process ID: 7256 Uptime: 8 seconds GemFire Version: 9.0.4 Java Version: 1.8.0_101 Log File: C:\Users\IBM_ADMIN\GemFireLocator\GemFireLocator.log JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false -Dgemfire .log-level=config -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterva l=9223372036854775806 Class-Path: C:\Program Files\Java\pivotal-gemfire-9.0.4\lib\geode-core-9.0.4.jar;C:\Program Files\Java\pivotal-gemfire-9 .0.4\lib\geode-dependencies.jar Successfully connected to: JMX Manager [host=ADMINIB-CI3Q48M, port=1099] gfsh>list members Name | Id -------------- | ------------------------------------------------------- GemFireLocator | 192.168.1.106(GemFireLocator:7256:locator):1024 gfsh>describe member --name=GemFireLocator Name : GemFireLocator Id : 192.168.1.106(GemFireLocator:7256:locator):1024 Host : ADMINIB-CI3Q48M Regions : PID : 7256 Groups : Used Heap : 90M Max Heap : 1755M Working Dir : C:\Users\IBM_ADMIN\GemFireLocator Log file : C:\Users\IBM_ADMIN\GemFireLocator\GemFireLocator.log Locators : 192.168.1.106[10334]
但错误显示:由:java.net.bindexception:Address已经在使用:JVM_Bind
[info 2017/07/09 14:57:24.270 CST tid=0x1] Defaulting license-working-dir to current working directory "C:\Users IBM_ADMIN\Documents\Workspace - Shirley\Workspace_SpringBoot\spring-boot-gemfire-server-example". [info 2017/07/09 14:57:24.273 CST tid=0x1] Licensing required 4 milliseconds. [info 2017/07/09 14:57:24.324 CST tid=0x1] Starting peer location for Distribution Locator on localhost/127.0.0. [10334] [info 2017/07/09 14:57:24.333 CST tid=0x1] Starting Distribution Locator on localhost/127.0.0.1[10334] [info 2017/07/09 14:57:24.347 CST tid=0x1] Distribution Locator on localhost/127.0.0.1[10334] is stopped [main] WARN org.springframework.context.annotation.AnnotationConfigApplicationContext - Exception encountered during co text initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Err r creating bean with name 'gemfireCacheServer' defined in org.example.SpringBootGemFireServer: Unsatisfied dependency e pressed through method 'gemfireCacheServer' parameter 0; nested exception is org.springframework.beans.factory.BeanCrea ionException: Error creating bean with name 'gemfireCache': FactoryBean threw exception on object creation; nested exce tion is com.gemstone.gemfire.GemFireIOException: Problem starting a locator service [main] WARN org.springframework.beans.factory.support.DisposableBeanAdapter - Invocation of destroy method failed on be n with name 'gemfireCache': com.gemstone.gemfire.cache.CacheClosedException: A cache has not yet been created. [main] INFO org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer - Error starting ApplicationContext. To display the auto-configuration report re-run your application with 'debug' enable . [main] ERROR org.springframework.boot.SpringApplication - Application startup failed org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'gemfireCacheServer' de ined in org.example.SpringBootGemFireServer: Unsatisfied dependency expressed through method 'gemfireCacheServer' param ter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemf reCache': FactoryBean threw exception on object creation; nested exception is com.gemstone.gemfire.GemFireIOException: roblem starting a locator service at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:7 9) at org.springframework.beans.factory.support.ConstructorResolver.instantiateUsingFactoryMethod(ConstructorResol er.java:467) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateUsingFactoryMethod(A stractAutowireCapableBeanFactory.java:1128) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAuto ireCapableBeanFactory.java:1022) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCa ableBeanFactory.java:512) at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapa leBeanFactory.java:482) at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306) at org.springframework.beans.factory.suefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.ja a:230) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197) at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListabl BeanFactory.java:735) at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractAppli ationContext.java:866) at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:542) at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:761) at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:371) at org.springframework.boot.SpringApplication.run(SpringApplication.java:315) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1186) at org.springframework.boot.SpringApplication.run(SpringApplication.java:1175) at org.example.SpringBootGemFireServer.main(SpringBootGemFireServer.java:52) Caused by: org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'gemfireCache': Facto yBean threw exception on object creation; nested exception is com.gemstone.gemfire.GemFireIOException: Problem starting a locator service at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanR gistrySupport.java:175) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getObjectFromFactoryBean(FactoryBeanReg strySupport.java:103) at org.springframework.beans.factory.support.AbstractBeanFactory.getObjectForBeanInstance(AbstractBeanFactory.j va:1606) at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:317) at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:202) rg.springframework.beans.factory.config.DependencyDescriptor.resolveCandidate(DependencyDescriptor.java:207) at org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBean actory.java:1131) at org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFa tory.java:1059) at org.springframework.beans.factory.support.ConstructorResolver.resolveAutowiredArgument(ConstructorResolver.j va:835) at org.springframework.beans.factory.support.ConstructorResolver.createArgumentArray(ConstructorResolver.java:7 1) ... 18 more Caused by: com.gemstone.gemfire.GemFireIOException: Problem starting a locator service at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.startInitLocator(InternalDistributedSyst m.java:847) at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.initialize(InternalDistributedSystem.jav :606) at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.newInstance(InternalDistributedSystem.ja a:281) at com.gemstone.gemfire.distributed.DistributedSystem.connect(DistributedSystem.java:1651) at com.gemstone.gemfire.cache.CacheFactory.create(CacheFactory.java:227) at org.springframework.data.gemfire.CacheFactoryBean.createCache(CacheFactoryBean.java:356) at org.springframework.data.gemfire.CacheFactoryBean.resolveCache(CacheFactoryBean.java:250) at org.springframework.data.gemfire.CacheFactoryBean.init(CacheFactoryBean.java:191) at org.springframework.data.gemfire.CacheFactoryBean.getObject(CacheFactoryBean.java:178) at org.springframework.data.gemfire.CacheFactoryBean.getObject(CacheFactoryBean.java:88) at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.doGetObjectFromFactoryBean(FactoryBeanR gistrySupport.java:168) ... 27 more Caused by: java.net.BindException: Failed to create server socket on localhost/127.0.0.1[10,334] at com.gemstone.gemfire.internal.SocketCreator.createServerSocket(SocketCreator.java:829) at com.gemstone.gemfire.internal.SocketCreator.createServerSocket(SocketCreator.java:789) at com.gemstone.org.jgroups.stack.tcpserver.TcpServer.startServerThread(TcpServer.java:179) at com.gemstone.org.jgroups.stack.tcpserver.TcpServer.start(TcpServer.java:168) at com.gemstone.gemfire.distributed.internal.InternalLocator.startTcpServer(InternalLocator.java:629) at com.gemstone.gemfire.distributed.internal.InternalLocator.startPeerLocation(InternalLocator.java:698) at com.gemstone.gemfire.distributed.internal.InternalDistributedSystem.startInitLocator(InternalDistributedSyst m.java:832) ... 37 more Caused by: java.net.BindException: Address already in use: JVM_Bind at java.net.DualStackPlainSocketImpl.bind0(Native Method) at java.net.DualStackPlainSocketImpl.socketBind(DualStackPlainSocketImpl.java:106) at java.net.AbstractPlainSocketImpl.bind(AbstractPlainSocketImpl.java:387) at java.net.PlainSocketImpl.bind(PlainSocketImpl.java:190) at java.net.ServerSocket.bind(ServerSocket.java:375) at com.gemstone.gemfire.internal.SocketCreator.createServerSocket(SocketCreator.java:826) ... 43 more :bootRun FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':bootRun'. > Process 'command 'C:\Program Files\Java\jdk1.8.0_101\bin\java.exe'' finished with non-zero exit value 1 * Try: Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. BUILD FAILED Total time: 14.9 secs
然后,我用gfsh来阻止定位器。
我尝试直接运行您的示例(不首先启动定位器)。
[info 2017/07/09 15:19:16.930 CST tid=0x1] Defaulting license-working-dir to current working directory "C:\Users\ IBM_ADMIN\Documents\Workspace - Shirley\Workspace_SpringBoot\spring-boot-gemfire-server-example". [info 2017/07/09 15:19:16.935 CST tid=0x1] Licensing required 7 milliseconds. [info 2017/07/09 15:19:17.000 CST tid=0x1] Starting peer location for Distribution Locator on localhost/127.0.0.1 [10334] [info 2017/07/09 15:19:17.016 CST tid=0x1] Starting Distribution Locator on localhost/127.0.0.1[10334] [info 2017/07/09 15:19:18.376 CST tid=0x1] GemFire P2P Listener started on tcp:///192.168.1.106:45643 [info 2017/07/09 15:19:18.624 CST tid=0x22] locator localhost(null):10334 member address is ADMINIB-CI3 Q48M(SpringBootGemFireServer):37651 [info 2017/07/09 15:19:25.674 CST tid=0x25] locator localhost(null):10334 member address is ADMINIB-CI3 Q48M(SpringBootGemFireServer):37651 [info 2017/07/09 15:19:30.686 CST tid=0x1] Membership: lead member is now ADMINIB-CI3Q48M(SpringBootGemFireServer ):37651 [info 2017/07/09 15:19:30.701 CST tid=0x1] This member, ADMINIB-CI3Q48M(SpringBootGemFireServer):37651, is becomi ng group coordinator. [info 2017/07/09 15:19:30.710 CST tid=0x1] Entered into membership with ID ADMINIB-CI3Q48M(SpringBootGemFireServe r):37651. [info 2017/07/09 15:19:30.712 CST tid=0x1] Starting DistributionManager ADMINIB-CI3Q48M(SpringBootGemFireServer):37651. (took 12629/ ms) [info 2017/07/09 15:19:30.715 CST tid=0x1] Initial (membershipManager) view = [ADMINIB-CI3Q48M(SpringBootGemFire Server):37651{lead}] [info 2017/07/09 15:19:30.715 CST tid=0x1] Admitting member :37651>. Now there are 1 non-admin member(s). [info 2017/07/09 15:19:30.716 CST tid=0x1] ADMINIB-CI3Q48M(SpringBootGemFireServer):37651 is the elder and th e only member. [info 2017/07/09 15:19:31.081 CST tid=0x1] Did not hear back from any other system. I am the first one. [info 2017/07/09 15:19:31.086 CST tid=0x1] Starting server location for Distribution Locator on localhost/127.0.0 .1[10334] [info 2017/07/09 15:19:31.358 CST tid=0x1] Initializing region _monitoringRegion_192.168.1.10637651 [info 2017/07/09 15:19:31.364 CST tid=0x1] Initialization of region _monitoringRegion_192.168.1.10637651 comp leted [info 2017/07/09 15:19:32.857 CST tid=0x1] Initializing region PdxTypes [info 2017/07/09 15:19:32.857 CST tid=0x1] Initialization of region PdxTypes completed [main] INFO org.springframework.data.gemfire.CacheFactoryBean - Connected to Distributed System [SpringBootGemFireServer ] as Member [ADMINIB-CI3Q48M(SpringBootGemFireServer):37651]in Group(s) [[]] with Role(s) [[]] on Host [ADMINIB-CI3Q 48M] having PID [0]. [main] INFO org.springframework.data.gemfire.CacheFactoryBean - Created new GemFire v.8.2.0 Cache [SpringBootGemFireServ er]. [info 2017/07/09 15:19:32.935 CST tid=0x1] Initializing region __PR [info 2017/07/09 15:19:32.935 CST tid=0x1] Initialization of region __PR completed [info 2017/07/09 15:19:32.986 CST tid=0x1] Partitioned Region /Factorials is born with prId=1 ident:#Factorials [main] INFO org.springframework.data.gemfire.PartitionedRegionFactoryBean - Created new Cache Region [Factorials]. [main] INFO org.springframework.jmx.export.annotation.AnnotationMBeanExporter - Registering beans for JMX exposure on st artup [main] INFO org.springframework.context.support.DefaultLifecycleProcessor - Starting beans in phase 2147483647 [info 2017/07/09 15:19:33.379 CST tid=0x1] Bridge server connection listener bound to address localhost/127.0.0.1 :40404 with backlog 1,000. [info 2017/07/09 15:19:33.396 CST tid=0x1] ClientHealthMonitorThread maximum allowed time between pings: 15,000 [info 2017/07/09 15:19:33.425 CST tid=0x1] CacheServer Configuration: port=40404 max-connections=800 max-thread s=0 notify-by-subscription=true socket-buffer-size=32768 maximum-time-between-pings=15000 maximum-message-count=230000 m essage-time-to-live=180 eviction-policy=none capacity=1 overflow directory=. groups=[] loadProbe=ConnectionCountProbe lo adPollInterval=5000 tcpNoDelay=true [main] INFO org.example.SpringBootGemFireServer - Started SpringBootGemFireServer in 20.399 seconds (JVM running for 20. 823) [info 2017/07/09 15:21:15.585 CST tid=0x3e] (tid=62 msgId=0) Executing list member s [info 2017/07/09 15:22:26.546 CST tid=0x3e] (tid=62 msgId=1) Executing describe me mber --name GemFireLocator > Building 80% > :bootRun
我可以使用gfsh连接到您的示例代码创建的定位器。
gfsh> gfsh>stop locator --name GemFireLocator Stopping Locator running in C:\Users\IBM_ADMIN\GemFireLocator on ADMINIB-CI3Q48M[10334] as GemFireLocator... Process ID: 7256 Log File: C:\Users\IBM_ADMIN\GemFireLocator\GemFireLocator.log .... No longer connected to ADMINIB-CI3Q48M[1099]. gfsh>gfsh>list members "list members" is not available. Reason: Requires connection. gfsh>connect to loaclhost[10334] Connecting to Locator at [host=localhost, port=10334] .. Connecting to Manager at [host=ADMINIB-CI3Q48M, port=1199] .. Successfully connected to: [host=ADMINIB-CI3Q48M, port=1199] gfsh>list members Member Count : 1 Coordinator : SpringBootGemFireServer (ADMINIB-CI3Q48M(SpringBootGemFireServer):37651) Name | Id ----------------------- | -------------------------------------------------- SpringBootGemFireServer | ADMINIB-CI3Q48M(SpringBootGemFireServer):37651 gfsh>describe member --name=SpringBootGemFireServer Name : SpringBootGemFireServer Id : ADMINIB-CI3Q48M(SpringBootGemFireServer):37651 Host : ADMINIB-CI3Q48M Regions : Factorials PID : 0 Groups : Used Heap : 117M Max Heap : 1755M Working Dir : C:\Users\IBM_ADMIN\Documents\Workspace - Shirley\Workspace_SpringBoot\spring-boot-gemfire-server-example Log file : C:\Users\IBM_ADMIN\Documents\Workspace - Shirley\Workspace_SpringBoot\spring-boot-gemfire-server-example Locators : localhost[10334] Cache Server Information Server Bind : localhost Server Port : 40404 Running : true Client Connections : 0 gfsh>list regions List of regions --------------- Factorials gfsh>describe region --name=/Factorials .......................................................... Name : Factorials Data Policy : partition Hosting Members : SpringBootGemFireServer Non-Default Attributes Shared By Hosting Members Type | Name | Value ------ | ---- | ----- Region | size | 0
你能帮我查一下吗?
好吧,堆栈跟踪在这种情况下是很有启发性的。
基本上,Spring容器无法创建GemFire“peer”cache
(基于Spring XML配置中的
元素)的实例,因为GemFire无法找到您从GFSH启动的定位器...
Caused by: com.gemstone.gemfire.GemFireConfigException: Unable to contact a Locator service. Operation either timed out or Locator does not exist. Configured list of locators is "[localhost(null):40001]".
at com.gemstone.org.jgroups.protocols.TCPGOSSIP.sendGetMembersRequest(TCPGOSSIP.java:222) ~[gemfire-8.2.4.jar:na]
at com.gemstone.org.jgroups.protocols.PingSender.run(PingSender.java:85) ~[gemfire-8.2.4.jar:na]
at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_111]
因此...
它接着说...
配置的定位器列表为“[localhost(null):40001]”。
您的GemFireProperties
bean定义(定义了“GemFire属性”)中的Locators
属性是希望加入集群的挂起的GemFire对等体用来查找GemFire定位器(以及扩展到要加入的集群)的属性。实际上,一个或多个定位器endpoint(例如host1[port1]、host2[port2]、...、hostn[portN]
)定义挂起的对等成员将加入的集群。
所以...
>
首先,我假设“test1
”是您的定位符?
然后,你开始你的定位器使用...gfsh>开始定位器--name=tests1-port=40001...
(我还建议使用--log-level=config
打开日志级别)
如果“'test1”确实是您的定位器,那么您可以使用
status Locator`获取定位器的运行时信息,例如...
gfsh>status locator --name=test1
Locator in /Users/jblum/pivdev/lab/test1 on 10.99.199.10[40001] as test1 is currently online.
Process ID: 89632
Uptime: 1 minute 15 seconds
GemFire Version: 9.0.4
Java Version: 1.8.0_121
Log File: /Users/jblum/pivdev/lab/test1/test1.log
JVM Arguments: -Dgemfire.enable-cluster-configuration=true -Dgemfire.load-cluster-configuration-from-dir=false -Dgemfire.log-level=config -Dgemfire.launcher.registerSignalHandlers=true -Djava.awt.headless=true -Dsun.rmi.dgc.server.gcInterval=9223372036854775806
Class-Path: /Users/jblum/Downloads/Pivotal/GemStone/Products/PivotalGemFire/pivotal-gemfire-9.0.4/lib/geode-core-9.0.4.jar:/Users/jblum/Downloads/Pivotal/GemStone/Products/PivotalGemFire/pivotal-gemfire-9.0.4/lib/geode-dependencies.jar
Cluster configuration service is up and running.
现在,我有了一个项目,其中包含了文档/说明,您可以使用它连接一个GemFireCacheServer
,它是用Spring配置的对等缓存应用程序(数据GemFire)并用Spring Boot引导的,可在这里获得。
我的“tests1
”定位器已经在运行,如上面的status locator--name=test1
Gfsh命令所示。如果我在启动Spring Boot GemFire对等缓存CacheServer
应用程序之前列出成员,您将看到以下内容...
gfsh>list members
Name | Id
----- | ----------------------------------------------
test1 | 10.99.199.10(test1:89632:locator)<ec><v0>:1024
然后,当我启动我的嵌入式服务器时,你会看到这个...
gfsh>list members
Name | Id
----------------------- | --------------------------------------------------------
test1 | 10.99.199.10(test1:89632:locator)<ec><v0>:1024
SpringBootGemFireServer | 10.99.199.10(SpringBootGemFireServer:89790)<ec><v1>:1025
注意:我是从我的IDE(IntelliJ IDEA)内部运行服务器的。当然,它也可以从命令行工作。
因为List Members
同时显示了GemFire进程(定位器+服务器),所以您知道服务器已经基于定位器加入了集群。
再一次,请参考我的例子。
希望这有帮助!
假设我有Gemfire定位器 我有一个Spring 3.1 MVC应用程序,它想要使用Gemfire缓存。我使用的是Spring数据Gemfire 1.2.2和Gemfire 6.6.1 因此,我将以下内容添加到我的 假设外部JAR依赖项都在Maven中正确定义。还假设我加载了一个属性文件,该文件定义了上面引用的属性值。定位器属性定义为使用已经启动的Gemfire定位器的IP和端口。 我相信这应该
主要内容:实现,步骤 1,Service.java,步骤 2,Service1.java,Service2.java,步骤 3,InitialContext.java,步骤 4,Cache.java,步骤 5,ServiceLocator.java,步骤 6,ServiceLocatorPatternDemo.java,步骤 7服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模
服务定位器是一个了解如何提供各种应用所需的服务(或组件)的对象。在服务定位器中, 每个组件都只有一个单独的实例,并通过ID 唯一地标识。 用这个 ID 就能从服务定位器中得到这个组件。 在 Yii 中,服务定位器是 yii\di\ServiceLocator 或其子类的一个实例。 最常用的服务定位器是application(应用)对象,可以通过 \Yii::$app 访问。 它所提供的服务被称为a
服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定位器会在它的缓存中查找,这样可以在很大程度上提高应用程序的性能。以下是这种设计模式的实体。 服务(Se
服务定位器模式(Service Locator Pattern)用在我们想使用 JNDI 查询定位各种服务的时候。考虑到为某个服务查找 JNDI 的代价很高,服务定位器模式充分利用了缓存技术。在首次请求某个服务时,服务定位器在 JNDI 中查找服务,并缓存该服务对象。当再次请求相同的服务时,服务定位器会在它的缓存中查找,这样可以在很大程度上提高应用程序的性能。以下是这种设计模式的实体。 服务(Se
windows 2003 server 64位.jboss 7.0.1,JDK 1.6 64位.无法连接到db2服务器(linux). 但是其他服务器(< code > windows 2003 server 32 bit )就可以了! 为什么? 从 站点: 限制:如果在Windows 64位操作系统上安装了IBM DB2 Driver for JDBC和SQLJ,则不能使用IBM DB2 Dri