Jetty 9.4在启动时启动两个jvms

时间:2017-04-03 11:02:24

标签: java jetty jetty-9

建议使用jetty.base Managing Jetty Base and Jetty Home

  

不是在几个不同的分发位置管理多个Jetty实现,而是可以在独立Jetty的二进制安装(称为$ {jetty.home})与特定环境的自定义之间保持分离( s)(称为$ {jetty.base})。应始终只有一个Jetty Home(每个版本的Jetty),但可以有多个引用它的Jetty Base目录。

我设置了类似以下结构的码头

/jetty-9.4.3
 ├──start.jar
 ├── ... 
/mybase
 ├── start.ini
 ├── ... 
 ├── run.bat 
mybase下的

run.bat有以下脚本

SET JETTY_HOME="../jetty-9.4.3"
echo %JETTY_HOME%
java -jar %JETTY_HOME%/start.jar -Xmx768m -Djetty.base=. -DSTOP.PORT=9999 -DSTOP.KEY=rwos &

当我执行start.bat码头启动两个jvms 时,如果我直接从java -jar start.jar运行jetty.home,则启动一个jvm。

有什么具体原因。

以下是/mybase/start.ini

的配置
--module=ext
--module=logging-logback
--module=http
jetty.http.port=8088
--module=resources
--module=deploy

enter image description here 此外,它需要比分配的768M更多的内存4.1GB。需要解决这两个问题。

jetty --list-config输出保存在这里 https://www.dropbox.com/s/sfwwwhkh0gwdxll/config.txt?dl=0

1 个答案:

答案 0 :(得分:1)

"id" : "2"

中可能有--exec

这将分叉JVM以传入您指定的JVM选项。

如果/mybase/start.ini中显示的配置显示 JVM Arguments 的条目,那么这些将通过 exec 技术强制分叉JVM。

您的--list-config节目......

--list-config

如果we look at the logging-logback module you have enabled我们会看到......

Jetty Environment:
-----------------
 jetty.version = 9.4.3.v20170317
 jetty.tag.version = master
 jetty.home = /opt/prod-server/nm_jetty/jetty-9.4.3
 jetty.base = /opt/prod-server/nm_jetty/roy-comp-jetty/.

Config Search Order:
--------------------
 <command-line>
 ${jetty.base} -> /opt/prod-server/nm_jetty/roy-comp-jetty/.
 ${jetty.home} -> /opt/prod-server/nm_jetty/jetty-9.4.3


JVM Arguments:
--------------
 -Dorg.eclipse.jetty.util.log.class?=org.eclipse.jetty.util.log.Slf4jLog

System Properties:
------------------
 STOP.KEY = stop-roy-comp
 STOP.PORT = 15041
 conf.dir = .
 jetty.base = .

Properties:
-----------
 STOP.KEY = stop-roy-comp
 STOP.PORT = 15041
 conf.dir = .
 java.version = 1.8.0_65
 java.version.major = 1
 java.version.micro = 0
 java.version.minor = 8
 java.version.platform = 8
 java.version.update = 65
 jetty.base = /opt/prod-server/nm_jetty/roy-comp-jetty/.
 jetty.http.port = 15040
 jetty.webapp.addServerClasses = ${jetty.base.uri}/lib/slf4j/,${jetty.base.uri}/lib/logback/
 logback.version = 1.1.7
 slf4j.version = 1.7.21