Description of problem: When starting JBoss ON Server, the following ERROR message is logged: 14:48:27,910 INFO [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jboss-remoting-servlet-invoker]] (http-/10.33.0.12:7443-5) ServerInvokerServlet: invokerObjectNameQuery=jboss.remoting:service=invoker,rhq.communications.connector.rhqtype=server,* 14:48:27,911 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jboss-remoting-servlet-invoker].[ServerInvokerServlet]] (http-/10.33.0.12:7443-5) JBWEB000235: Allocate exception for servlet ServerInvokerServlet: javax.servlet.ServletException: Could not find the remoting servlet invoker: jboss.remoting:service=invoker,rhq.communications.connector.rhqtype=server,* - need to wait for remoting to be initialized later at org.rhq.enterprise.communications.servlet.ServerInvokerServlet.getInvokerFromInvokerName(ServerInvokerServlet.java:78) [classes:] at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.init(ServerInvokerServlet.java:78) [jboss-remoting-2.5.4.SP4.jar:] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [rt.jar:1.7.0_25] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) [rt.jar:1.7.0_25] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) [rt.jar:1.7.0_25] at java.lang.reflect.Method.invoke(Method.java:606) [rt.jar:1.7.0_25] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:263) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil$1.run(SecurityUtil.java:261) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.security.AccessController.doPrivileged(Native Method) [rt.jar:1.7.0_25] at javax.security.auth.Subject.doAsPrivileged(Subject.java:536) [rt.jar:1.7.0_25] at org.apache.catalina.security.SecurityUtil.execute(SecurityUtil.java:295) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:155) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.security.SecurityUtil.doAsPrivilege(SecurityUtil.java:108) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1188) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardWrapper.allocate(StandardWrapper.java:950) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:151) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50) [jboss-as-jpa-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.2.1.Final-redhat-10.jar:7.2.1.Final-redhat-10] at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:336) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:920) [jbossweb-7.2.2.Final-redhat-1.jar:7.2.2.Final-redhat-1] at java.lang.Thread.run(Thread.java:724) [rt.jar:1.7.0_25] Version-Release number of selected component (if applicable): RHQ 4.9 How reproducible: Sometimes - when the agent is still running and is trying to connect to the JBoss ON Server before the server is actually up. Steps to Reproduce: 1. 2. 3. Actual results: Above ERROR messages are logged in the server.log file until the following message is logged in the server.log file: INFO [org.rhq.enterprise.server.core.StartupBean] (pool-7-thread-1) Starting the server-agent communications services... Expected results: No ERROR messages in the server.log file. Additional info: Remote servlet is enabled too early in the server start up procedure so the running agents can try to contact server before the server is actually up. We should change this so that remote servlet is enabled later so that we don't get ERROR messages in the log file.
This exception is unfortunately not something under our control. What we have done for JON 3.2.0/4.10 is enhance the messaging to say: 09:25:29,308 ERROR [org.apache.catalina.core.ContainerBase.[jboss.web].[default-host].[/jboss-remoting-servlet-invoker].[ServerInvokerServlet]] (http-/0.0.0.0:7080-1) JBWEB000235: Allocate exception for servlet ServerInvokerServlet: javax.servlet.ServletException: Could not find the remoting servlet invoker [jboss.remoting:service=invoker,rhq.communications.connector.rhqtype=server,*]. DURING SERVER STARTUP AND INITIALIZATION THIS IS NOT AN ERROR AND CAN BE IGNORED. This may be a problem if occurring during normal server runtime. There is nothing else planned for this issue as it is expected during startup, but not harmful. We do not want to suppress the problem during normal runtime and so we don't want to suppress the message in general. Asking for feedback for whether this can be closed...
note: see the JON BZ for more discussion...
I think the only thing we can do is just duplicate the jboss/remoting servlet code entirely, and tweek it so it lazily loads the MBean. So copy this class (which is what our servlet extends actually): org.jboss.remoting.transport.servlet.web.ServerInvokerServlet and put the code in our class and tweek it so it lazily loads the servletInvoker I *think* that would be the answer.
Created attachment 860342 [details] ServerInvokerServlet.java attached is the base J/Remoting class we extend. Rather than us just overriding the one protected method to get the MBean instance, just copy the whole thing in our class and tweek it as necessary. I assume we can figure out something if we do that.
should no longer see that log message at startup. git master commit: 809d86f43c966e6a527e32cddabf5b1c4ce56ab4
Bulk closing of 4.10 issues. If an issue is not solved for you, please open a new BZ (or clone the existing one) with a version designator of 4.10.
This Bugzilla is already closed. Submitting this to clear needInfo flag.