【问题标题】:Error starting jpos Q2 server : java.net.UnknownHostException启动 jpos Q2 服务器时出错:java.net.UnknownHostException
【发布时间】:2017-12-24 02:24:46
【问题描述】:

我已经在 linux (centos) 机器上部署了独立的 Q2 服务器。启动 Q2 服务器时,我收到 UnknownHostException。我无法弄清楚 Q2 服务器指的是哪个主机。我在部署文件夹中使用基于 channel_adapter、server_config、qserver_mux 和 txnmgr_config xml 的配置。在我重新启动服务之前,同样的工作。请找到 q2.log 的摘录。

</log>
<log realm="Q2.system" at="Sun Dec 24 08:22:36 NPT 2017.111">
  <info>
    deploy:/home/cmsadmin/isoserver/deploy/99_sysmon.xml
  </info>
</log>
<log realm="org.jpos.q2.iso.QServer" at="Sun Dec 24 08:22:57 NPT 2017.4">
  <warn>
    error starting service
    <iso-exception>
      org.jpos.core.ConfigurationException: org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org) (org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org))
      <iso-exception>
        org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org)
        <iso-exception>
          java.net.UnknownHostException: jpos.org
          <nested-exception>
          java.net.UnknownHostException: jpos.org
    at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
    at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
    at java.net.Socket.connect(Socket.java:589)
    at java.net.Socket.connect(Socket.java:538)
    at sun.net.NetworkClient.doConnect(NetworkClient.java:180)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:432)
    at sun.net.www.http.HttpClient.openServer(HttpClient.java:527)
    at sun.net.www.http.HttpClient.<init>(HttpClient.java:211)
    at sun.net.www.http.HttpClient.New(HttpClient.java:308)
    at sun.net.www.http.HttpClient.New(HttpClient.java:326)
    at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1169)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1105)
    at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:999)
    at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:933)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1513)
    at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1441)
    at org.apache.xerces.impl.XMLEntityManager.setupCurrentEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startEntity(Unknown Source)
    at org.apache.xerces.impl.XMLEntityManager.startDTDEntity(Unknown Source)
    at org.apache.xerces.impl.XMLDTDScannerImpl.setInputSource(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentScannerImpl$DTDDispatcher.dispatch(Unknown Source)
    at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
    at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
    at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
    at org.jpos.iso.packager.GenericPackager.readFile(GenericPackager.java:180)
    at org.jpos.iso.packager.GenericPackager.setConfiguration(GenericPackager.java:145)
    at org.jpos.q2.QFactory.setConfiguration(QFactory.java:390)
    at org.jpos.q2.iso.ChannelAdaptor.newChannel(ChannelAdaptor.java:221)
    at org.jpos.q2.iso.QServer.newChannel(QServer.java:70)
    at org.jpos.q2.iso.QServer.initServer(QServer.java:78)
    at org.jpos.q2.iso.QServer.startService(QServer.java:108)
    at org.jpos.q2.QBeanSupport.start(QBeanSupport.java:114)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.Trampoline.invoke(MethodUtil.java:71)
    at sun.reflect.GeneratedMethodAccessor1.invoke(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at sun.reflect.misc.MethodUtil.invoke(MethodUtil.java:275)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:112)
    at com.sun.jmx.mbeanserver.StandardMBeanIntrospector.invokeM2(StandardMBeanIntrospector.java:46)
    at com.sun.jmx.mbeanserver.MBeanIntrospector.invokeM(MBeanIntrospector.java:237)
    at com.sun.jmx.mbeanserver.PerInterface.invoke(PerInterface.java:138)
    at com.sun.jmx.mbeanserver.MBeanSupport.invoke(MBeanSupport.java:252)
    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:819)
    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:801)
    at org.jpos.q2.QFactory.startQBean(QFactory.java:199)
    at org.jpos.q2.Q2.start(Q2.java:464)
    at org.jpos.q2.Q2.deploy(Q2.java:282)
    at org.jpos.q2.Q2.start(Q2.java:183)
    at org.jpos.q2.Q2.main(Q2.java:651)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)
          </nested-exception>
          org.jpos.iso.ISOException: java.net.UnknownHostException: jpos.org (java.net.UnknownHostException: jpos.org)

【问题讨论】:

  • 日志说无法解析的主机是jpos.org。由于某种原因,您的机器无法将 jpos.org 主机解析为 IP 地址。您可以尝试 ping 它以查看它是否显示像这样的 ip: $ ping jpos.org PING jpos.org (52.7.83.125) 56(84) 字节的数据。该主机在您的通道适配器配置文件中定义。
  • @AndrésAlcarraz 但是我在我的配置文件中找不到这个地址 jpos.org。 codeIN OUTcode
  • 请在问题中添加更多信息,包括该信息。例如 pack.xml 的内容。我猜你的问题是指向 jpos.org 的 dtd 引用。 "ttp://jpos.org/dtd/generic-packager-1.0.dtd" rel="nofollow" target="_blank">jpos.org/dtd/generic-packager-1.0.dtd">" 并且您的服务器无法解决它。
  • 请问您运行的是哪个版本的 jpos?

标签: linux jpos


【解决方案1】:

截至@apr 评论,您可以将cfg/pack.xml 中的序言更改为:

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!DOCTYPE isopackager PUBLIC "-//jPOS/jPOS Generic Packager DTD 1.0//EN" "jpos.org/dtd/generic-packager-1.0.dtd">

【讨论】:

  • 这实际上不是必需的。如果您使用正确的 XML 前导码,即: ttp://jpos.org/dtd/generic-packager-1.0.dtd" rel="nofollow" target="_blank">jpos.org/dtd/generic-packager-1.0.dtd"> 然后 jPOS 使用其内部实体解析器并且不连接到 Internet 来获取 DTD。
猜你喜欢
  • 1970-01-01
  • 2019-01-22
  • 1970-01-01
  • 2012-04-18
  • 2011-01-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多