[jboss-jira] [JBoss JIRA] Updated: (JBREM-639) Allow stream factory to be specified for all transports

Tim Fox (JIRA) jira-events at jboss.com
Mon Nov 27 08:18:41 EST 2006


     [ http://jira.jboss.com/jira/browse/JBREM-639?page=all ]

Tim Fox updated JBREM-639:
--------------------------

    Description: 
Normally marshallers will receive the raw underlying transport Input/OuputStream.

In some cases we want to wrap this in a different stream, e.g.in the case of JBossMessaging we want this wrapped in a DataInput/DataOutputStream.

This is accomplished by specifiying a new Client/ServerSocketWrapper in the socket transport URI params which creates the DataInput/OutputStream.

This works fine for the socket transport, but does not work for other transports which do not use SocketWrappers.

E.g. JBM needs to use the HTTP transport too, and needs the underlying stream wrapped in a DataOutput/InputStream.

The current remoting implementation will pass in the underlying stream to the marshaller when the HTTP transport is used, which means we have create and wrap a new DataInput/OuputStream on each invocation request and response which may have performance implications.

Suggestion is to allow a InputStream/OuputStream factory to be specified for ANY transport, not just the socket transport. 

Suggestion is to allow the stream factory to be specified in the URI params, e.g. &streamFactoryClass=org.jboss.tim.MyStreamFactory, and this to be allowed for any transport. If factory is not specified then raw stream is passed into marshaller.

  was:
Normally marshallers will receive the raw underlying transport Input/OuputStream.

In some cases we want to wrap this in a different stream, e.g.in the case of JBossMessaging we want this wrapped in a DataInput/DataOutputStream.

This is accomplished by specifiying a new Client/ServerSocketWrapper in the socket transport URI params which creates the DataInput/OutputStream.

This works fine for the socket transport, but does not work for other transports which do not use SocketWrappers.

E.g. JBM needs to use the HTTP transport too, and needs the underlying stream wrapped in a DataOutput/InputStream.

The current remoting implementation will pass in the underlying stream to the marshaller when the HTTP transport is used, which means we have create and wrap a new DataInput/OuputStream on each invocation request and response which may have performance implications.

Suggestion is to allow a InputStream/OuputStream factory to be specified for ANY transport, not just the socket transport. This would allow how streams are wrapped to be determined in a much more consistent way.

Suggestion is to allow the stream factory to be specified in the URI params, e.g. &streamFactoryClass=org.jboss.tim.MyStreamFactory, and this to be allowed for any transport. If factory is not specified then raw stream is passed into marshaller.


> Allow stream factory to be specified for all transports
> -------------------------------------------------------
>
>                 Key: JBREM-639
>                 URL: http://jira.jboss.com/jira/browse/JBREM-639
>             Project: JBoss Remoting
>          Issue Type: Feature Request
>      Security Level: Public(Everyone can see) 
>            Reporter: Tim Fox
>         Assigned To: Tom  Elrod
>             Fix For: 2.2.0.Alpha4
>
>
> Normally marshallers will receive the raw underlying transport Input/OuputStream.
> In some cases we want to wrap this in a different stream, e.g.in the case of JBossMessaging we want this wrapped in a DataInput/DataOutputStream.
> This is accomplished by specifiying a new Client/ServerSocketWrapper in the socket transport URI params which creates the DataInput/OutputStream.
> This works fine for the socket transport, but does not work for other transports which do not use SocketWrappers.
> E.g. JBM needs to use the HTTP transport too, and needs the underlying stream wrapped in a DataOutput/InputStream.
> The current remoting implementation will pass in the underlying stream to the marshaller when the HTTP transport is used, which means we have create and wrap a new DataInput/OuputStream on each invocation request and response which may have performance implications.
> Suggestion is to allow a InputStream/OuputStream factory to be specified for ANY transport, not just the socket transport. 
> Suggestion is to allow the stream factory to be specified in the URI params, e.g. &streamFactoryClass=org.jboss.tim.MyStreamFactory, and this to be allowed for any transport. If factory is not specified then raw stream is passed into marshaller.

-- 
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-jira mailing list