1

我的环境中有一个非常奇怪的问题,即 jboss-5.1.0.GA java 版本“1.6.0_33”Java(TM) SE 运行时环境(构建 1.6.0_33-b03)Java HotSpot(TM) 64 位服务器虚拟机(内部版本 20.8-b03,混合模式)

直到我在上下文中更新某个 jar 的版本(在此之前在 6 个环境中进行了测试,没有错误)之前,它是完全可用的。在错误之前我有这个文件:

服务器/默认/部署/我的文件夹

-rw-r--r--  1 jboss users  808430 May 16 17:29 s-c-core-2.38.6.0.jar
-rw-r--r--  1 jboss users  555328 May 16 17:29 s-c-dao-2.38.6.0.jar
drwxr-xr-x  9 jboss users    4096 Jun  3 20:11 s-c-web.war
-rw-r--r--  1 jboss users  199259 May  2 16:58 s-com-core-2.38.5.0.jar
-rw-r--r--  1 jboss users  202086 May  2 16:58 s-com-dao-2.38.5.0.jar
-rw-r--r--  1 jboss users 1333612 May  2 16:58 s-com-domain-2.38.5.0.jar
-rw-r--r--  1 jboss users   86526 May  2 16:58 s-com-util-2.38.5.0.jar
-rw-r--r--  1 jboss users  660621 May 11 13:01 s-fin-core-2.38.6.0.jar
-rw-r--r--  1 jboss users  559292 May 11 13:01 s-fin-dao-2.38.6.0.jar
drwxr-xr-x  8 jboss users    4096 May 15 21:41 s-fin-web.war
-rw-r--r--  1 jboss users  108444 May  7 07:29 s-geio-engine-2.38.5.0.jar
drwxr-xr-x  8 jboss users    4096 May 15 21:24 s-geio-web.war
-rw-r--r--  1 jboss users   71975 Jun 14  2012 s-o-core-1.1.4.0.jar
-rw-r--r--  1 jboss users   66516 Jun 14  2012 s-o-dao-1.1.4.0.jar
-rw-r--r--  1 jboss users   53532 Jun 14  2012 s-o-domain-1.1.4.0.jar
-rw-r--r--  1 jboss users   16347 Jun 14  2012 s-o-util-1.1.4.0.jar
drwxr-xr-x  5 jboss users    4096 Jun 14  2012 s-o-web.war
-rw-r--r--  1 jboss users   54588 Apr 10 11:29 s-p-core-2.38.2.0.jar
-rw-r--r--  1 jboss users   35784 Apr 10 11:29 s-p-dao-2.38.2.0.jar
drwxr-xr-x  8 jboss users    4096 Apr 10 19:20 s-p-web.war
-rw-r--r--  1 jboss users   69140 Jun 14  2012 s-s-se-1.1.0.jar
-rw-r--r--  1 jboss users  594214 May 13 13:36 s-ser-core-2.38.6.1.jar
-rw-r--r--  1 jboss users  530903 May 13 13:36 s-ser-dao-2.38.6.1.jar
drwxr-xr-x  9 jboss users    4096 May 15 21:58 s-ser-web.war
drwxr-xr-x  6 jboss users    4096 May 28 08:27 s-te-me.war
-rw-r--r--  1 jboss users  155639 May 15 22:06 s-uni-core-2.38.5.0.jar
-rw-r--r--  1 jboss users  145944 May 15 22:05 s-uni-dao-2.38.5.0.jar
drwxr-xr-x  7 jboss users    4096 May 15 21:20 s-uni-web.war

然后我停止我的 jboss(/etc/init.d/jbossd stop)并只更新这三个文件/文件夹(删除旧文件并放入新文件)

-rw-r--r--  1 jboss users  808430 May 16 17:29 s-c-core-2.38.7.0.jar
-rw-r--r--  1 jboss users  555328 May 16 17:29 s-c-dao-2.38.7.0.jar
drwxr-xr-x  9 jboss users    4096 Jun  3 20:11 s-c-web.war

在服务器以用户 root 和命令“/etc/init.d/jbossd start”启动后,用户开始使用应用程序,并且在日志文件 server/default/log/server.log 上开始出现一些奇怪像这样的错误:

2013-06-04 00:01:30,615 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[localhost].[/jmx-console].[HtmlAdaptor]] (http-0.0.0.0-80-3) Servlet.service() for servlet HtmlAdaptor threw exception
javax.management.InstanceNotFoundException: jboss.j2ee:jar=s-c-core-2.38.6.0.jar,name=ApCarBusinessImpl,service=EJB3 is not registered.
      at org.jboss.mx.server.registry.BasicMBeanRegistry.get(BasicMBeanRegistry.java:526)
      at org.jboss.mx.server.MBeanServerImpl.getMBeanInfo(MBeanServerImpl.java:675)
      at org.jboss.jmx.adaptor.control.Server.getMBeanData(Server.java:98)
      at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$1.run(HtmlAdaptorServlet.java:357)
      at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet$1.run(HtmlAdaptorServlet.java:354)
      at java.security.AccessController.doPrivileged(Native Method)
      at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.getMBeanData(HtmlAdaptorServlet.java:353)
      at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.inspectMBean(HtmlAdaptorServlet.java:224)
      at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.processRequest(HtmlAdaptorServlet.java:100)
      at org.jboss.jmx.adaptor.html.HtmlAdaptorServlet.doGet(HtmlAdaptorServlet.java:81)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:617)
      at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:190)
      at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:92)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
      at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
      at org.apache.catalina.authenticator.SingleSignOn.invoke(SingleSignOn.java:383)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:598)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
      at java.lang.Thread.run(Thread.java:619)

说 EJB 没有实例化(很多)但用户没有任何反应,应用程序继续正常工作

所以我开始验证文件 sc-core-2.38.6.0.jar 是否没有留在我的 jboss 内的某个文件夹中,并且没有。所以我开始认为这是 jboss 正在读取的某种缓存,所以我停止服务并删除文件夹 server/default/tmp 和 server/default/work 并重新启动服务器,但错误继续出现在日志中。

我的 run.conf 是这样的配置:

JAVA_OPTS="-DSB_BASE=$SB_BASE -Dmodulo.context.file=s-o-core-context.xml;s-com-core-context.xml;s-ser-core-context.xml;s-geio-core-context.xml;s-fin-core-context.xml;s-c-core-context.xml;s-uni-core-context.xml;s-p-core-context.xml -Xmx3072m -Xms768m -XX:MaxPermSize=256m -Xss1024k -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -XX:+UseConcMarkSweepGC -Djava.awt.headless=true"

我尝试了很多东西,比如用户权限、文件夹权限、内存配置 (xmx xms) 以及日志文件中不断出现的错误。

当我回到我更改的文件( sc- -2.38.6.0)时,应用程序停止显示此错误,所以我显然虽然该错误与该软件包有关,但我将其应用到镜像服务器上,但错误确实如此' nt出现。

所以我现在没有选择。该应用程序对用户来说工作正常,但错误一直出现在日志中,这很烦人。

这里有人经历过这样的事情吗?

两天前我在community.jboss.org上发布了这个问题,没有任何帮助:

在此先感谢,对不起我的英语。

4

2 回答 2

3

该错误基本上意味着 JBoss 无法在其树中找到服务 MBean。你看到部署在 jmx-console 中的服务了吗?

您看到的InstanceNotFoundException: jboss.j2ee:jar=s-c-core-2.38.6.0.jar,name=ApCarBusinessImpl,service=EJB3 is not registered原因是:

某些外部服务/工具/应用程序或您自己的应用程序正在尝试调用该特定服务 ( name=ApCarBusinessImpl,service=EJB3)。由于 JBoss 找不到它部署在任何地方(由于您更新了已部署的 JAR),它只是记录了它找不到被要求调用的 MBean 的消息。

要解决此问题,您需要找出谁在对旧服务名称 ( jboss.j2ee:jar=s-c-core-2.38.6.0.jar) 发出请求,并将其更新为指向新服务名称。这应该可以解决查看这些异常日志消息的问题。

豪尔赫坎波斯编辑:

正如@Coolbeans 所说,它确实是一个外部服务,它在 JBoss 上调用我的 bean。我发现在安装的 jboss 中存在未正确配置的安全问题(jmx-console)。因此,有一个蠕虫向我的应用程序服务器(某种缓存)中预先安装的 bean 发出请求。在对 jboss 安装进行了一些挖掘之后,我发现了这个战争 iesvc.war,这是一个蠕虫,如该线程中所述 https://community.jboss.org/blogs/mjc/2011/10/20/statement-regarding-security-threat -to-jboss-应用程序服务器

蠕虫是由趋势微办公室扫描识别的 JAVA_JBOSSPY.A。

所以谢谢你的回答@Coolbeans,你是对的,正如你所说,它是一个“一些外部服务/工具/应用程序”。

于 2013-06-06T21:36:49.563 回答
0

这有时是由 PU 名称引起的。尝试将 PU 名称更改为另一个名称,清理并构建和部署。

问候

于 2013-07-11T12:04:57.480 回答