Neo4j HA Cluster使用Bolt连接到图形数据库时出错

时间:2016-09-09 07:40:36

标签: amazon-web-services neo4j spring-data-neo4j amazon-elb neo4j-ogm

我们在AWS上的群集中使用neo4j-enterprise-3.0.4和bolt协议。 HAproxy用于了解谁是主服务器以及谁是HA集群中的从服务器。 Java应用程序使用spring-data-neo4j框架并部署在Tomcat 7上。

AWS上的结构是:Neo4j HA集群(1个主服务器和2个从服务器)---> HAproxy ----> ELB

我们收到此错误。每次都不会发生错误,偶尔也会发生错误 (昨天3次)。

org.neo4j.ogm.exception.ConnectionException: Error connecting to graph database using Bolt: N/A, Unable to close socket connection properly.Broken pipe
    at org.neo4j.ogm.drivers.bolt.driver.BoltDriver.newSession(BoltDriver.java:97) ~[neo4j-ogm-bolt-driver-2.0.1.jar:?]
    at org.neo4j.ogm.drivers.bolt.driver.BoltDriver.newTransaction(BoltDriver.java:71) ~[neo4j-ogm-bolt-driver-2.0.1.jar:?]
    at org.neo4j.ogm.session.transaction.DefaultTransactionManager.openTransaction(DefaultTransactionManager.java:57) ~[neo4j-ogm-core-2.0.1.jar:?]
    at org.neo4j.ogm.drivers.bolt.request.BoltRequest.executeRequest(BoltRequest.java:153) ~[neo4j-ogm-bolt-driver-2.0.1.jar:?]
    at org.neo4j.ogm.drivers.bolt.request.BoltRequest.execute(BoltRequest.java:139) ~[neo4j-ogm-bolt-driver-2.0.1.jar:?]
    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:93) ~[neo4j-ogm-core-2.0.1.jar:?]
    at org.neo4j.ogm.session.delegates.ExecuteQueriesDelegate.query(ExecuteQueriesDelegate.java:73) ~[neo4j-ogm-core-2.0.1.jar:?]
    at org.neo4j.ogm.session.Neo4jSession.query(Neo4jSession.java:313) ~[neo4j-ogm-core-2.0.1.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_92]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.doProceed(DelegatingIntroductionInterceptor.java:133) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.support.DelegatingIntroductionInterceptor.invoke(DelegatingIntroductionInterceptor.java:121) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at com.sun.proxy.$Proxy73.query(Unknown Source) ~[?:?]
    at org.springframework.data.neo4j.template.Neo4jTemplate.query(Neo4jTemplate.java:217) ~[spring-data-neo4j-4.1.1.RELEASE.jar:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_92]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92]
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:302) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.dao.support.PersistenceExceptionTranslationInterceptor.invoke(PersistenceExceptionTranslationInterceptor.java:136) ~[spring-tx-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:207) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at com.sun.proxy.$Proxy75.query(Unknown Source) ~[?:?]
    at com.kubid.booking.service.bookings.SnapCardBookingService.getBookingsInternal(SnapCardBookingService.java:216) ~[classes/:?]
    at com.kubid.booking.service.bookings.SnapCardBookingService.getBookings(SnapCardBookingService.java:249) ~[classes/:?]
    at com.kubid.booking.service.bookings.SnapCardBookingService$$FastClassBySpringCGLIB$$d05944f4.invoke(<generated>) ~[spring-core-4.2.0.RELEASE.jar:?]
    at org.springframework.cglib.proxy.MethodProxy.invoke(MethodProxy.java:204) ~[spring-core-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:649) ~[spring-aop-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at com.kubid.booking.service.bookings.SnapCardBookingService$$EnhancerBySpringCGLIB$$bfd16c77.getBookings(<generated>) ~[spring-core-4.2.0.RELEASE.jar:?]
    at com.kubid.booking.service.controller.BookingController.getBookings(BookingController.java:264) ~[classes/:?]
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_92]
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_92]
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_92]
    at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_92]
    at org.springframework.web.method.support.InvocableHandlerMethod.doInvoke(InvocableHandlerMethod.java:221) ~[spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.method.support.InvocableHandlerMethod.invokeForRequest(InvocableHandlerMethod.java:137) ~[spring-web-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.ServletInvocableHandlerMethod.invokeAndHandle(ServletInvocableHandlerMethod.java:111) ~[spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.invokeHandlerMethod(RequestMappingHandlerAdapter.java:806) ~[spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.mvc.method.annotation.RequestMappingHandlerAdapter.handleInternal(RequestMappingHandlerAdapter.java:729) ~[spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.mvc.method.AbstractHandlerMethodAdapter.handle(AbstractHandlerMethodAdapter.java:85) ~[spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:959) [spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:893) [spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:970) [spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:861) [spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:624) [servlet-api.jar:?]
    at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:846) [spring-webmvc-4.2.0.RELEASE.jar:4.2.0.RELEASE]
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) [servlet-api.jar:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) [catalina.jar:7.0.65]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.65]
    at org.apache.catalina.filters.CorsFilter.handleNonCORS(CorsFilter.java:436) [catalina.jar:7.0.65]
    at org.apache.catalina.filters.CorsFilter.doFilter(CorsFilter.java:177) [catalina.jar:7.0.65]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.65]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.65]
    at com.kubid.booking.service.config.RequestBodyFilter.doFilter(RequestBodyFilter.java:36) [classes/:?]
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) [catalina.jar:7.0.65]
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) [catalina.jar:7.0.65]
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220) [catalina.jar:7.0.65]
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122) [catalina.jar:7.0.65]
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505) [catalina.jar:7.0.65]
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170) [catalina.jar:7.0.65]
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) [catalina.jar:7.0.65]
    at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:956) [catalina.jar:7.0.65]
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) [catalina.jar:7.0.65]
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423) [catalina.jar:7.0.65]
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079) [tomcat-coyote.jar:7.0.65]
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:625) [tomcat-coyote.jar:7.0.65]
    at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:316) [tomcat-coyote.jar:7.0.65]
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_92]
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_92]
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) [tomcat-coyote.jar:7.0.65]
    at java.lang.Thread.run(Thread.java:745) [?:1.8.0_92]
Caused by: org.neo4j.driver.v1.exceptions.ClientException: Unable to close socket connection properly.Broken pipe
    at org.neo4j.driver.internal.connector.socket.SocketClient.stop(SocketClient.java:157) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.connector.socket.SocketConnection.close(SocketConnection.java:181) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.connector.ConcurrencyGuardingConnection.close(ConcurrencyGuardingConnection.java:163) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.PooledConnection.dispose(PooledConnection.java:180) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.InternalConnectionPool$1.onDispose(InternalConnectionPool.java:196) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.InternalConnectionPool$1.onDispose(InternalConnectionPool.java:178) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.ThreadCachingPool.dispose(ThreadCachingPool.java:197) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal(ThreadCachingPool.java:145) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.java:118) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:107) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.ogm.drivers.bolt.driver.BoltDriver.newSession(BoltDriver.java:95) ~[neo4j-ogm-bolt-driver-2.0.1.jar:?]
    ... 79 more
Caused by: java.io.IOException: Broken pipe
    at sun.nio.ch.FileDispatcherImpl.write0(Native Method) ~[?:1.8.0_92]
    at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47) ~[?:1.8.0_92]
    at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93) ~[?:1.8.0_92]
    at sun.nio.ch.IOUtil.write(IOUtil.java:51) ~[?:1.8.0_92]
    at sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:471) ~[?:1.8.0_92]
    at org.neo4j.driver.internal.connector.socket.TLSSocketChannel.close(TLSSocketChannel.java:452) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.connector.socket.SocketClient.stop(SocketClient.java:145) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.connector.socket.SocketConnection.close(SocketConnection.java:181) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.connector.ConcurrencyGuardingConnection.close(ConcurrencyGuardingConnection.java:163) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.PooledConnection.dispose(PooledConnection.java:180) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.InternalConnectionPool$1.onDispose(InternalConnectionPool.java:196) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.InternalConnectionPool$1.onDispose(InternalConnectionPool.java:178) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.ThreadCachingPool.dispose(ThreadCachingPool.java:197) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.ThreadCachingPool.acquireFromGlobal(ThreadCachingPool.java:145) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.ThreadCachingPool.acquire(ThreadCachingPool.java:118) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.pool.InternalConnectionPool.acquire(InternalConnectionPool.java:107) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.driver.internal.InternalDriver.session(InternalDriver.java:53) ~[neo4j-java-driver-1.0.0-RC1.jar:1.0.0-RC1-cc9a365a0ad5346cb6ba50f3b68a998b4d956b98]
    at org.neo4j.ogm.drivers.bolt.driver.BoltDriver.newSession(BoltDriver.java:95) ~[neo4j-ogm-bolt-driver-2.0.1.jar:?]

这是我们的HAproxy .cfg:

global
   log 127.0.0.1 local0
   log 127.0.0.1 local1 notice
   chroot /var/lib/haproxy
   stats socket /run/haproxy/admin.sock mode 660 level admin
   stats timeout 30s
   user haproxy
   group haproxy
   daemon
   maxconn 256
defaults
    log global
    mode tcp
    option tcplog
    option dontlognull
    timeout connect 30s
    timeout client 2h
    timeout server 2h
frontend http-in
    bind *:81
    acl write_method method POST DELETE PUT
    acl write_hdr hdr_val(X-Write) eq 1
    acl write_payload payload(0,0) -m reg -i CREATE|MERGE|SET|DELETE|REMOVE
    acl tx_cypher_endpoint path_beg /db/data/transaction
    http-request set-var(txn.tx_cypher_endpoint) bool(true) if tx_cypher_endpoint
    use_backend neo4j-master if write_hdr
    use_backend neo4j-master if tx_cypher_endpoint write_payload
    use_backend neo4j-all if tx_cypher_endpoint
    use_backend neo4j-master if write_method
    default_backend neo4j-all
frontend http-browse
    bind *:83
    mode http
    default_backend neo4j-browser
backend neo4j-all
    option httpchk GET /db/manage/server/ha/available HTTP/1.0\r\nAuthorization:\ Basic\ [code]
    acl tx_cypher_endpoint var(txn.tx_cypher_endpoint),bool
    stick-table type integer size 1k expire 70s  
    stick match path,word(4,/) if tx_cypher_endpoint
    stick store-response hdr(Location),word(6,/) if tx_cypher_endpoint
    server neo4j-1 192.0.0.250:7687 check port 7474
    server neo4j-2 192.0.0.251:7687 check port 7474
    server neo4j-3 192.0.0.252:7687 check port 7474
backend neo4j-master
    option httpchk GET /db/manage/server/ha/master HTTP/1.0\r\nAuthorization:\ Basic\ [code]
    server neo4j-1 192.0.0.250:7687 check port 7474
    server neo4j-2 192.0.0.251:7687 check port 7474
    server neo4j-3 192.0.0.252:7687 check port 7474
backend neo4j-browser
    mode http
    option prefer-last-server
    option httpchk GET /db/manage/server/ha/master HTTP/1.0\r\nAuthorization:\ Basic\ [code]
    server neo4j-1 192.0.0.250:7474 check
    server neo4j-2 192.0.0.251:7474 check
    server neo4j-3 192.0.0.252::7474 check
listen admin
    bind *:82
    mode http
    stats enable
    stats uri /haproxy?stats
    stats realm Haproxy\ Statistics
    stats auth admin:admin

我们无法弄清楚问题出在哪里。它有问题:

1)org.neo4j.ogm.drivers.bolt.driver.BoltDriver

2)AWS上的ELB

3)HAproxy .cfg

4)AWS上的Bolt协议

在我们使用Bolt作为协议之前,我们使用了HTTP端点,在AWS上使用相同的设置,我们没有遇到问题。

修改

我们更改了配置,因此这就是我们对问题的了解:

1)org.neo4j.ogm.drivers.bolt.driver.BoltDriver - 错误仅出现在Tomcat 7上。

2)AWS上的ELB - 我们不再使用ELB,而是直接连接到HAproxy

3)HAproxy .cfg - 我们的PHP团队使用端口83使用http协议连接到Neo4j HA群集,它们没有错误。

4)AWS上的Bolt协议 - 我们在ELB和EC2上添加日志,我们没有收到任何有关Bolt协议的错误。

neo4j-enterprise-3.0.4和neo4j-ogm-bolt-driver 2.0.4有问题吗?

修改

neo4j-enterprise-3.0.4或neo4j-ogm-bolt-driver 2.0.4与AWS ELB或两者之间存在问题。

我们更改了我们的应用设置,我们在AWS上使用具有相同结构的Http驱动程序而不是Bolt驱动程序。我们没有收到错误。

我们没有找到解决此问题的方法。

0 个答案:

没有答案