<?xml version="1.0"?>
<!--
  Licensed to the Apache Software Foundation (ASF) under one or more
  contributor license agreements.  See the NOTICE file distributed with
  this work for additional information regarding copyright ownership.
  The ASF licenses this file to You under the Apache License, Version 2.0
  (the "License"); you may not use this file except in compliance with
  the License.  You may obtain a copy of the License at
  
       http://www.apache.org/licenses/LICENSE-2.0
  
  Unless required by applicable law or agreed to in writing, software
  distributed under the License is distributed on an "AS IS" BASIS,
  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  See the License for the specific language governing permissions and
  limitations under the License.
-->
<cache 
	xmlns="http://geode.apache.org/schema/cache" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://geode.apache.org/schema/cache http://geode.apache.org/schema/cache/cache-1.0.xsd" version="1.0">
	<cache-server port="HOST_PORT3">
		<group>ServerGroup1</group>
	</cache-server>
	<region name='partition_region'>
		<region-attributes data-policy="partition">
			<partition-attributes redundant-copies="1" startup-recovery-delay="1"/>
		</region-attributes>
	</region>
	<function-service>
		<function>
			<class-name>javaobject.MultiGetFunctionI</class-name>
		</function>
		<function>
			<class-name>javaobject.MultiPutFunctionI</class-name>
		</function>
		<function>
			<class-name>javaobject.MultiGetFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.MultiPutFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.RegionOperationsHAFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.RegionOperationsFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.ExceptionHandlingFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.OnServerHAExceptionFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.OnServerHAShutdownFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.SingleStrGetFunction</class-name>
		</function>
		<function>
			<class-name>javaobject.executeFunction_SendException</class-name>
		</function>
		<function>
			<class-name>javaobject.FEOnRegionPrSHOP</class-name>
		</function>
		<function>
			<class-name>javaobject.FEOnRegionPrSHOP_OptimizeForWrite</class-name>
		</function>
		<function>
			<class-name>javaobject.RegionOperationsHAFunctionPrSHOP</class-name>
		</function>
	</function-service>
	<serialization-registration>
		<instantiator id="5200">
			<class-name>javaobject.InstantiatorTest</class-name>
		</instantiator>
	</serialization-registration>
</cache>