<?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_PORT2">
		<group>ServerGroup1</group>
	</cache-server>
	<pdx read-serialized="true" />
	<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.MultiGetFunction2</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.RegionOperationsHAFunctionPrSHOP</class-name>
		</function>
		<function>
			<class-name>javaobject.PdxFunctionTest</class-name>
		</function>
		<function>
			<class-name>javaobject.FEOnRegionPrSHOP</class-name>
		</function>
		<function>
			<class-name>javaobject.FEOnRegionPrSHOP_OptimizeForWrite</class-name>
		</function>
	</function-service>
	<serialization-registration>
		<instantiator id="5200">
			<class-name>javaobject.InstantiatorTest</class-name>
		</instantiator>
	</serialization-registration>
</cache>