当前位置:网站首页>tongweb使用之端口冲突处理办法
tongweb使用之端口冲突处理办法
2022-06-24 13:03:00 【yeyuningzi】
问题现象:tongweb服务启动时 提示:[SEVERE] [main] [core] [address already in use: 8005]

提示8005端口已经在用,此时我电脑上已经启动了tomcat tomcat的默认关闭端口就是8005。因此我们可以采用:关闭tomcat 、修改tomcat默认关闭端口、修改tongweb端口 等方式使得使用的端口不冲突。
本文介绍不关闭tomcat、不修改tomcat端口而是修改 tongweb端口的方式处理此类端口冲突问题。
要想修改端口,在未启动服务的情况下,需要通过修改配置文件来达成,因此我们需要了解tongweb的默认端口配置文件位置:
tongweb使用的默认端口情况如下:
服务程序 | 功能 | 默认端口/协议 | 端口作用 | 所在配置文件 |
|---|---|---|---|---|
| TongWeb | 提供服务的核心进程 | 8088 | 默认应用访问端口 | conf/tongweb.xml |
| 9060 | 默认控制台端口 | |||
| 7200 | JMX端口,并随机启动两个端口 | |||
| 5100 | EJB远程端口 | |||
| 8005 | 默认停止端口 |
可见tongweb默认的应用访问端口8088、控制台端口9060、jmx端口7200、EJB远程端口 5100以及默认停止端口8005均在安装根目录的conf文件夹里的tongweb.xml文件里,

找到此文件tongweb.xml,查看到内容大致如下(不同版本内容可能存在不同):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<tongweb>
<auto-deploy enabled="true" jsp-compile="false" dir="${tongweb.root}/autodeploy" check-interval="3000"/>
<hot-deploy enabled="false" watched-resource="WEB-INF/web.xml,MATA-INF/application.xml"/>
<apps>
<web-app name="console" original-location="${tongweb.upload}/console" location="${tongweb.sysapp}/console" context-root="/console" vs-names="admin" is-directory="true" enabled="true" description="console" deploy-order="1" object-type="sys" jsp-compile="false" dtd-validate="false" is-autodeploy="false" delegate="false"/>
<web-app name="heimdall" original-location="${tongweb.upload}/heimdall" location="${tongweb.sysapp}/heimdall" context-root="/heimdall" vs-names="admin" is-directory="true" enabled="true" description="heimdall" deploy-order="1" object-type="sys" jsp-compile="false" dtd-validate="false" is-autodeploy="false" delegate="false"/>
<web-app name="sysweb" original-location="${tongweb.upload}/sysweb" location="${tongweb.sysapp}/sysweb" context-root="/sysweb" vs-names="admin" is-directory="true" enabled="true" description="sysweb" deploy-order="1" object-type="sys" jsp-compile="false" dtd-validate="false" is-autodeploy="false" delegate="false"/>
<web-app name="ntkoSignServer" original-location="F:/SignServer/ntkoSignServer" location="F:/SignServer/ntkoSignServer" context-root="/ntkoSignServer" vs-names="server" is-directory="true" enabled="true" description="" deploy-order="100" object-type="user" jsp-compile="false" dtd-validate="false" is-autodeploy="false" version="" retire-state="none" retire-strategy="nature" retire-timeout="0" version-serial-number="1" delegate="false"/>
<connector-app name="genericra" original-location="${tongweb.upload}/genericra" location="${tongweb.sysapp}/genericra" is-directory="true" enabled="true" thread-pool="default-thread-pool" deploy-order="1" object-type="sys" dtd-validate="false" is-autodeploy="false" version="">
<property name="LogLevel" value="INFO"/>
<property name="JndiProperties" value="java.naming.factory.initial=com.sun.jndi.fscontext.RefFSContextFactory,java.naming.provider.url=file:${tongweb.root}/apache-activemq/conf"/>
<property name="RMPolicy" value="OnePerPhysicalConnection"/>
<property name="SupportsXA" value="false"/>
<property name="ProviderIntegrationMode" value="jndi"/>
</connector-app>
</apps>
<server jsf="false">
<web-container jsp-development="true" parameter-encoding="UTF-8" response-encoding="UTF-8" jvm-route="" session-timeout="30" hung-thread-threshold="0" hostnameVerifier="NullHostnameVerifier">
<access-log pattern="%{yyyyMMddHHmmssSSS}t %U %m %a %D" suffix=".txt" log-extend="false" file-date-format="yy.MM.dd.HH"/>
<virtual-host name="admin" listeners="system-http-listener" accesslog-enabled="false" accesslog-dir="logs/access" sso-enabled="false" remote-filter-enabled="false">
<sso/>
<remote-filter/>
</virtual-host>
<virtual-host name="server" listeners="tong-http-listener" accesslog-enabled="false" accesslog-dir="logs/access" sso-enabled="false" remote-filter-enabled="false">
<sso/>
<remote-filter/>
</virtual-host>
<http-listener name="system-http-listener" port="9060" io-mode="nio2" redirect-port="8443" uri-encoding="GBK" parse-body-methods="POST,DELETE,PUT" default-virtual-host="admin" create-time="2019-10-29 10:54:11">
<ssl/>
<protocol max-threads="200" min-spare-threads="10"/>
<http-options/>
<advance/>
</http-listener>
<http-listener name="tong-http-listener" port="8088" status="started" address="0.0.0.0" io-mode="nio2" http2-enabled="false" ssl-enabled="false" redirect-port="8443" uri-encoding="UTF-8" use-body-encoding-for-uri="false" max-parameter-count="10000" max-post-size="2097152" parse-body-methods="POST" default-virtual-host="server" create-time="2019-10-29 10:54:11">
<ssl/>
<protocol not-allow-HTTP-methods="TRACE,OPTIONS,HEAD,CONNECT,DELETE" async-timeout="10000" enable-lookups="false" max-header-count="100" use-ipv-hosts="false" xpowered-by="false" backlog="100" accept-thread-count="1" connection-timeout="60000" keep-alive-timeout="60000" max-threads="200" min-spare-threads="10" processor-cache="200" tcp-no-delay="true" max-connections="10000" self-tuned="false">
<property name="threadPriority" value="5"/>
</protocol>
<http-options compression="off" compressable-mime-type="text/html,text/xml,text/plain" compression-min-size="2048" disable-upload-timeout="true" max-http-header-size="8192" max-keep-alive-requests="100"/>
<advance disable-keep-alive-percentage="75" selector-timeout="1000" usecomet="true" use-sendfile="true" oom-parachute="1048576"/>
<property name="server" value="webserver"/>
</http-listener>
<http-listener name="ejb-server-listener" port="5100" uri-encoding="GBK" parse-body-methods="POST" default-virtual-host="server" create-time="2019-10-29 10:54:12">
<ssl/>
<protocol max-threads="200" min-spare-threads="10"/>
<http-options/>
<advance/>
</http-listener>
<property name="complete.message.timeout.seconds" value="0"/>
<property name="max.attack.times" value="3"/>
<property name="blacklist.expired.hours" value="12"/>
<property name="interrupt.current.connect" value="true"/>
<property name="unloadDelay" value="2"/>
<property name="addWebinfClassesResources" value="false"/>
<property name="sessionLog" value="false"/>
<property name="hostHeaderGuard" value="false"/>
<property name="hostHeaderGuardWhiteList" value=""/>
</web-container>
<ejb-container>
<stateful/>
<singleton/>
<stateless/>
<mdb/>
</ejb-container>
<security-service>
<auth-realm name="defaultRealm" type="File">
<property name="UsersFile" value="twusers.properties"/>
<property name="GroupsFile" value="twgroups.properties"/>
</auth-realm>
</security-service>
<transaction-service transaction-timeout-in-seconds="3600"/>
<monitor-service monitoring-enabled="false" flush-interval="60" flush-time-threshold="1800" persist-enabled="false" rotation-limit-val="10" rotation-limit-unit="MB">
<monitor-config name="Memory" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="JVMMemoryPool" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="GarbageCollector" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="JVMThread" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="Compilation" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="ClassLoading" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="Runtime" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="OperatingSystem" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="TWServer" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="ConnectorAndThreadPool" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="DataSource" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="DataSourceLite" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="TransactionManager" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="JCA" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="WebModule" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="SessionManager" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="Loader" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
<monitor-config name="ResourceCache" monitoring-enabled="false" produce-interval="10" persistent-enabled="false"/>
</monitor-service>
<jmx-service port="7200" address="127.0.0.1" protocol="rmi"/>
<jms-service/>
<log-service file="${tongweb.root}/logs/server.log" rotation-limit="50 MB" rotation-timelimit="0" rotation-file-count="20" rotation-by-day="false" log-format="[%d{yyyy-MM-dd HH:mm:ss SSS}] [%p] [%t] [%c] [%m]%n" rotation="true" verbose="false" asynclog-on="false" thread-num="1" capacity="2147483647">
<module-log-levels ejb-container="INFO" web-container="INFO" cdi="INFO" jpa="INFO" jsf-impl="INFO" jsf-api="INFO" jta="INFO" jca="INFO" data-source="INFO" jms-resource="INFO" beanvalidation="INFO" naming="INFO" admin="INFO" configuration="INFO" deployment="INFO" monitor-service="INFO" core="INFO" security="INFO" rmi-service="INFO" systemout="INFO" other="INFO" javamail="INFO"/>
</log-service>
<log-save-path sql-log-path="logs" audit-log-path="logs/audit-log" persistence-log-path="persistence"/>
<compress-log-service compress-enabled="false,false,false" log-dir="${tongweb.root}/logs,${tongweb.root}/logs/access,${tongweb.root}/persistence" compress-obj="1,2,3" rotation-time="1,1,1" execution-time="1,1,1"/>
<snmp-service enabled="false" port="161" address="0.0.0.0" version="3" transportType="udp" engineID="62:a0:c1:81:11:c3:17:33" securityName="public" authKey="nmsAuthKey" privKey="myDesPriviateKey"/>
<jca-thread-pool name="default-thread-pool" min-threads="10" max-threads="200" queue="100" keep-alive-time="3600"/>
</server>
<snapshot>
<auto-snapshot interval-second="5" relation="or">
<contents jstack="true" jmap="true" config="true" monitor="true" system-log="true" access-log="true" gc-log="true"/>
</auto-snapshot>
<size-clear disk-remain-percent="20%" clear-percent="60%"/>
<time-clear timeout-day="30"/>
</snapshot>
</tongweb>
可以看到涉及端口的信息如下:
system-http-listener 即系统控制台端口信息:
<http-listener name="system-http-listener" port="9060" io-mode="nio2" redirect-port="8443" uri-encoding="GBK" parse-body-methods="POST,DELETE,PUT" default-virtual-host="admin" create-time="2019-10-29 10:54:11">
<ssl/>
<protocol max-threads="200" min-spare-threads="10"/>
<http-options/>
<advance/>
</http-listener>
tong-http-listener 即http 通道端口 也就是应用程序访问端口信息:
<http-listener name="tong-http-listener" port="8088" status="started" address="0.0.0.0" io-mode="nio2" http2-enabled="false" ssl-enabled="false" redirect-port="8443" uri-encoding="UTF-8" use-body-encoding-for-uri="false" max-parameter-count="10000" max-post-size="2097152" parse-body-methods="POST" default-virtual-host="server" create-time="2019-10-29 10:54:11">
<ssl/>
<protocol not-allow-HTTP-methods="TRACE,OPTIONS,HEAD,CONNECT,DELETE" async-timeout="10000" enable-lookups="false" max-header-count="100" use-ipv-hosts="false" xpowered-by="false" backlog="100" accept-thread-count="1" connection-timeout="60000" keep-alive-timeout="60000" max-threads="200" min-spare-threads="10" processor-cache="200" tcp-no-delay="true" max-connections="10000" self-tuned="false">
<property name="threadPriority" value="5"/>
</protocol>
<http-options compression="off" compressable-mime-type="text/html,text/xml,text/plain" compression-min-size="2048" disable-upload-timeout="true" max-http-header-size="8192" max-keep-alive-requests="100"/>
<advance disable-keep-alive-percentage="75" selector-timeout="1000" usecomet="true" use-sendfile="true" oom-parachute="1048576"/>
<property name="server" value="webserver"/>
</http-listener>
ejb-server-listener 即ejb服务端口信息:
<http-listener name="ejb-server-listener" port="5100" uri-encoding="GBK" parse-body-methods="POST" default-virtual-host="server" create-time="2019-10-29 10:54:12">
<ssl/>
<protocol max-threads="200" min-spare-threads="10"/>
<http-options/>
<advance/>
</http-listener>jmx-server port及jmx服务端口:
<jmx-service port="7200" address="127.0.0.1" protocol="rmi"/>
<jms-service/>8005的端口信息比较难找 ,内容为:
<server jsf="false">没有配置 就是默认的8005。 将此项内容改为:
<server shutdown-port="8006" jsf="false">
将对应的端口设置成可用的就可以了。
再重启tongweb服务,查看效果:

边栏推荐
- 10_那些格調很高的個性簽名
- 专精特新“小巨人”再启动,“企业上云”数字赋能
- 在线文本实体抽取能力,助力应用解析海量文本数据
- Jerry has opened a variety of decoding formats, and the waiting time from card insertion to playback is long [chapter]
- ASCII code table extracted from tanhaoqiang's C program design (comparison table of common characters and ASCII codes)
- laravel下视图间共享数据
- OpenHarmony 1
- pip uninstall all packages except builtin package
- 10_那些格调很高的个性签名
- markdown/LaTeX中在字母下方输入圆点的方法
猜你喜欢

遠程辦公之:在家露營辦公小工具| 社區征文

v-if 和 v-show 的区别

杰理之红外滤波【篇】

Win10 system problems

OpenHarmony 1

SAP Marketing Cloud 功能概述(三)

Getting to know cloud native security for the first time: the best guarantee in the cloud Era

puzzle(016.2)指画星河

Rasa 3.x 学习系列-非常荣幸成为 Rasa contributors 源码贡献者,和全世界的Rasa源码贡献者共建共享Rasa社区!

Télétravail: Camping à la maison gadgets de bureau | rédaction communautaire
随机推荐
The function and principle of key in V-for
CONDA and pip commands
打败 二叉树!
pip uninstall all packages except builtin package
90% of the project managers have skipped the pit. Are you still in the pit?
One click to generate University, major and even admission probability. Is it so magical for AI to fill in volunteer cards?
Method of establishing unity thermodynamic diagram
greendao使用问题
JS remove string spaces
English writing of Mathematics -- Basic Chinese and English vocabulary (common vocabulary of geometry and trigonometry)
10 Ces autographes très stylisés.
智慧园区SaaS管理系统解决方案:赋能园区实现信息化、数字化管理
Baidu map API drawing points and tips
在CVS中恢复到早期版本
Puzzle (016.2) finger painting Galaxy
取消冒泡
专精特新“小巨人”再启动,“企业上云”数字赋能
Kotlin coordination channel
智源社区周刊#86:Gary Marcus谈大模型研究可借鉴的三个语言学因素;谷歌提出媲美Imgen的文生图模型Parti;OpenAI提出视频预训练模型VPT,可玩MC游戏
杰理之可能出现有些芯片音乐播放速度快【篇】