Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jruby Neo4j服务器安装建议_Jruby_Neo4j - Fatal编程技术网

Jruby Neo4j服务器安装建议

Jruby Neo4j服务器安装建议,jruby,neo4j,Jruby,Neo4j,我正在用jRuby在glassfish上建立一个基于Neo4j的系统。与大多数rails系统一样,Glassfish允许某种机制运行多个实例。在glassfish案例中,线程池大小有一个内部设置 我的问题是,我在多次打开Neo4j数据库时遇到问题,这导致了一个错误。我正在升级到Rails3以引入最新的Neo4j.rb,但同时我想确保我有正确的服务器设置 以下是我的设置: # # GlassFish configuration. # # Please read the comments for e

我正在用jRuby在glassfish上建立一个基于Neo4j的系统。与大多数rails系统一样,Glassfish允许某种机制运行多个实例。在glassfish案例中,线程池大小有一个内部设置

我的问题是,我在多次打开Neo4j数据库时遇到问题,这导致了一个错误。我正在升级到Rails3以引入最新的Neo4j.rb,但同时我想确保我有正确的服务器设置

以下是我的设置:

# # GlassFish configuration. # # Please read the comments for each configuration settings before modifying. # # application environment. Default value development environment: staging # HTTP configuration http: # port port: 3000 #address address: 0.0.0.0 # context root. The default value is '/' contextroot: / # Grizzly is NIO based HTTP libraries used by GlassFish gem grizzly: chunking-enabled: true request-timeout: 30 send-buffer-size: 8192 max-keepalive-connextions: 256 keepalive-timeout: 30 thread-pool: idle-thread-timeout-seconds: 900 max-queue-size: 4096 max-thread-pool-size: 5 min-thread-pool-size: 2 #Logging configuration log: log-level: all jruby-runtime-pool: initial: 1 min: 1 max: 5 daemon: enable: true jvm-options: -server -Xmx1024m -XX:PermSize=256m -XX:MaxPermSize=256m -XX:NewRatio=2 -XX:+DisableExplicitGC -Dhk2.file.directory.changeIntervalTimer=6000 # #玻璃鱼配置。 # #修改前,请阅读每个配置设置的注释。 # #应用环境。默认值开发 环境:登台 #HTTP配置 http: #港口 港口:3000 #地址 地址:0.0.0.0 #上下文根。默认值为“/” contextroot:/ #Grizzly是GlassFish gem使用的基于NIO的HTTP库 灰熊: 已启用分块:true 请求超时:30 发送缓冲区大小:8192 最大保留连接数:256 保存超时:30 线程池: 空闲线程超时秒数:900 最大队列大小:4096 最大线程池大小:5 最小线程池大小:2 #日志记录配置 日志: 日志级别:所有 jruby运行时池: 首字母:1 min:1 最多:5 守护进程: 启用:true jvm选项:-server-Xmx1024m-XX:PermSize=256m-XX:MaxPermSize=256m-XX:NewRatio=2-XX:+DisableExplicitGC-Dhk2.file.directory.changeIntervalTimer=6000
方法
Neo4j.start
采用可选的Neo数据库实例。我没有尝试过,但如果您可以尝试确保只创建一个Neo实例,并确保每个运行时首先查找该共享实例,那么您的多运行时方法可能会起作用


将共享实例放在何处?如果您在servlet上下文中运行,那么可以将其放在servlet上下文属性中。由于您不是,最好的方法可能是编写一个小型Java包装类,用于启动和存储单个实例,并将该Java类导入每个运行时。

方法
Neo4j.start
采用可选的Neo数据库实例。我没有尝试过,但如果您可以尝试确保只创建一个Neo实例,并确保每个运行时首先查找该共享实例,那么您的多运行时方法可能会起作用


将共享实例放在何处?如果您在servlet上下文中运行,那么可以将其放在servlet上下文属性中。由于您不是,最好的方法可能是编写一个小型Java包装器类,用于启动和存储单个实例,并将该Java类导入每个运行时。

您可以尝试将jruby运行时池最大值设置为1(尚未测试)。
如果您运行的是多线程应用程序(如rails 3和Neo4j),我认为不需要使用多个jruby运行时,对吗?

您可以尝试将jruby运行时池最大值设置为1(尚未测试)。
如果您运行的是多线程应用程序(如rails 3和Neo4j),我认为没有必要使用多个jruby运行时,对吗?

如果这是一个简单的问题,我已经做了很多rails部署,但这是我的第一个jruby部署。同时,只对我的图形进行低级Neo4j调用,数据主要在MySQL中使用传统的模型实现。我正在使用Transaction.run-do方法进行事务处理。如果这是一个简单的问题,我已经做了很多Rails部署,但这是我的第一次JRuby部署。此外,我只对我的图形进行了低级Neo4j调用,数据主要是使用传统模型实现的MySQL中的数据。我正在使用Transaction.run do方法处理事务。是的,我已经将配置设置为多个服务器,就像我在原生ruby实现中所做的那样。我还对多线程rails做了一些后续阅读。从Rails 2.2或2.3开始的Rails引入了更好的线程支持,但是您必须通过取消production.rb环境文件中线程行的注释来启用它。值得注意的是,通过更改此设置并仅使用上面响应中提到的1个实例,我获得了3倍的吞吐量。我也增加了默认线程数,但这涉及到打开文件,所以我仍然在修补这个值。是的,我已经将配置设置为多个服务器,就像我在原生ruby实现中所做的那样。我还对多线程rails做了一些后续阅读。从Rails 2.2或2.3开始的Rails引入了更好的线程支持,但是您必须通过取消production.rb环境文件中线程行的注释来启用它。值得注意的是,通过更改此设置并仅使用上面响应中提到的1个实例,我获得了3倍的吞吐量。我确实也增加了默认线程数,但这涉及到打开文件,所以我仍在修补该值。