[jboss-remoting-issues] [JBoss JIRA] Created: (JBREM-981) CLONE [JBREM-980] - ServerInvokerServlet should retrieve ServletServerInvoker based on updated InvokerLocator

Ron Sigal (JIRA) jira-events at lists.jboss.org
Thu May 15 15:16:23 EDT 2008


CLONE [JBREM-980] - ServerInvokerServlet should retrieve ServletServerInvoker based on updated InvokerLocator
-------------------------------------------------------------------------------------------------------------

                 Key: JBREM-981
                 URL: http://jira.jboss.com/jira/browse/JBREM-981
             Project: JBoss Remoting
          Issue Type: Bug
      Security Level: Public (Everyone can see)
    Affects Versions: 2.4.0.CR2
            Reporter: Ron Sigal
         Assigned To: Ron Sigal
             Fix For: 2.4.0.GA


>From Galder:

Consider

  <servlet>
    <servlet-name>Ejb3ServerInvokerServlet</servlet-name>
    <description>The ServerInvokerServlet receives requests via HTTP
       protocol from within a web container and passes it onto the
       ServletServerInvoker for processing.
    </description>

    <servlet-class>org.jboss.remoting.transport.servlet.web.ServerInvokerServlet</servlet-class>
       <init-param>
         <param-name>locatorUrl</param-name>
          <param-value>servlet://${jboss.bind.address}:8080/unified-invoker/Ejb3ServerInvokerServlet</param-value>
         <description>The servlet server invoker</description>
      </init-param>
      <load-on-startup>1</load-on-startup>
    </servlet>

Now, let's say you bind to 0.0.0.0. You'll get an exception like this:

13:39:26,856 ERROR [ContainerBase] Servlet /unified-invoker threw load() exception
javax.servlet.ServletException: Can not find servlet server invoker with same locator as specified (servlet://0.0.0.0:8080/unified-invoker/Ejb3ServerInvokerServlet)
    at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.getInvokerFromInvokerUrl(ServerInvokerServlet.java:198)
    at org.jboss.remoting.transport.servlet.web.ServerInvokerServlet.init(ServerInvokerServlet.java:66)

The problem arises from the fact that Remoting is trying to compare:

  servlet://0.0.0.0:8080/unified-invoker/Ejb3ServerInvokerServlet

with

  servlet://localhost.localdomain:8080/unified-invoker/Ejb3ServerInvokerServlet

So either, ServerInvokerServlet should call ServerInvoker.validateLocator() with locatorUrl, take the return of that and compare that with the list of locators.

Or validateLocator() is modified to have the real original host passed to the InvokerLocator constructor, rather than the transformed or newHost.


-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira

        



More information about the jboss-remoting-issues mailing list