[esb-issues] [JBoss JIRA] Updated: (JBESB-1557) JBossRemotingGateway listener should support multiple listeners for the same host port combination

Kevin Conner (JIRA) jira-events at lists.jboss.org
Thu Jul 10 05:28:26 EDT 2008


     [ http://jira.jboss.com/jira/browse/JBESB-1557?page=all ]

Kevin Conner updated JBESB-1557:
--------------------------------

    Fix Version/s: 4.x
                       (was: 4.4)

> JBossRemotingGateway listener should support multiple listeners for the same host port combination
> --------------------------------------------------------------------------------------------------
>
>                 Key: JBESB-1557
>                 URL: http://jira.jboss.com/jira/browse/JBESB-1557
>             Project: JBoss ESB
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>          Components: Transports
>    Affects Versions: 4.3
>            Reporter: Daniel Bevenius
>         Assigned To: Daniel Bevenius
>             Fix For: 4.x
>
>         Attachments: jboss-remoting.jar, jbossesb-config-model-1.0.1.jar, jbossesb-rosetta.jar, webservice_producer.jar
>
>
> Add support for having multiple jbr listeners listen to  the same host port combination:
>  <jbr-provider name="JBR-Http" protocol="http" host="localhost" path="service1">
>             <jbr-bus busid="Http-1" port="8765" />
> </jbr-provider>
> <jbr-provider name="JBR-Http2" protocol="http" host="localhost" path="service2">
>             <jbr-bus busid="Http-2" port="8765"/>
> </jbr-provider>
> Also notice the addition of the path configuration parameter. This is intended to identify the path that will be used by a ws client that calls the service. Talked to Tom and he suggested placing the path property on the jbr-bus element so I'll change that. The attached example uses this way just as a proof-of-concept (too lazy to change it right now)
> The path is used by the JBossRemoteGatewayListener as the subsystem when adding InvokationHandlers to a Connector. So we are bascically keeping track of JBoss Remting Connectors that share the same host/port combination, and adding InvokationHandlers to them with the above specifed path as their subsystem. 
> This solution requires that the JBoss Remoting ServerInvoker be modified and adding something like this:
> String subsystem = invocation.getSubsystem();
> String clientId = invocation.getSessionId();
> Map requestPayload = invocation.getRequestPayload();
> if ( subsystem == null && requestPayload != null )
> {
>      String path = (String) requestPayload.get( HTTPMetadataConstants.PATH );
>      subsystem = path.substring( path.indexOf( '/' ) + 1 );
> }
> log.info( "subsystem : " + subsystem );
> This is needed so it can set the incoming path as the target subsystem.
> I'm not sure if this is the best way to do this but I'll ask in the Remoting forum if they have a better suggestion. 
> Really, the gain with this is that we can have multiple webservice running in a ESB instance using the same port. This is important because we it becomes difficult opening a separate port for every web service. This is the issue we are facing at the moment. 
> Note that this solution does not work when running multiple ESB instances on the same machine, as this would still cause a port conflict. The solution is specific to a single JVM. 
> Any thought or comments on this?

-- 
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 esb-issues mailing list