1 18 package org.apache.activemq.transport; 19 20 import java.io.IOException ; 21 22 import org.apache.activemq.command.Command; 23 import org.apache.activemq.wireformat.WireFormat; 24 25 public class MarshallingTransportFilter extends TransportFilter { 26 27 private final WireFormat localWireFormat; 28 private final WireFormat remoteWireFormat; 29 30 public MarshallingTransportFilter(Transport next, WireFormat localWireFormat, WireFormat remoteWireFormat) { 31 super(next); 32 this.localWireFormat = localWireFormat; 33 this.remoteWireFormat = remoteWireFormat; 34 } 35 36 public void oneway(Object command) throws IOException { 37 next.oneway((Command) remoteWireFormat.unmarshal(localWireFormat.marshal(command))); 38 } 39 40 public void onCommand(Object command) { 41 try { 42 getTransportListener().onCommand((Command)localWireFormat.unmarshal(remoteWireFormat.marshal(command))); 43 } catch (IOException e) { 44 getTransportListener().onException(e); 45 } 46 } 47 48 } 49 | Popular Tags |