Index: modules/spring/src/test/config/thin-client.xml IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/spring/src/test/config/thin-client.xml (date 1662970076708) +++ modules/spring/src/test/config/thin-client.xml (date 1662970076708) @@ -0,0 +1,54 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + 127.0.0.1:47500..47509 + + + + + + + + Index: modules/spring/src/test/java/org/apache/ignite/internal/IgniteClientConfigurationTest.java IDEA additional info: Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP <+>UTF-8 =================================================================== --- modules/spring/src/test/java/org/apache/ignite/internal/IgniteClientConfigurationTest.java (date 1662970313882) +++ modules/spring/src/test/java/org/apache/ignite/internal/IgniteClientConfigurationTest.java (date 1662970313882) @@ -0,0 +1,73 @@ +/* + * 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; + +import java.util.List; +import java.util.Map; +import org.apache.ignite.Ignite; +import org.apache.ignite.IgniteException; +import org.apache.ignite.Ignition; +import org.apache.ignite.client.IgniteClient; +import org.apache.ignite.cluster.ClusterNode; +import org.apache.ignite.compute.ComputeJob; +import org.apache.ignite.compute.ComputeJobAdapter; +import org.apache.ignite.compute.ComputeJobResult; +import org.apache.ignite.compute.ComputeTaskAdapter; +import org.apache.ignite.configuration.ClientConfiguration; +import org.apache.ignite.internal.util.typedef.F; +import org.apache.ignite.testframework.GridTestUtils; +import org.apache.ignite.testframework.junits.common.GridCommonAbstractTest; +import org.jetbrains.annotations.NotNull; +import org.jetbrains.annotations.Nullable; +import org.junit.Test; + +import static org.apache.ignite.configuration.ClientConnectorConfiguration.DFLT_PORT; + +/** + * + */ +public class IgniteClientConfigurationTest extends GridCommonAbstractTest { + /** */ + @Test + public void testClientConfiguration() { + try (Ignite ignite = Ignition.start("modules/spring/src/test/config/thin-client.xml")) { + try (IgniteClient client = Ignition.startClient(new ClientConfiguration().setAddresses("127.0.0.1:" + DFLT_PORT))) { + GridTestUtils.assertThrows(log, () -> client.compute().execute(TestTask.class.getName(), null), + Exception.class, "Inner exception"); + } + } + } + + /** */ + private static class TestTask extends ComputeTaskAdapter { + /** {@inheritDoc} */ + @Override public @NotNull Map map(List subgrid, + @Nullable Object arg) throws IgniteException { + return F.asMap(new ComputeJobAdapter() { + @Override public Object execute() throws IgniteException { + throw new IgniteException("Test", new IgniteException("Inner exception")); + } + }, subgrid.get(0)); + } + + /** {@inheritDoc} */ + @Nullable @Override public Object reduce(List list) throws IgniteException { + return null; + } + } +}