簡體   English   中英

JBOSS部署中出錯javax.management.InstanceNotFoundException

[英]Error in JBOSS deployment javax.management.InstanceNotFoundException

我的環境問題非常奇怪jboss-5.1.0.GA java版“1.6.0_33”Java(TM)SE運行時環境(版本1.6.0_33-b03)Java HotSpot(TM)64位服務器VM(內置20.8-b03,混合模式)

直到我在上下文中更新某個jar的版本(在這個沒有錯誤之前在6個環境中測試過)之前它才完全正常工作。 錯誤之前我有這個文件:

服務器/ default / deploy目錄/ MyFolder文件

-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停止)並更新theese三個文件/文件夾(刪除舊文件和新文件)

-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 )時,應用程序停止顯示此錯誤,所以我很明顯,錯誤是使用該包然后我將它應用於鏡像服務器上並且錯誤確實'出現了。

所以我現在沒有選擇。 應用程序對用戶工作正常,但錯誤仍然出現在日志中,這非常煩人。

這里有人經歷過這樣的事嗎?

我在2天前在community.jboss.org上發布了這個問題,沒有任何幫助:

在此先感謝,對不起我的英語。

該錯誤基本上意味着JBoss無法在其樹中找到服務MBean。 您是否看到在jmx-console中部署了該服務?

您將看到InstanceNotFoundException: jboss.j2ee:jar=sc-core-2.38.6.0.jar,name=ApCarBusinessImpl,service=EJB3 is not registered因為:

某些外部服務/工具/應用程序或您自己的應用程序正在嘗試調用該特定服務( name=ApCarBusinessImpl,service=EJB3 )。 由於JBoss無法在任何地方找到它(因為您更新了已部署的JAR),因此它只是記錄了它無法找到要求它調用的MBean的消息。

要解決此問題,您需要找出誰在舊服務名稱上發出請求( jboss.j2ee:jar=sc-core-2.38.6.0.jar )並將其更新為指向新服務名稱。 這應該解決看到這些異常日志消息。

由Jorge Campos編輯:

正如@Coolbeans所說,確實是一個外部服務,我在JBoss上調用了我的bean。 我發現在已安裝的jboss中存在未正確配置的安全問題(jmx-console)。 因此,有一種蠕蟲在我的應用程序服務器(某種緩存)中向一個預先安裝的bean發出請求。 在jboss安裝中進行了一些挖掘后,我發現這個war iesvc.war是一個蠕蟲,如本線程中所述https://community.jboss.org/blogs/mjc/2011/10/20/statement-regarding-security-threat -to-的JBoss應用服務器

蠕蟲是JAVA_JBOSSPY.A由趨勢微型辦公室掃描識別。

所以,謝謝你的回答@Coolbeans你是對的,正如你所說的那樣是“一些外部服務/工具/應用程序”。

這有時是由PU名稱引起的。 嘗試將PU名稱更改為其他名稱,清理並構建和部署。

問候

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM