[jboss-user] [Remoting] - Config for EJB3 over servlet-invoker with compression

MarcReis do-not-reply at jboss.com
Wed Jul 4 06:48:46 EDT 2007


Hi,

I am trying to get compression for the http communication between client and server.
We are using JBoss 4.2.0.
The communication over HTTP via the servlet-invoker works fine.
Now we wanted to add compression to it. So there are two points that I see were this could be done (three with apache in mind).(My primary question upfront: what am I missing for the CompressionMarshaller to work?)

1.) Add the compression="force" attribute in the jboss-web(tomcat) config for the http connector. (-> seems like application/octet-streams don?t get zipped)
2.) Use the org.jboss.remoting.marshal.compress.CompressingMarshaller/CompressingUnMarshaller (-> probably missing some config, nothing happens here)  in the ejb3 connector.

For one I am wondering which would be best practice (if both is possible). In general I want to compress all there is.
I have tried numerous config permutations, but none offer the result I would expect.

Concerning the CompressingMarshaller it seems that I am missing some more config. I guess I need to somehow tell the servlet-invoker to talk gzip, since there is no difference with defining the CompressingMarshaller and "normal" communication.
When tomcat compression is enabled, it seems that some data is compressed, but the main payload is transmitted as application/octet-stream and does not seem to get compressed
I sniffed the communication with wire shark to see what is happening "down there". Just using the CompressionMarshaller shows no sign of gzip?ed data anywhere, so I guess I am somehow bypassing it.

Sincerely Marc

The config in ejb3-deployer/META-INF/jboss-service.xml
?
  | <mbean code="org.jboss.remoting.transport.Connector"
  |           name="jboss.remoting:type=Connector,name=DefaultEjb3Connector,handler=ejb3">
  |           <depends>jboss.aop:service=AspectDeployer</depends>
  |           <attribute name="InvokerLocator">servlet://${jboss.bind.address}:8080/servlet-invoker/ServerInvokerServlet</attribu
  | te>
  |           <attribute name="Configuration">
  |             <handlers>
  |                     <handler subsystem="AOP">org.jboss.aspects.remoting.AOPRemotingInvocationHandler</handler>
  |             </handlers>
  |                 <attribute name="dataType" isParam="true">serializable</attribute>
  |                 <attribute name="marshaller" isParam="true">
  |                         org.jboss.remoting.marshal.compress.CompressingMarshaller
  |                 </attribute>
  |                 <attribute name="unmarshaller" isParam="true">
  |                         org.jboss.remoting.marshal.compress.CompressingUnMarshaller
  |                 </attribute>
  |          </attribute>
  |          </mbean>
  | ?

View the original post : http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4060342#4060342

Reply to the post : http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4060342



More information about the jboss-user mailing list