Repository: ignite Updated Branches: refs/heads/ignite-2191 54891f8c9 -> 6d8acb1fb
http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/binary/GridDefaultBinaryMappersBinaryMetaDataSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridDefaultBinaryMappersBinaryMetaDataSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridDefaultBinaryMappersBinaryMetaDataSelfTest.java new file mode 100644 index 0000000..041238f --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridDefaultBinaryMappersBinaryMetaDataSelfTest.java @@ -0,0 +1,389 @@ +/* + * 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. + */ + +package org.apache.ignite.internal.binary; + +import java.math.BigDecimal; +import java.util.Arrays; +import java.util.Collection; +import java.util.Date; +import java.util.HashMap; +import org.apache.ignite.IgniteBinary; +import org.apache.ignite.binary.BinaryBasicIdMapper; +import org.apache.ignite.binary.BinaryNameMapper; +import org.apache.ignite.binary.BinaryBasicNameMapper; +import org.apache.ignite.configuration.BinaryConfiguration; +import org.apache.ignite.configuration.CacheConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; +import org.apache.ignite.binary.BinaryObjectException; +import org.apache.ignite.binary.Binarylizable; +import org.apache.ignite.binary.BinaryType; +import org.apache.ignite.binary.BinaryObject; +import org.apache.ignite.binary.BinaryRawWriter; +import org.apache.ignite.binary.BinaryReader; +import org.apache.ignite.binary.BinaryWriter; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; + +/** + * Binary meta data test. + */ +public class GridDefaultBinaryMappersBinaryMetaDataSelfTest extends GridCommonAbstractTest { + /** */ + private static IgniteConfiguration cfg; + + /** */ + private static int idx; + + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { + IgniteConfiguration cfg = super.getConfiguration(gridName); + + BinaryConfiguration bCfg = new BinaryConfiguration(); + + bCfg.setNameMapper(new BinaryBasicNameMapper(false)); + bCfg.setIdMapper(new BinaryBasicIdMapper(false)); + + bCfg.setClassNames(Arrays.asList(TestObject1.class.getName(), TestObject2.class.getName())); + + cfg.setBinaryConfiguration(bCfg); + + cfg.setMarshaller(new BinaryMarshaller()); + + CacheConfiguration ccfg = new CacheConfiguration(); + + cfg.setCacheConfiguration(ccfg); + + GridDefaultBinaryMappersBinaryMetaDataSelfTest.cfg = cfg; + + return cfg; + } + + /** {@inheritDoc} */ + @Override protected void beforeTest() throws Exception { + idx = 0; + + startGrid(); + } + + /** {@inheritDoc} */ + @Override protected void afterTest() throws Exception { + stopGrid(); + } + + /** + * @return Binaries API. + */ + protected IgniteBinary binaries() { + return grid().binary(); + } + + /** + * @throws Exception If failed. + */ + public void testGetAll() throws Exception { + binaries().toBinary(new TestObject2()); + + Collection<BinaryType> metas = binaries().types(); + + assertEquals(2, metas.size()); + + for (BinaryType meta : metas) { + Collection<String> fields; + + if (expectedTypeName(TestObject1.class.getName()).equals(meta.typeName())) { + fields = meta.fieldNames(); + + assertEquals(7, fields.size()); + + assertTrue(fields.contains("intVal")); + assertTrue(fields.contains("strVal")); + assertTrue(fields.contains("arrVal")); + assertTrue(fields.contains("obj1Val")); + assertTrue(fields.contains("obj2Val")); + assertTrue(fields.contains("decVal")); + assertTrue(fields.contains("decArrVal")); + + assertEquals("int", meta.fieldTypeName("intVal")); + assertEquals("String", meta.fieldTypeName("strVal")); + assertEquals("byte[]", meta.fieldTypeName("arrVal")); + assertEquals("Object", meta.fieldTypeName("obj1Val")); + assertEquals("Object", meta.fieldTypeName("obj2Val")); + assertEquals("decimal", meta.fieldTypeName("decVal")); + assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); + } + else if (expectedTypeName(TestObject2.class.getName()).equals(meta.typeName())) { + fields = meta.fieldNames(); + + assertEquals(7, fields.size()); + + assertTrue(fields.contains("boolVal")); + assertTrue(fields.contains("dateVal")); + assertTrue(fields.contains("uuidArrVal")); + assertTrue(fields.contains("objVal")); + assertTrue(fields.contains("mapVal")); + assertTrue(fields.contains("decVal")); + assertTrue(fields.contains("decArrVal")); + + assertEquals("boolean", meta.fieldTypeName("boolVal")); + assertEquals("Date", meta.fieldTypeName("dateVal")); + assertEquals("UUID[]", meta.fieldTypeName("uuidArrVal")); + assertEquals("Object", meta.fieldTypeName("objVal")); + assertEquals("Map", meta.fieldTypeName("mapVal")); + assertEquals("decimal", meta.fieldTypeName("decVal")); + assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); + } + else + assert false : meta.typeName(); + } + } + + /** + * @throws Exception If failed. + */ + public void testNoConfiguration() throws Exception { + binaries().toBinary(new TestObject3()); + + assertNotNull(binaries().type(TestObject3.class)); + } + + /** + * @throws Exception If failed. + */ + public void testReflection() throws Exception { + BinaryType meta = binaries().type(TestObject1.class); + + assertNotNull(meta); + + assertEquals(expectedTypeName(TestObject1.class.getName()), meta.typeName()); + + Collection<String> fields = meta.fieldNames(); + + assertEquals(7, fields.size()); + + assertTrue(fields.contains("intVal")); + assertTrue(fields.contains("strVal")); + assertTrue(fields.contains("arrVal")); + assertTrue(fields.contains("obj1Val")); + assertTrue(fields.contains("obj2Val")); + assertTrue(fields.contains("decVal")); + assertTrue(fields.contains("decArrVal")); + + assertEquals("int", meta.fieldTypeName("intVal")); + assertEquals("String", meta.fieldTypeName("strVal")); + assertEquals("byte[]", meta.fieldTypeName("arrVal")); + assertEquals("Object", meta.fieldTypeName("obj1Val")); + assertEquals("Object", meta.fieldTypeName("obj2Val")); + assertEquals("decimal", meta.fieldTypeName("decVal")); + assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); + } + + /** + * @param clsName Class name. + * @return Type name. + */ + private String expectedTypeName(String clsName) { + BinaryNameMapper mapper = cfg.getBinaryConfiguration().getNameMapper(); + + if (mapper == null) + mapper = BinaryContext.defaultNameMapper(); + + return mapper.typeName(clsName); + } + + /** + * @throws Exception If failed. + */ + public void testBinaryMarshalAware() throws Exception { + binaries().toBinary(new TestObject2()); + + BinaryType meta = binaries().type(TestObject2.class); + + assertNotNull(meta); + + assertEquals(expectedTypeName(TestObject2.class.getName()), meta.typeName()); + + Collection<String> fields = meta.fieldNames(); + + assertEquals(7, fields.size()); + + assertTrue(fields.contains("boolVal")); + assertTrue(fields.contains("dateVal")); + assertTrue(fields.contains("uuidArrVal")); + assertTrue(fields.contains("objVal")); + assertTrue(fields.contains("mapVal")); + assertTrue(fields.contains("decVal")); + assertTrue(fields.contains("decArrVal")); + + assertEquals("boolean", meta.fieldTypeName("boolVal")); + assertEquals("Date", meta.fieldTypeName("dateVal")); + assertEquals("UUID[]", meta.fieldTypeName("uuidArrVal")); + assertEquals("Object", meta.fieldTypeName("objVal")); + assertEquals("Map", meta.fieldTypeName("mapVal")); + assertEquals("decimal", meta.fieldTypeName("decVal")); + assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); + } + + /** + * @throws Exception If failed. + */ + public void testMerge() throws Exception { + binaries().toBinary(new TestObject2()); + + idx = 1; + + binaries().toBinary(new TestObject2()); + + BinaryType meta = binaries().type(TestObject2.class); + + assertNotNull(meta); + + assertEquals(expectedTypeName(TestObject2.class.getName()), meta.typeName()); + + Collection<String> fields = meta.fieldNames(); + + assertEquals(9, fields.size()); + + assertTrue(fields.contains("boolVal")); + assertTrue(fields.contains("dateVal")); + assertTrue(fields.contains("uuidArrVal")); + assertTrue(fields.contains("objVal")); + assertTrue(fields.contains("mapVal")); + assertTrue(fields.contains("charVal")); + assertTrue(fields.contains("colVal")); + assertTrue(fields.contains("decVal")); + assertTrue(fields.contains("decArrVal")); + + assertEquals("boolean", meta.fieldTypeName("boolVal")); + assertEquals("Date", meta.fieldTypeName("dateVal")); + assertEquals("UUID[]", meta.fieldTypeName("uuidArrVal")); + assertEquals("Object", meta.fieldTypeName("objVal")); + assertEquals("Map", meta.fieldTypeName("mapVal")); + assertEquals("char", meta.fieldTypeName("charVal")); + assertEquals("Collection", meta.fieldTypeName("colVal")); + assertEquals("decimal", meta.fieldTypeName("decVal")); + assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); + } + + /** + * @throws Exception If failed. + */ + public void testSerializedObject() throws Exception { + TestObject1 obj = new TestObject1(); + + obj.intVal = 10; + obj.strVal = "str"; + obj.arrVal = new byte[] {2, 4, 6}; + obj.obj1Val = null; + obj.obj2Val = new TestObject2(); + obj.decVal = BigDecimal.ZERO; + obj.decArrVal = new BigDecimal[] { BigDecimal.ONE }; + + BinaryObject po = binaries().toBinary(obj); + + info(po.toString()); + + BinaryType meta = po.type(); + + assertNotNull(meta); + + assertEquals(expectedTypeName(TestObject1.class.getName()), meta.typeName()); + + Collection<String> fields = meta.fieldNames(); + + assertEquals(7, fields.size()); + + assertTrue(fields.contains("intVal")); + assertTrue(fields.contains("strVal")); + assertTrue(fields.contains("arrVal")); + assertTrue(fields.contains("obj1Val")); + assertTrue(fields.contains("obj2Val")); + assertTrue(fields.contains("decVal")); + assertTrue(fields.contains("decArrVal")); + + assertEquals("int", meta.fieldTypeName("intVal")); + assertEquals("String", meta.fieldTypeName("strVal")); + assertEquals("byte[]", meta.fieldTypeName("arrVal")); + assertEquals("Object", meta.fieldTypeName("obj1Val")); + assertEquals("Object", meta.fieldTypeName("obj2Val")); + assertEquals("decimal", meta.fieldTypeName("decVal")); + assertEquals("decimal[]", meta.fieldTypeName("decArrVal")); + } + + /** + */ + @SuppressWarnings("UnusedDeclaration") + private static class TestObject1 { + /** */ + private int intVal; + + /** */ + private String strVal; + + /** */ + private byte[] arrVal; + + /** */ + private TestObject1 obj1Val; + + /** */ + private TestObject2 obj2Val; + + /** */ + private BigDecimal decVal; + + /** */ + private BigDecimal[] decArrVal; + } + + /** + */ + private static class TestObject2 implements Binarylizable { + /** {@inheritDoc} */ + @Override public void writeBinary(BinaryWriter writer) throws BinaryObjectException { + writer.writeBoolean("boolVal", false); + writer.writeDate("dateVal", new Date()); + writer.writeUuidArray("uuidArrVal", null); + writer.writeObject("objVal", null); + writer.writeMap("mapVal", new HashMap<>()); + writer.writeDecimal("decVal", BigDecimal.ZERO); + writer.writeDecimalArray("decArrVal", new BigDecimal[] { BigDecimal.ONE }); + + if (idx == 1) { + writer.writeChar("charVal", (char)0); + writer.writeCollection("colVal", null); + } + + BinaryRawWriter raw = writer.rawWriter(); + + raw.writeChar((char)0); + raw.writeCollection(null); + } + + /** {@inheritDoc} */ + @Override public void readBinary(BinaryReader reader) throws BinaryObjectException { + // No-op. + } + } + + /** + */ + @SuppressWarnings("UnusedDeclaration") + private static class TestObject3 { + /** */ + private int intVal; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/binary/GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest.java new file mode 100644 index 0000000..74c13ce --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest.java @@ -0,0 +1,41 @@ +/* + * 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. + */ + +package org.apache.ignite.internal.binary; + +import org.apache.ignite.binary.BinaryBasicIdMapper; +import org.apache.ignite.binary.BinaryBasicNameMapper; +import org.apache.ignite.configuration.BinaryConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; + +/** + * Binary meta data test. + */ +public class GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest + extends GridDefaultBinaryMappersBinaryMetaDataSelfTest { + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { + IgniteConfiguration cfg = super.getConfiguration(gridName); + + BinaryConfiguration bCfg = cfg.getBinaryConfiguration(); + + bCfg.setNameMapper(new BinaryBasicNameMapper()); + bCfg.setIdMapper(new BinaryBasicIdMapper(true)); + + return cfg; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/binary/TestMappedObject.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/TestMappedObject.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/TestMappedObject.java new file mode 100644 index 0000000..8705f6a --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/TestMappedObject.java @@ -0,0 +1,25 @@ +/* + * 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. + */ + +package org.apache.ignite.internal.binary; + +/** + * + */ +public class TestMappedObject { + +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactDefaultMappersSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactDefaultMappersSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactDefaultMappersSelfTest.java new file mode 100644 index 0000000..88a1296 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactDefaultMappersSelfTest.java @@ -0,0 +1,30 @@ +/* + * 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. + */ + +package org.apache.ignite.internal.binary.noncompact; + +import org.apache.ignite.internal.binary.BinaryObjectBuilderDefaultMappersSelfTest; + +/** + * Binary builder test for objects with non-compact footer. + */ +public class BinaryObjectBuilderNonCompactDefaultMappersSelfTest extends BinaryObjectBuilderDefaultMappersSelfTest { + /** {@inheritDoc} */ + @Override protected boolean compactFooter() { + return false; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSelfTest.java deleted file mode 100644 index c698783..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSelfTest.java +++ /dev/null @@ -1,30 +0,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. - */ - -package org.apache.ignite.internal.binary.noncompact; - -import org.apache.ignite.internal.binary.BinaryObjectBuilderSelfTest; - -/** - * Binary builder test for objects with non-compact footer. - */ -public class BinaryObjectBuilderNonCompactSelfTest extends BinaryObjectBuilderSelfTest { - /** {@inheritDoc} */ - @Override protected boolean compactFooter() { - return false; - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest.java new file mode 100644 index 0000000..821c41b --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/binary/noncompact/BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest.java @@ -0,0 +1,31 @@ +/* + * 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. + */ + +package org.apache.ignite.internal.binary.noncompact; + +import org.apache.ignite.internal.binary.BinaryObjectBuilderSimpleNameLowerCaseMappersSelfTest; + +/** + * Binary builder test for objects with non-compact footer. + */ +public class BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest + extends BinaryObjectBuilderSimpleNameLowerCaseMappersSelfTest { + /** {@inheritDoc} */ + @Override protected boolean compactFooter() { + return false; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java index ea16c1f..3e96cf7 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/GridCacheConditionalDeploymentSelfTest.java @@ -21,8 +21,8 @@ import org.apache.ignite.Ignite; import org.apache.ignite.Ignition; import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; -import org.apache.ignite.internal.managers.communication.GridIoMessageFactory; import org.apache.ignite.internal.binary.BinaryMarshaller; +import org.apache.ignite.internal.managers.communication.GridIoMessageFactory; import org.apache.ignite.internal.util.IgniteUtils; import org.apache.ignite.internal.util.typedef.CO; import org.apache.ignite.plugin.extensions.communication.Message; @@ -91,6 +91,8 @@ public class GridCacheConditionalDeploymentSelfTest extends GridCommonAbstractTe startGrid(1); + awaitPartitionMapExchange(); + ignite0.cache(null).put(1, new TestValue()); } http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectsAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectsAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectsAbstractSelfTest.java index 2da781b..271e3b5 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectsAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryObjectsAbstractSelfTest.java @@ -30,6 +30,7 @@ import javax.cache.processor.MutableEntry; import org.apache.ignite.Ignite; import org.apache.ignite.IgniteCache; import org.apache.ignite.IgniteBinary; +import org.apache.ignite.binary.BinaryNameMapper; import org.apache.ignite.cache.CacheAtomicityMode; import org.apache.ignite.cache.CacheMode; import org.apache.ignite.cache.CachePeekMode; @@ -38,6 +39,7 @@ import org.apache.ignite.configuration.CacheConfiguration; import org.apache.ignite.configuration.IgniteConfiguration; import org.apache.ignite.configuration.NearCacheConfiguration; import org.apache.ignite.internal.IgniteKernal; +import org.apache.ignite.internal.binary.BinaryContext; import org.apache.ignite.internal.binary.BinaryObjectImpl; import org.apache.ignite.internal.processors.cache.GridCacheAdapter; import org.apache.ignite.internal.processors.cache.GridCacheEntryEx; @@ -77,6 +79,9 @@ public abstract class GridCacheBinaryObjectsAbstractSelfTest extends GridCommonA /** */ private static final int ENTRY_CNT = 100; + /** */ + private static IgniteConfiguration cfg; + /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { @@ -109,6 +114,8 @@ public abstract class GridCacheBinaryObjectsAbstractSelfTest extends GridCommonA cfg.setMarshaller(new BinaryMarshaller()); + this.cfg = cfg; + return cfg; } @@ -200,8 +207,14 @@ public abstract class GridCacheBinaryObjectsAbstractSelfTest extends GridCommonA assertNotNull(str); - assertTrue("Unexpected toString: " + str, - str.startsWith("TestReferenceObject") && str.contains("obj=TestReferenceObject [")); + BinaryNameMapper nameMapper = BinaryContext.defaultNameMapper(); + + if (cfg.getBinaryConfiguration() != null && cfg.getBinaryConfiguration().getNameMapper() != null) + nameMapper = cfg.getBinaryConfiguration().getNameMapper(); + + String typeName = nameMapper.typeName(TestReferenceObject.class.getName()); + + assertTrue("Unexpected toString: " + str, str.startsWith(typeName) && str.contains("obj=" + typeName + " [")); TestReferenceObject obj1_r = po.deserialize(); http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java index 0cfa88b..63ed30e 100644 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreAbstractSelfTest.java @@ -24,6 +24,8 @@ import java.util.HashSet; import java.util.Map; import java.util.Set; import javax.cache.Cache; +import org.apache.ignite.binary.BinaryBasicIdMapper; +import org.apache.ignite.binary.BinaryBasicNameMapper; import org.apache.ignite.cache.store.CacheStoreAdapter; import org.apache.ignite.configuration.BinaryConfiguration; import org.apache.ignite.configuration.CacheConfiguration; @@ -46,6 +48,9 @@ public abstract class GridCacheBinaryStoreAbstractSelfTest extends GridCommonAbs /** */ private static final TestStore STORE = new TestStore(); + /** */ + protected static IgniteConfiguration cfg; + /** {@inheritDoc} */ @SuppressWarnings("unchecked") @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { @@ -53,6 +58,9 @@ public abstract class GridCacheBinaryStoreAbstractSelfTest extends GridCommonAbs BinaryConfiguration bCfg = new BinaryConfiguration(); + bCfg.setNameMapper(new BinaryBasicNameMapper(false)); + bCfg.setIdMapper(new BinaryBasicIdMapper(false)); + bCfg.setClassNames(Arrays.asList(Key.class.getName(), Value.class.getName())); cfg.setBinaryConfiguration(bCfg); @@ -75,6 +83,8 @@ public abstract class GridCacheBinaryStoreAbstractSelfTest extends GridCommonAbs cfg.setDiscoverySpi(disco); + GridCacheBinaryStoreAbstractSelfTest.cfg = cfg; + return cfg; } http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesDefaultMappersSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesDefaultMappersSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesDefaultMappersSelfTest.java new file mode 100644 index 0000000..47fc53b --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesDefaultMappersSelfTest.java @@ -0,0 +1,81 @@ +/* + * 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. + */ +package org.apache.ignite.internal.processors.cache.binary; + +import java.util.Map; +import org.apache.ignite.binary.BinaryNameMapper; +import org.apache.ignite.binary.BinaryObject; +import org.apache.ignite.internal.binary.BinaryContext; + +/** + * Tests for cache store with binary. + */ +public class GridCacheBinaryStoreBinariesDefaultMappersSelfTest extends GridCacheBinaryStoreAbstractSelfTest { + /** {@inheritDoc} */ + @Override protected boolean keepBinaryInStore() { + return true; + } + + /** {@inheritDoc} */ + @Override protected void populateMap(Map<Object, Object> map, int... idxs) { + assert map != null; + assert idxs != null; + + for (int idx : idxs) + map.put(binary(new Key(idx)), binary(new Value(idx))); + } + + /** {@inheritDoc} */ + @Override protected void checkMap(Map<Object, Object> map, int... idxs) { + assert map != null; + assert idxs != null; + + assertEquals(idxs.length, map.size()); + + for (int idx : idxs) { + Object val = map.get(binary(new Key(idx))); + + assertTrue(String.valueOf(val), val instanceof BinaryObject); + + BinaryObject po = (BinaryObject)val; + + assertEquals(expectedTypeName(Value.class.getName()), po.type().typeName()); + assertEquals(new Integer(idx), po.field("idx")); + } + } + + /** + * @param clsName Class name. + * @return Type name. + */ + private String expectedTypeName(String clsName) { + BinaryNameMapper nameMapper = cfg.getBinaryConfiguration().getNameMapper(); + + if (nameMapper == null) + nameMapper = BinaryContext.defaultNameMapper(); + + return nameMapper.typeName(clsName); + } + + /** + * @param obj Object. + * @return Binary object. + */ + private Object binary(Object obj) { + return grid().binary().toBinary(obj); + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java deleted file mode 100644 index 4d163b3..0000000 --- a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSelfTest.java +++ /dev/null @@ -1,66 +0,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. - */ -package org.apache.ignite.internal.processors.cache.binary; - -import java.util.Map; -import org.apache.ignite.binary.BinaryObject; - -/** - * Tests for cache store with binary. - */ -public class GridCacheBinaryStoreBinariesSelfTest extends GridCacheBinaryStoreAbstractSelfTest { - /** {@inheritDoc} */ - @Override protected boolean keepBinaryInStore() { - return true; - } - - /** {@inheritDoc} */ - @Override protected void populateMap(Map<Object, Object> map, int... idxs) { - assert map != null; - assert idxs != null; - - for (int idx : idxs) - map.put(binary(new Key(idx)), binary(new Value(idx))); - } - - /** {@inheritDoc} */ - @Override protected void checkMap(Map<Object, Object> map, int... idxs) { - assert map != null; - assert idxs != null; - - assertEquals(idxs.length, map.size()); - - for (int idx : idxs) { - Object val = map.get(binary(new Key(idx))); - - assertTrue(String.valueOf(val), val instanceof BinaryObject); - - BinaryObject po = (BinaryObject)val; - - assertEquals("Value", po.type().typeName()); - assertEquals(new Integer(idx), po.field("idx")); - } - } - - /** - * @param obj Object. - * @return Binary object. - */ - private Object binary(Object obj) { - return grid().binary().toBinary(obj); - } -} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest.java b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest.java new file mode 100644 index 0000000..0aee2f2 --- /dev/null +++ b/modules/core/src/test/java/org/apache/ignite/internal/processors/cache/binary/GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest.java @@ -0,0 +1,40 @@ +/* + * 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. + */ +package org.apache.ignite.internal.processors.cache.binary; + +import org.apache.ignite.binary.BinaryBasicIdMapper; +import org.apache.ignite.binary.BinaryBasicNameMapper; +import org.apache.ignite.configuration.BinaryConfiguration; +import org.apache.ignite.configuration.IgniteConfiguration; + +/** + * Tests for cache store with binary. + */ +public class GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest + extends GridCacheBinaryStoreBinariesDefaultMappersSelfTest { + /** {@inheritDoc} */ + @Override protected IgniteConfiguration getConfiguration(String gridName) throws Exception { + IgniteConfiguration cfg = super.getConfiguration(gridName); + + BinaryConfiguration bCfg = cfg.getBinaryConfiguration(); + + bCfg.setNameMapper(new BinaryBasicNameMapper()); + bCfg.setIdMapper(new BinaryBasicIdMapper(true)); + + return cfg; + } +} http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsTestSuite.java ---------------------------------------------------------------------- diff --git a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsTestSuite.java b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsTestSuite.java index 9651f6d..6b3178e 100644 --- a/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsTestSuite.java +++ b/modules/core/src/test/java/org/apache/ignite/testsuites/IgniteBinaryObjectsTestSuite.java @@ -18,6 +18,9 @@ package org.apache.ignite.testsuites; import junit.framework.TestSuite; +import org.apache.ignite.internal.binary.BinaryBasicIdMapperSelfTest; +import org.apache.ignite.internal.binary.BinaryBasicNameMapperSelfTest; +import org.apache.ignite.internal.binary.BinaryConfigurationConsistencySelfTest; import org.apache.ignite.internal.binary.BinaryEnumsSelfTest; import org.apache.ignite.internal.binary.BinaryFieldsHeapSelfTest; import org.apache.ignite.internal.binary.BinaryFieldsOffheapSelfTest; @@ -25,19 +28,23 @@ import org.apache.ignite.internal.binary.BinaryFooterOffsetsHeapSelfTest; import org.apache.ignite.internal.binary.BinaryFooterOffsetsOffheapSelfTest; import org.apache.ignite.internal.binary.BinaryMarshallerSelfTest; import org.apache.ignite.internal.binary.BinaryObjectBuilderAdditionalSelfTest; -import org.apache.ignite.internal.binary.BinaryObjectBuilderSelfTest; +import org.apache.ignite.internal.binary.BinaryObjectBuilderDefaultMappersSelfTest; +import org.apache.ignite.internal.binary.BinaryObjectBuilderSimpleNameLowerCaseMappersSelfTest; import org.apache.ignite.internal.binary.GridBinaryAffinityKeySelfTest; import org.apache.ignite.internal.binary.GridBinaryMarshallerCtxDisabledSelfTest; -import org.apache.ignite.internal.binary.GridBinaryMetaDataSelfTest; import org.apache.ignite.internal.binary.GridBinaryWildcardsSelfTest; +import org.apache.ignite.internal.binary.GridDefaultBinaryMappersBinaryMetaDataSelfTest; +import org.apache.ignite.internal.binary.GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest; import org.apache.ignite.internal.binary.noncompact.BinaryFieldsHeapNonCompactSelfTest; import org.apache.ignite.internal.binary.noncompact.BinaryFieldsOffheapNonCompactSelfTest; import org.apache.ignite.internal.binary.noncompact.BinaryFooterOffsetsHeapNonCompactSelfTest; import org.apache.ignite.internal.binary.noncompact.BinaryFooterOffsetsOffheapNonCompactSelfTest; import org.apache.ignite.internal.binary.noncompact.BinaryMarshallerNonCompactSelfTest; import org.apache.ignite.internal.binary.noncompact.BinaryObjectBuilderAdditionalNonCompactSelfTest; -import org.apache.ignite.internal.binary.noncompact.BinaryObjectBuilderNonCompactSelfTest; -import org.apache.ignite.internal.processors.cache.binary.GridCacheBinaryStoreBinariesSelfTest; +import org.apache.ignite.internal.binary.noncompact.BinaryObjectBuilderNonCompactDefaultMappersSelfTest; +import org.apache.ignite.internal.binary.noncompact.BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest; +import org.apache.ignite.internal.processors.cache.binary.GridCacheBinaryStoreBinariesDefaultMappersSelfTest; +import org.apache.ignite.internal.processors.cache.binary.GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest; import org.apache.ignite.internal.processors.cache.binary.GridCacheBinaryStoreObjectsSelfTest; import org.apache.ignite.internal.processors.cache.binary.GridCacheClientNodeBinaryObjectMetadataMultinodeTest; import org.apache.ignite.internal.processors.cache.binary.GridCacheClientNodeBinaryObjectMetadataTest; @@ -68,22 +75,29 @@ public class IgniteBinaryObjectsTestSuite extends TestSuite { public static TestSuite suite() throws Exception { TestSuite suite = new TestSuite("Ignite Binary Objects Test Suite"); + suite.addTestSuite(BinaryBasicIdMapperSelfTest.class); + suite.addTestSuite(BinaryBasicNameMapperSelfTest.class); + suite.addTestSuite(BinaryMarshallerSelfTest.class); + suite.addTestSuite(BinaryConfigurationConsistencySelfTest.class); suite.addTestSuite(GridBinaryMarshallerCtxDisabledSelfTest.class); - suite.addTestSuite(BinaryObjectBuilderSelfTest.class); + suite.addTestSuite(BinaryObjectBuilderDefaultMappersSelfTest.class); + suite.addTestSuite(BinaryObjectBuilderSimpleNameLowerCaseMappersSelfTest.class); suite.addTestSuite(BinaryObjectBuilderAdditionalSelfTest.class); suite.addTestSuite(BinaryFieldsHeapSelfTest.class); suite.addTestSuite(BinaryFieldsOffheapSelfTest.class); suite.addTestSuite(BinaryFooterOffsetsHeapSelfTest.class); suite.addTestSuite(BinaryFooterOffsetsOffheapSelfTest.class); suite.addTestSuite(BinaryEnumsSelfTest.class); - suite.addTestSuite(GridBinaryMetaDataSelfTest.class); + suite.addTestSuite(GridDefaultBinaryMappersBinaryMetaDataSelfTest.class); + suite.addTestSuite(GridSimpleLowerCaseBinaryMappersBinaryMetaDataSelfTest.class); suite.addTestSuite(GridBinaryAffinityKeySelfTest.class); suite.addTestSuite(GridBinaryWildcardsSelfTest.class); // Tests for objects with non-compact footers. suite.addTestSuite(BinaryMarshallerNonCompactSelfTest.class); - suite.addTestSuite(BinaryObjectBuilderNonCompactSelfTest.class); + suite.addTestSuite(BinaryObjectBuilderNonCompactDefaultMappersSelfTest.class); + suite.addTestSuite(BinaryObjectBuilderNonCompactSimpleNameLowerCaseMappersSelfTest.class); suite.addTestSuite(BinaryObjectBuilderAdditionalNonCompactSelfTest.class); suite.addTestSuite(BinaryFieldsHeapNonCompactSelfTest.class); suite.addTestSuite(BinaryFieldsOffheapNonCompactSelfTest.class); @@ -105,7 +119,8 @@ public class IgniteBinaryObjectsTestSuite extends TestSuite { suite.addTestSuite(GridCacheBinaryObjectsPartitionedNearDisabledOffheapTieredSelfTest.class); suite.addTestSuite(GridCacheBinaryStoreObjectsSelfTest.class); - suite.addTestSuite(GridCacheBinaryStoreBinariesSelfTest.class); + suite.addTestSuite(GridCacheBinaryStoreBinariesDefaultMappersSelfTest.class); + suite.addTestSuite(GridCacheBinaryStoreBinariesSimpleNameMappersSelfTest.class); suite.addTestSuite(GridCacheClientNodeBinaryObjectMetadataTest.class); suite.addTestSuite(GridCacheClientNodeBinaryObjectMetadataMultinodeTest.class); http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid2.xml ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid2.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid2.xml index 434f468..ef29a89 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid2.xml +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid2.xml @@ -45,6 +45,27 @@ </list> </property> + <property name="binaryConfiguration"> + <bean class="org.apache.ignite.configuration.BinaryConfiguration"> + <property name="compactFooter" value="false"/> + <property name="typeConfigurations"> + <list> + <bean class="org.apache.ignite.binary.BinaryTypeConfiguration"> + <property name="typeName" value="org.apache.ignite.platform.PlatformComputeBinarizable"/> + </bean> + <bean class="org.apache.ignite.binary.BinaryTypeConfiguration"> + <property name="typeName" value="org.apache.ignite.platform.PlatformComputeJavaBinarizable"/> + </bean> + <bean class="org.apache.ignite.binary.BinaryTypeConfiguration"> + <property name="typeName" value="org.apache.ignite.platform.PlatformComputeEnum" /> + <property name="enum" value="true" /> + </bean> + </list> + </property> + + </bean> + </property> + <property name="discoverySpi"> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> <property name="ipFinder"> http://git-wip-us.apache.org/repos/asf/ignite/blob/6d8acb1f/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid3.xml ---------------------------------------------------------------------- diff --git a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid3.xml b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid3.xml index 31ccdf0..d1c96b6 100644 --- a/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid3.xml +++ b/modules/platforms/dotnet/Apache.Ignite.Core.Tests/Config/Compute/compute-grid3.xml @@ -25,14 +25,35 @@ <property name="localHost" value="127.0.0.1"/> <property name="connectorConfiguration"><null/></property> - <property name="clientMode" value="true"/> + <property name="clientMode" value="true"/> - <property name="gridName" value="grid3"/> + <property name="gridName" value="grid3"/> - <property name="metricsUpdateFrequency" value="1000"/> - <property name="metricsLogFrequency" value="0"/> + <property name="metricsUpdateFrequency" value="1000"/> + <property name="metricsLogFrequency" value="0"/> - <property name="discoverySpi"> + <property name="binaryConfiguration"> + <bean class="org.apache.ignite.configuration.BinaryConfiguration"> + <property name="compactFooter" value="false"/> + <property name="typeConfigurations"> + <list> + <bean class="org.apache.ignite.binary.BinaryTypeConfiguration"> + <property name="typeName" value="org.apache.ignite.platform.PlatformComputeBinarizable"/> + </bean> + <bean class="org.apache.ignite.binary.BinaryTypeConfiguration"> + <property name="typeName" value="org.apache.ignite.platform.PlatformComputeJavaBinarizable"/> + </bean> + <bean class="org.apache.ignite.binary.BinaryTypeConfiguration"> + <property name="typeName" value="org.apache.ignite.platform.PlatformComputeEnum" /> + <property name="enum" value="true" /> + </bean> + </list> + </property> + + </bean> + </property> + + <property name="discoverySpi"> <bean class="org.apache.ignite.spi.discovery.tcp.TcpDiscoverySpi"> <property name="forceServerMode" value="true"/>
