[
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