<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd">

<!--
  - Contacts web application
  - $Id: remoting-servlet.xml 469 2004-11-20 05:28:20Z benalex $
  -->
<beans>

	<!-- RMI exporter for the ContactManager -->
	<!-- This could just as easily have been in
		 applicationContext-common-business.xml, because it doesn't rely on
		 DispatcherServlet or indeed any other HTTP services. It's in this
		 application context simply for logical placement with other
		 remoting exporters. -->
	<!-- COMMENTED OUT BY DEFAULT TO AVOID CONFLICTS WITH APPLICATION SERVERS
	<bean id="contactManager-rmi" class="org.springframework.remoting.rmi.RmiServiceExporter">
		<property name="service"><ref bean="contactManager"/></property>
		<property name="serviceInterface">
			<value>sample.contact.ContactManager</value>
		</property>
		<property name="serviceName"><value>contactManager</value></property>
		<property name="registryPort"><value>1099</value></property>
	</bean>
	-->

	<!-- HTTP invoker exporter for the ContactManager -->
	<!-- Spring's HTTP invoker uses Java serialization via HTTP  -->
	<bean name="/ContactManager-httpinvoker" class="org.springframework.remoting.httpinvoker.HttpInvokerServiceExporter">
		<property name="service"><ref bean="contactManager"/></property>
		<property name="serviceInterface">
			<value>sample.contact.ContactManager</value>
		</property>
	</bean>

	<!-- Hessian exporter for the ContactManager -->
	<!-- Hessian is a slim binary HTTP remoting protocol -->
	<bean name="/ContactManager-hessian" class="org.springframework.remoting.caucho.HessianServiceExporter">
		<property name="service"><ref bean="contactManager"/></property>
		<property name="serviceInterface">
			<value>sample.contact.ContactManager</value>
		</property>
	</bean>

	<!-- Burlap exporter for the ContactManager -->
	<!-- Burlap is a slim XML-based HTTP remoting protocol -->
	<bean name="/ContactManager-burlap" class="org.springframework.remoting.caucho.BurlapServiceExporter">
		<property name="service"><ref bean="contactManager"/></property>
		<property name="serviceInterface">
			<value>sample.contact.ContactManager</value>
		</property>
	</bean>

</beans>
