diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java new file mode 100644 index 0000000000..9d301f9578 --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithm.java @@ -0,0 +1,54 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import java.util.*; + +public class BreadthFirstSearchAlgorithm { + + private static final Logger LOGGER = LoggerFactory.getLogger(BreadthFirstSearchAlgorithm.class); + + public static Optional> search(T value, Tree root) { + Queue> queue = new ArrayDeque<>(); + queue.add(root); + + Tree currentNode; + while (!queue.isEmpty()) { + currentNode = queue.remove(); + LOGGER.info("Visited node with value: {}", currentNode.getValue()); + + if (currentNode.getValue().equals(value)) { + return Optional.of(currentNode); + } else { + queue.addAll(currentNode.getChildren()); + } + } + + return Optional.empty(); + } + + public static Optional> search(T value, Node start) { + Queue> queue = new ArrayDeque<>(); + queue.add(start); + + Node currentNode; + Set> alreadyVisited = new HashSet<>(); + + while (!queue.isEmpty()) { + currentNode = queue.remove(); + LOGGER.info("Visited node with value: {}", currentNode.getValue()); + + if (currentNode.getValue().equals(value)) { + return Optional.of(currentNode); + } else { + alreadyVisited.add(currentNode); + queue.addAll(currentNode.getNeighbors()); + queue.removeAll(alreadyVisited); + } + } + + return Optional.empty(); + } + +} diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java new file mode 100644 index 0000000000..54a589ae26 --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Node.java @@ -0,0 +1,31 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import java.util.Collections; +import java.util.HashSet; +import java.util.Set; + +public class Node { + + private T value; + private Set> neighbors; + + public Node(T value) { + this.value = value; + this.neighbors = new HashSet<>(); + } + + public T getValue() { + return value; + } + + public Set> getNeighbors() { + return Collections.unmodifiableSet(neighbors); + } + + public void connect(Node node) { + if (this == node) throw new IllegalArgumentException("Can't connect node to itself"); + this.neighbors.add(node); + node.neighbors.add(this); + } + +} diff --git a/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java new file mode 100644 index 0000000000..842d2837ff --- /dev/null +++ b/algorithms-miscellaneous-3/src/main/java/com/baeldung/algorithms/breadthfirstsearch/Tree.java @@ -0,0 +1,34 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import java.util.ArrayList; +import java.util.Collections; +import java.util.List; + +public class Tree { + + private T value; + private List> children; + + private Tree(T value) { + this.value = value; + this.children = new ArrayList<>(); + } + + public static Tree of(T value) { + return new Tree<>(value); + } + + public T getValue() { + return value; + } + + public List> getChildren() { + return Collections.unmodifiableList(children); + } + + public Tree addChild(T value) { + Tree newChild = new Tree<>(value); + children.add(newChild); + return newChild; + } +} diff --git a/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java new file mode 100644 index 0000000000..aa22fc5353 --- /dev/null +++ b/algorithms-miscellaneous-3/src/test/java/com/baeldung/algorithms/breadthfirstsearch/BreadthFirstSearchAlgorithmUnitTest.java @@ -0,0 +1,86 @@ +package com.baeldung.algorithms.breadthfirstsearch; + +import org.junit.jupiter.api.Test; + +import static org.assertj.core.api.Assertions.assertThat; + +class BreadthFirstSearchAlgorithmUnitTest { + + private Tree root; + private Tree rootFirstChild; + private Tree depthMostChild; + private Tree rootSecondChild; + + private Node start; + private Node firstNeighbor; + private Node firstNeighborNeighbor; + private Node secondNeighbor; + + @Test + void givenTree_whenSearchTen_thenRoot() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(10, root)).isPresent().contains(root); + } + + @Test + void givenTree_whenSearchThree_thenDepthMostValue() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(3, root)).isPresent().contains(depthMostChild); + } + + @Test + void givenTree_whenSearchFour_thenRootSecondChild() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(4, root)).isPresent().contains(rootSecondChild); + } + + @Test + void givenTree_whenSearchFive_thenNotFound() { + initTree(); + assertThat(BreadthFirstSearchAlgorithm.search(5, root)).isEmpty(); + } + + private void initTree() { + root = Tree.of(10); + rootFirstChild = root.addChild(2); + depthMostChild = rootFirstChild.addChild(3); + rootSecondChild = root.addChild(4); + } + + @Test + void givenNode_whenSearchTen_thenStart() { + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(10, firstNeighborNeighbor)).isPresent().contains(start); + } + + @Test + void givenNode_whenSearchThree_thenNeighborNeighbor() { + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(3, firstNeighborNeighbor)).isPresent().contains(firstNeighborNeighbor); + } + + @Test + void givenNode_whenSearchFour_thenSecondNeighbor() { + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(4, firstNeighborNeighbor)).isPresent().contains(secondNeighbor); + } + + @Test + void givenNode_whenSearchFive_thenNotFound() { + initNode(); + assertThat(BreadthFirstSearchAlgorithm.search(5, firstNeighborNeighbor)).isEmpty(); + } + + private void initNode() { + start = new Node<>(10); + firstNeighbor = new Node<>(2); + start.connect(firstNeighbor); + + firstNeighborNeighbor = new Node<>(3); + firstNeighbor.connect(firstNeighborNeighbor); + firstNeighborNeighbor.connect(start); + + secondNeighbor = new Node<>(4); + start.connect(secondNeighbor); + } +} \ No newline at end of file diff --git a/animal-sniffer-mvn-plugin/pom.xml b/animal-sniffer-mvn-plugin/pom.xml index 55e37e2ec4..fd8f6d3d8c 100644 --- a/animal-sniffer-mvn-plugin/pom.xml +++ b/animal-sniffer-mvn-plugin/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung animal-sniffer-mvn-plugin 1.0-SNAPSHOT animal-sniffer-mvn-plugin diff --git a/apache-avro/pom.xml b/apache-avro/pom.xml index e6fb4d24ff..6baae9c541 100644 --- a/apache-avro/pom.xml +++ b/apache-avro/pom.xml @@ -14,12 +14,6 @@ - - junit - junit - ${junit.version} - test - org.slf4j slf4j-simple @@ -46,15 +40,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - ${compiler-plugin.version} - - ${java.version} - ${java.version} - - org.apache.avro avro-maven-plugin @@ -79,8 +64,6 @@ - UTF-8 - 3.5 1.8.2 1.7.25 diff --git a/apache-fop/pom.xml b/apache-fop/pom.xml index 879eb4f111..150756d51d 100644 --- a/apache-fop/pom.xml +++ b/apache-fop/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung apache-fop 0.1-SNAPSHOT apache-fop diff --git a/apache-geode/pom.xml b/apache-geode/pom.xml index 15c7e04d29..195dfadd20 100644 --- a/apache-geode/pom.xml +++ b/apache-geode/pom.xml @@ -19,25 +19,7 @@ geode-core ${geode.core} - - junit - junit - ${junit.version} - - - - - - org.apache.maven.plugins - maven-compiler-plugin - - ${java.version} - ${java.version} - - - - 1.6.0 diff --git a/apache-meecrowave/pom.xml b/apache-meecrowave/pom.xml index 4eb1094f94..51c6514992 100644 --- a/apache-meecrowave/pom.xml +++ b/apache-meecrowave/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung apache-meecrowave 0.0.1 apache-meecrowave @@ -38,13 +37,6 @@ ${meecrowave-junit.version} test - - - junit - junit - ${junit.version} - test - diff --git a/apache-olingo/olingo2/pom.xml b/apache-olingo/olingo2/pom.xml index 727e6ca484..95b123efbc 100644 --- a/apache-olingo/olingo2/pom.xml +++ b/apache-olingo/olingo2/pom.xml @@ -5,7 +5,6 @@ 4.0.0 org.baeldung.examples.olingo2 olingo2 - 0.0.1-SNAPSHOT olingo2 Sample Olingo 2 Project diff --git a/apache-pulsar/pom.xml b/apache-pulsar/pom.xml index 8a0882dae1..fdd9ae1e95 100644 --- a/apache-pulsar/pom.xml +++ b/apache-pulsar/pom.xml @@ -24,8 +24,6 @@ - 1.8 - 1.8 - 2.1.1-incubating + 2.1.1-incubating diff --git a/apache-solrj/pom.xml b/apache-solrj/pom.xml index 1227fdca46..b19ceb1e48 100644 --- a/apache-solrj/pom.xml +++ b/apache-solrj/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung apache-solrj 0.0.1-SNAPSHOT apache-solrj diff --git a/apache-spark/pom.xml b/apache-spark/pom.xml index 3df81e5aee..41fd51d9fd 100644 --- a/apache-spark/pom.xml +++ b/apache-spark/pom.xml @@ -2,7 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung apache-spark 1.0-SNAPSHOT apache-spark @@ -59,15 +58,6 @@ - - org.apache.maven.plugins - maven-compiler-plugin - ${maven-compiler-plugin.version} - - ${java.version} - ${java.version} - - maven-assembly-plugin @@ -95,7 +85,6 @@ 2.3.0 2.3.0 1.5.2 - 3.2 diff --git a/apache-velocity/pom.xml b/apache-velocity/pom.xml index 24ab0b861d..b370b11cc1 100644 --- a/apache-velocity/pom.xml +++ b/apache-velocity/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung 0.1-SNAPSHOT apache-velocity apache-velocity diff --git a/aws-lambda/pom.xml b/aws-lambda/pom.xml index c799718e61..1f3c31f87c 100644 --- a/aws-lambda/pom.xml +++ b/aws-lambda/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - com.baeldung aws-lambda 0.1.0-SNAPSHOT aws-lambda @@ -88,7 +87,6 @@ 1.1.1 - 20180130 2.5 1.3.0 1.2.0 diff --git a/aws/pom.xml b/aws/pom.xml index 75d5aac1eb..45a30f96ba 100644 --- a/aws/pom.xml +++ b/aws/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung aws 0.1.0-SNAPSHOT aws diff --git a/axon/pom.xml b/axon/pom.xml index 3d30cceb83..21e21f0ef2 100644 --- a/axon/pom.xml +++ b/axon/pom.xml @@ -30,7 +30,6 @@ org.springframework.boot spring-boot-autoconfigure - ${spring-boot.version} compile diff --git a/azure/pom.xml b/azure/pom.xml index 270b3e4829..3d9c296748 100644 --- a/azure/pom.xml +++ b/azure/pom.xml @@ -2,7 +2,6 @@ 4.0.0 - com.baeldung azure 0.1 azure diff --git a/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java new file mode 100644 index 0000000000..67c62fe009 --- /dev/null +++ b/core-java-modules/core-java-collections-list-2/src/main/java/com/baeldung/findastring/FindAStringInGivenList.java @@ -0,0 +1,72 @@ +package com.baeldung.findastring; + +import com.google.common.base.Predicates; +import com.google.common.collect.Iterables; +import com.google.common.collect.Lists; +import org.apache.commons.collections4.IterableUtils; +import org.apache.commons.collections4.IteratorUtils; +import java.util.ArrayList; +import java.util.List; +import java.util.regex.Pattern; +import java.util.stream.Collectors; + +public class FindAStringInGivenList { + + + public List findUsingLoopWithRegex(String search, List list) { + + List matches = new ArrayList(); + + String pattern = ".*"+search+".*"; + Pattern p = Pattern.compile(pattern); + + for(String str: list) { + if (p.matcher(str).matches()) { + matches.add(str); + } + } + + return matches; + } + + + public List findUsingLoop(String search, List list) { + + List matches = new ArrayList(); + + for(String str: list) { + if (str.contains(search)) { + matches.add(str); + } + } + + return matches; + } + + public List findUsingStream(String search, List list) { + + List matchingElements = + list.stream() + .filter(str -> str.trim().contains(search)) + .collect(Collectors.toList()); + + return matchingElements; + } + + public List findUsingGuava(String search, List list) { + Iterable result = Iterables.filter(list, Predicates.containsPattern(search)); + + return Lists.newArrayList(result.iterator()); + } + + public List findUsingCommonsCollection(String search, List list) { + Iterable result = IterableUtils.filteredIterable(list, new org.apache.commons.collections4.Predicate() { + public boolean evaluate(String listElement) { + return listElement.contains(search); + } + }); + + return IteratorUtils.toList(result.iterator()); + } + +} \ No newline at end of file diff --git a/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java new file mode 100644 index 0000000000..ff5ca21505 --- /dev/null +++ b/core-java-modules/core-java-collections-list-2/src/test/java/com/baeldung/findastring/FindAStringInListUnitTest.java @@ -0,0 +1,62 @@ +package com.baeldung.findastring; + +import java.util.ArrayList; +import java.util.List; +import static org.junit.jupiter.api.Assertions.assertEquals; +import org.junit.Test; +public class FindAStringInListUnitTest { + + private static List list = new ArrayList<>(); + + static { + list.add("Jack and Jill"); + list.add("James and Sarah"); + list.add("Sam and Louise"); + list.add("Jack"); + list.add(""); + } + + private static FindAStringInGivenList findAStringInGivenList = new FindAStringInGivenList(); + + @Test + public void givenAString_whenFoundUsingLoopWithRegex_thenReturnList() { + List matchingElements = findAStringInGivenList.findUsingLoopWithRegex("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenFoundUsingLoop_thenReturnList() { + List matchingElements = findAStringInGivenList.findUsingLoop("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + + @Test + public void givenAString_whenFoundUsingStream_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingStream("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenFoundUsingCommonsCollection_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingCommonsCollection("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + + @Test + public void givenAString_whenFoundUsingGuava_thenReturnList(){ + List matchingElements = findAStringInGivenList.findUsingGuava("Jack", list); + assertEquals(2, matchingElements.size()); + assertEquals("Jack and Jill", matchingElements.get(0)); + assertEquals("Jack", matchingElements.get(1)); + } + +} diff --git a/core-java-modules/core-java-concurrency-advanced-2/README.md b/core-java-modules/core-java-concurrency-advanced-2/README.md new file mode 100644 index 0000000000..988ada9e4a --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/README.md @@ -0,0 +1,19 @@ +========= + +## Core Java Concurrency Advanced Examples + +This module contains articles about advanced topics about multithreading with core Java. + +### Relevant Articles: +- [Semaphores in Java](https://www.baeldung.com/java-semaphore) +- [Daemon Threads in Java](https://www.baeldung.com/java-daemon-thread) +- [Priority-based Job Scheduling in Java](https://www.baeldung.com/java-priority-job-schedule) +- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) +- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) +- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) +- [Guide to the Fork/Join Framework in Java](https://www.baeldung.com/java-fork-join) +- [Guide to ThreadLocalRandom in Java](https://www.baeldung.com/java-thread-local-random) +- [The Thread.join() Method in Java](https://www.baeldung.com/java-thread-join) +- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) + +[[<-- previous]](/core-java-modules/core-java-concurrency-advanced)[[next -->]](/core-java-modules/core-java-concurrency-advanced-3) diff --git a/core-java-modules/core-java-concurrency-advanced-2/pom.xml b/core-java-modules/core-java-concurrency-advanced-2/pom.xml new file mode 100644 index 0000000000..cad492b1ea --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/pom.xml @@ -0,0 +1,59 @@ + + 4.0.0 + com.baeldung + core-java-concurrency-advanced-2 + 0.1.0-SNAPSHOT + core-java-concurrency-advanced-2 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + org.apache.commons + commons-lang3 + ${commons-lang3.version} + + + org.openjdk.jmh + jmh-core + ${jmh-core.version} + + + org.openjdk.jmh + jmh-generator-annprocess + ${jmh-generator-annprocess.version} + + + + org.assertj + assertj-core + ${assertj.version} + test + + + + + core-java-concurrency-advanced-2 + + + src/main/resources + true + + + + + + 1.19 + 1.19 + + 3.6.1 + + + diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExample.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java similarity index 88% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java index 76b6198bc4..cf497687cc 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExample.java @@ -4,6 +4,7 @@ import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; public class CyclicBarrierResetExample { @@ -36,6 +37,11 @@ public class CyclicBarrierResetExample { }); } es.shutdown(); + try { + es.awaitTermination(1, TimeUnit.SECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + } return updateCount.get(); } diff --git a/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java new file mode 100644 index 0000000000..370ce99c09 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/daemon/NewThread.java @@ -0,0 +1,23 @@ +package com.baeldung.concurrent.daemon; + +public class NewThread extends Thread { + public void run() { + long startTime = System.currentTimeMillis(); + while (true) { + for (int i = 0; i < 10; i++) { + System.out.println(this.getName() + ": New Thread is running..." + i); + try { + //Wait for one sec so it doesn't print too fast + Thread.sleep(1000); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + // prevent the Thread to run forever. It will finish it's execution after 2 seconds + if (System.currentTimeMillis() - startTime > 2000) { + Thread.currentThread().interrupt(); + break; + } + } + } +} diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddSemaphore.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/evenandodd/PrintEvenOddWaitNotify.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/AverageCalculator.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/AverageCalculator.java similarity index 90% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/AverageCalculator.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/AverageCalculator.java index a548b5d4a7..f0997b30bd 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/AverageCalculator.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/AverageCalculator.java @@ -1,4 +1,4 @@ -package com.baeldung.concurrent.parameter; +package com.baeldung.concurrent.parameters; import java.util.concurrent.Callable; import java.util.stream.IntStream; diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/ParameterizedThreadExample.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/ParameterizedThreadExample.java similarity index 95% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/ParameterizedThreadExample.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/ParameterizedThreadExample.java index 73c61f3fb1..177bf14dae 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/parameter/ParameterizedThreadExample.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/parameters/ParameterizedThreadExample.java @@ -1,4 +1,4 @@ -package com.baeldung.concurrent.parameter; +package com.baeldung.concurrent.parameters; import java.util.concurrent.Callable; import java.util.stream.IntStream; diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/Job.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/JobPriority.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobScheduler.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/CounterUsingMutex.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/DelayQueueUsingTimedSemaphore.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/semaphores/LoginQueueUsingSemaphore.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/concurrent/yield/ThreadYield.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveAction.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/CustomRecursiveTask.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/forkjoin/util/PoolUtil.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarkRunner.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java b/core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java rename to core-java-modules/core-java-concurrency-advanced-2/src/main/java/com/baeldung/threadlocalrandom/ThreadLocalRandomBenchMarker.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchCountExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/countdownlatch/CountdownLatchResetExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCountExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierResetExampleUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/daemon/DaemonThreadUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/parameters/ParameterizedThreadUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/parameters/ParameterizedThreadUnitTest.java similarity index 93% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/parameters/ParameterizedThreadUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/parameters/ParameterizedThreadUnitTest.java index 21b374e609..4185d77dc3 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/parameters/ParameterizedThreadUnitTest.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/parameters/ParameterizedThreadUnitTest.java @@ -1,14 +1,13 @@ -package com.baeldung.parameters; +package com.baeldung.concurrent.parameters; -import com.baeldung.concurrent.parameter.AverageCalculator; -import org.junit.Test; +import static org.junit.Assert.assertEquals; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Future; import java.util.stream.IntStream; -import static org.junit.Assert.assertEquals; +import org.junit.Test; public class ParameterizedThreadUnitTest { diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/prioritytaskexecution/PriorityJobSchedulerUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/concurrent/semaphores/SemaphoresManualTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin/Java8ForkJoinIntegrationTest.java similarity index 98% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin/Java8ForkJoinIntegrationTest.java index 6778fd782b..c469fe0195 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/java8/Java8ForkJoinIntegrationTest.java +++ b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/forkjoin/Java8ForkJoinIntegrationTest.java @@ -1,4 +1,4 @@ -package com.baeldung.java8; +package com.baeldung.forkjoin; import static org.junit.Assert.assertEquals; import static org.junit.Assert.assertNotNull; diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/thread/join/ThreadJoinUnitTest.java diff --git a/core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java b/core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java similarity index 100% rename from core-java-modules/core-java-concurrency-advanced/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java rename to core-java-modules/core-java-concurrency-advanced-2/src/test/java/com/baeldung/threadlocalrandom/ThreadLocalRandomIntegrationTest.java diff --git a/core-java-modules/core-java-concurrency-advanced-3/README.md b/core-java-modules/core-java-concurrency-advanced-3/README.md new file mode 100644 index 0000000000..d1622b5fe1 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-3/README.md @@ -0,0 +1,9 @@ +========= + +## Core Java Concurrency Advanced Examples + +This module contains articles about advanced topics about multithreading with core Java. + +### Relevant Articles: + +[[<-- previous]](/core-java-modules/core-java-concurrency-advanced-2) diff --git a/core-java-modules/core-java-concurrency-advanced-3/pom.xml b/core-java-modules/core-java-concurrency-advanced-3/pom.xml new file mode 100644 index 0000000000..cc7b7b1e70 --- /dev/null +++ b/core-java-modules/core-java-concurrency-advanced-3/pom.xml @@ -0,0 +1,33 @@ + + 4.0.0 + com.baeldung + core-java-concurrency-advanced-3 + 0.1.0-SNAPSHOT + core-java-concurrency-advanced-3 + jar + + + com.baeldung + parent-java + 0.0.1-SNAPSHOT + ../../parent-java + + + + + + + core-java-concurrency-advanced-3 + + + src/main/resources + true + + + + + + + + diff --git a/core-java-modules/core-java-concurrency-advanced/.gitignore b/core-java-modules/core-java-concurrency-advanced/.gitignore deleted file mode 100644 index 3de4cc647e..0000000000 --- a/core-java-modules/core-java-concurrency-advanced/.gitignore +++ /dev/null @@ -1,26 +0,0 @@ -*.class - -0.* - -#folders# -/target -/neoDb* -/data -/src/main/webapp/WEB-INF/classes -*/META-INF/* -.resourceCache - -# Packaged files # -*.jar -*.war -*.ear - -# Files generated by integration tests -*.txt -backup-pom.xml -/bin/ -/temp - -#IntelliJ specific -.idea/ -*.iml \ No newline at end of file diff --git a/core-java-modules/core-java-concurrency-advanced/README.md b/core-java-modules/core-java-concurrency-advanced/README.md index f76e68757a..0da59c88fb 100644 --- a/core-java-modules/core-java-concurrency-advanced/README.md +++ b/core-java-modules/core-java-concurrency-advanced/README.md @@ -1,25 +1,16 @@ ## Core Java Concurrency Advanced Examples -This module contains articles about advanced concurrency in core Java. +This module contains articles about advanced topics about multithreading with core Java. ### Relevant Articles: -- [Introduction to Thread Pools in Java](http://www.baeldung.com/thread-pool-java-and-guava) -- [Guide to CountDownLatch in Java](http://www.baeldung.com/java-countdown-latch) -- [Guide to java.util.concurrent.Locks](http://www.baeldung.com/java-concurrent-locks) -- [An Introduction to ThreadLocal in Java](http://www.baeldung.com/java-threadlocal) -- [LongAdder and LongAccumulator in Java](http://www.baeldung.com/java-longadder-and-longaccumulator) -- [The Dining Philosophers Problem in Java](http://www.baeldung.com/java-dining-philoshophers) -- [Guide to the Java Phaser](http://www.baeldung.com/java-phaser) -- [An Introduction to Atomic Variables in Java](http://www.baeldung.com/java-atomic-variables) -- [CyclicBarrier in Java](http://www.baeldung.com/java-cyclic-barrier) -- [Guide to the Volatile Keyword in Java](http://www.baeldung.com/java-volatile) -- [Semaphores in Java](http://www.baeldung.com/java-semaphore) -- [Daemon Threads in Java](http://www.baeldung.com/java-daemon-thread) -- [Priority-based Job Scheduling in Java](http://www.baeldung.com/java-priority-job-schedule) -- [Brief Introduction to Java Thread.yield()](https://www.baeldung.com/java-thread-yield) -- [Print Even and Odd Numbers Using 2 Threads](https://www.baeldung.com/java-even-odd-numbers-with-2-threads) -- [Java CyclicBarrier vs CountDownLatch](https://www.baeldung.com/java-cyclicbarrier-countdownlatch) -- [Guide to the Fork/Join Framework in Java](http://www.baeldung.com/java-fork-join) -- [Guide to ThreadLocalRandom in Java](http://www.baeldung.com/java-thread-local-random) -- [The Thread.join() Method in Java](http://www.baeldung.com/java-thread-join) -- [Passing Parameters to Java Threads](https://www.baeldung.com/java-thread-parameters) +- [Introduction to Thread Pools in Java](https://www.baeldung.com/thread-pool-java-and-guava) +- [Guide to CountDownLatch in Java](https://www.baeldung.com/java-countdown-latch) +- [Guide to java.util.concurrent.Locks](https://www.baeldung.com/java-concurrent-locks) +- [An Introduction to ThreadLocal in Java](https://www.baeldung.com/java-threadlocal) +- [LongAdder and LongAccumulator in Java](https://www.baeldung.com/java-longadder-and-longaccumulator) +- [The Dining Philosophers Problem in Java](https://www.baeldung.com/java-dining-philoshophers) +- [Guide to the Java Phaser](https://www.baeldung.com/java-phaser) +- [An Introduction to Atomic Variables in Java](https://www.baeldung.com/java-atomic-variables) +- [CyclicBarrier in Java](https://www.baeldung.com/java-cyclic-barrier) +- [Guide to the Volatile Keyword in Java](https://www.baeldung.com/java-volatile) +- More Articles: [[next -->]](/core-java-modules/core-java-concurrency-advanced-2) diff --git a/core-java-modules/core-java-concurrency-advanced/pom.xml b/core-java-modules/core-java-concurrency-advanced/pom.xml index 5d41909ed3..4a9ee30d65 100644 --- a/core-java-modules/core-java-concurrency-advanced/pom.xml +++ b/core-java-modules/core-java-concurrency-advanced/pom.xml @@ -47,16 +47,6 @@ ${avaitility.version} test - - org.openjdk.jmh - jmh-core - ${jmh-core.version} - - - org.openjdk.jmh - jmh-generator-annprocess - ${jmh-generator-annprocess.version} - @@ -78,8 +68,6 @@ 3.6.1 1.7.0 - 1.19 - 1.19 diff --git a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java b/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java index 7c1299da62..00cf314706 100644 --- a/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java +++ b/core-java-modules/core-java-concurrency-advanced/src/main/java/com/baeldung/concurrent/cyclicbarrier/CyclicBarrierCompletionMethodExample.java @@ -4,6 +4,7 @@ import java.util.concurrent.BrokenBarrierException; import java.util.concurrent.CyclicBarrier; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; import java.util.concurrent.atomic.AtomicInteger; public class CyclicBarrierCompletionMethodExample { @@ -35,6 +36,11 @@ public class CyclicBarrierCompletionMethodExample { }); } es.shutdown(); + try { + es.awaitTermination(1, TimeUnit.SECONDS); + } catch (InterruptedException e) { + e.printStackTrace(); + } return updateCount.get(); } diff --git a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java index 3a1d8555d3..43261e5ee4 100644 --- a/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java +++ b/core-java-modules/core-java-concurrency-basic/src/main/java/com/baeldung/concurrent/semaphore/SemaPhoreDemo.java @@ -12,9 +12,11 @@ public class SemaPhoreDemo { System.out.println("Number of threads waiting to acquire: " + semaphore.getQueueLength()); if (semaphore.tryAcquire()) { - semaphore.acquire(); + try { // perform some critical operations - semaphore.release(); + } finally { + semaphore.release(); + } } } diff --git a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java index 835815aecd..957294153b 100644 --- a/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java +++ b/core-java-modules/core-java-lambdas/src/test/java/com/baeldung/java8/lambda/methodreference/MethodReferenceUnitTest.java @@ -35,9 +35,9 @@ public class MethodReferenceUnitTest { public void referenceToInstanceMethodOfArbitratyObjectOfParticularType() { List numbers = Arrays.asList(5, 3, 50, 24, 40, 2, 9, 18); numbers.stream() - .sorted((a, b) -> Integer.compare(a, b)); + .sorted((a, b) -> a.compareTo(b)); numbers.stream() - .sorted(Integer::compare); + .sorted(Integer::compareTo); } @Test diff --git a/core-java-modules/core-java-lang-math/README.md b/core-java-modules/core-java-lang-math/README.md index cfa3052f43..b316ed1cfb 100644 --- a/core-java-modules/core-java-lang-math/README.md +++ b/core-java-modules/core-java-lang-math/README.md @@ -5,3 +5,4 @@ ### Relevant Articles: - [Java 8 Math New Methods](https://www.baeldung.com/java-8-math) - [Java 8 Unsigned Arithmetic Support](https://www.baeldung.com/java-unsigned-arithmetic) +- [How to Separate Double into Integer and Decimal Parts](https://www.baeldung.com/java-separate-double-into-integer-decimal-parts) diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java b/core-java-modules/core-java-lang-math/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java rename to core-java-modules/core-java-lang-math/src/main/java/com/baeldung/doubles/SplitFloatingPointNumbers.java diff --git a/core-java-modules/core-java-lang-oop-3/README.md b/core-java-modules/core-java-lang-oop-3/README.md index c3a32124b5..4ac6c3ffe9 100644 --- a/core-java-modules/core-java-lang-oop-3/README.md +++ b/core-java-modules/core-java-lang-oop-3/README.md @@ -9,4 +9,9 @@ This module contains articles about Object-oriented programming (OOP) in Java - [Guide to the this Java Keyword](https://www.baeldung.com/java-this) - [Java Public Access Modifier](https://www.baeldung.com/java-public-keyword) - [Composition, Aggregation and Association in Java](https://www.baeldung.com/java-composition-aggregation-association) +- [Nested Classes in Java](https://www.baeldung.com/java-nested-classes) +- [A Guide to Inner Interfaces in Java](https://www.baeldung.com/java-inner-interfaces) +- [Java Classes and Objects](https://www.baeldung.com/java-classes-objects) +- [Java Interfaces](https://www.baeldung.com/java-interfaces) +- [Static and Dynamic Binding in Java](https://www.baeldung.com/java-static-dynamic-binding) - [[<-- Prev]](/core-java-modules/core-java-lang-oop-2) \ No newline at end of file diff --git a/core-java-modules/core-java-lang-oop-3/pom.xml b/core-java-modules/core-java-lang-oop-3/pom.xml index 29807b5bef..1caf17bef3 100644 --- a/core-java-modules/core-java-lang-oop-3/pom.xml +++ b/core-java-modules/core-java-lang-oop-3/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung core-java-lang-oop-3 0.1.0-SNAPSHOT core-java-lang-oop-3 @@ -15,6 +14,24 @@ + + + log4j + log4j + ${log4j.version} + + + org.slf4j + log4j-over-slf4j + ${org.slf4j.version} + + + + org.assertj + assertj-core + ${assertj-core.version} + test + com.h2database h2 @@ -23,4 +40,18 @@ + + core-java-lang-oop-3 + + + src/main/resources + true + + + + + + 3.10.0 + + diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Animal.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Animal.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Animal.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Animal.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/AnimalActivity.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/AnimalActivity.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/AnimalActivity.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/AnimalActivity.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Cat.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Cat.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/binding/Cat.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/binding/Cat.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/CommaSeparatedCustomers.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/CommaSeparatedCustomers.java similarity index 92% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/CommaSeparatedCustomers.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/CommaSeparatedCustomers.java index 29ed2d3d26..a815720d62 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/CommaSeparatedCustomers.java +++ b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/CommaSeparatedCustomers.java @@ -1,4 +1,4 @@ -package com.baeldung.interfaces; +package com.baeldung.innerinterfaces; import java.util.ArrayList; import java.util.List; diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Customer.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/Customer.java similarity index 88% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Customer.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/Customer.java index d2f2b48074..ce27460cbb 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Customer.java +++ b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/innerinterfaces/Customer.java @@ -1,4 +1,4 @@ -package com.baeldung.interfaces; +package com.baeldung.innerinterfaces; public class Customer { public interface List { diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Box.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Box.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Box.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Box.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Employee.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Employee.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/Employee.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/Employee.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/EmployeeSalaryComparator.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/HasColor.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/HasColor.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/HasColor.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/HasColor.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Car.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Fly.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Transform.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/multiinheritance/Vehicle.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Circle.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/MainTestClass.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Shape.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/interfaces/polymorphysim/Square.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/objects/Car.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/objects/Car.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/objects/Car.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/objects/Car.java diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java similarity index 99% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java index 0e1746fc38..2c6ff3d683 100644 --- a/core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java +++ b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/NonPrimitives.java @@ -17,7 +17,7 @@ public class NonPrimitives { b1.num++; } } - + class FooClass { public int num; diff --git a/core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/Primitives.java b/core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/Primitives.java similarity index 100% rename from core-java-modules/core-java-lang/src/main/java/com/baeldung/parameterpassing/Primitives.java rename to core-java-modules/core-java-lang-oop-3/src/main/java/com/baeldung/parameterpassing/Primitives.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalActivityUnitTest.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalUnitTest.java index a34640b58a..11201965d9 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/AnimalUnitTest.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/AnimalUnitTest.java @@ -14,13 +14,13 @@ import org.mockito.Mock; import org.mockito.junit.MockitoJUnitRunner; import org.slf4j.LoggerFactory; +import java.util.List; + import static org.hamcrest.CoreMatchers.is; import static org.junit.Assert.assertThat; import static org.mockito.Mockito.times; import static org.mockito.Mockito.verify; -import java.util.List; - /** * Created by madhumita.g on 01-08-2018. */ diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/CatUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/CatUnitTest.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/binding/CatUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/binding/CatUnitTest.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/interfaces/InnerInterfaceUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces/InnerInterfaceUnitTest.java similarity index 78% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/interfaces/InnerInterfaceUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces/InnerInterfaceUnitTest.java index 65d7c860a8..65e51ed93d 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/interfaces/InnerInterfaceUnitTest.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/innerinterfaces/InnerInterfaceUnitTest.java @@ -1,11 +1,13 @@ -package com.baeldung.interfaces; - -import static org.junit.Assert.assertEquals; +package com.baeldung.innerinterfaces; +import com.baeldung.innerinterfaces.CommaSeparatedCustomers; +import com.baeldung.innerinterfaces.Customer; import org.junit.Test; import org.junit.runner.RunWith; import org.junit.runners.JUnit4; +import static org.junit.Assert.assertEquals; + @RunWith(JUnit4.class) public class InnerInterfaceUnitTest { @Test diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/AnonymousInner.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/AnonymousInner.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/AnonymousInner.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/AnonymousInner.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Enclosing.java similarity index 81% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Enclosing.java index 3db33cde9b..a7c0e1b29f 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Enclosing.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Enclosing.java @@ -15,7 +15,7 @@ public class Enclosing { @Test public void test() { - Enclosing.StaticNested nested = new Enclosing.StaticNested(); + StaticNested nested = new StaticNested(); nested.run(); } } diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewEnclosing.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewEnclosing.java similarity index 100% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewEnclosing.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewEnclosing.java diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewOuter.java similarity index 91% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewOuter.java index 260f69fd1b..37c8be7817 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/NewOuter.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/NewOuter.java @@ -23,7 +23,7 @@ public class NewOuter { @Test public void test() { NewOuter outer = new NewOuter(); - NewOuter.InnerClass inner = outer.new InnerClass(); + InnerClass inner = outer.new InnerClass(); inner.run(); } diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Outer.java similarity index 86% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Outer.java index d5e46670c9..196cd6cd38 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/nestedclass/Outer.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/nestedclass/Outer.java @@ -14,7 +14,7 @@ public class Outer { @Test public void test() { Outer outer = new Outer(); - Outer.Inner inner = outer.new Inner(); + Inner inner = outer.new Inner(); inner.run(); } } diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java similarity index 96% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java rename to core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java index a1ef20523e..e0f8766be4 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/objects/CarUnitTest.java +++ b/core-java-modules/core-java-lang-oop-3/src/test/java/com/baeldung/objects/ObjectsUnitTest.java @@ -1,11 +1,11 @@ package com.baeldung.objects; -import static org.junit.Assert.*; - import org.junit.Before; import org.junit.Test; -public class CarUnitTest { +import static org.junit.Assert.*; + +public class ObjectsUnitTest { private Car car; diff --git a/core-java-modules/core-java-lang/README.md b/core-java-modules/core-java-lang/README.md index 3c33409e7e..9b485d80e9 100644 --- a/core-java-modules/core-java-lang/README.md +++ b/core-java-modules/core-java-lang/README.md @@ -3,22 +3,14 @@ This module contains articles about core features in the Java language ### Relevant Articles: - - [Generate equals() and hashCode() with Eclipse](https://www.baeldung.com/java-eclipse-equals-and-hashcode) - [Iterating Over Enum Values in Java](https://www.baeldung.com/java-enum-iteration) - [Comparator and Comparable in Java](https://www.baeldung.com/java-comparator-comparable) -- [Nested Classes in Java](https://www.baeldung.com/java-nested-classes) -- [A Guide to Inner Interfaces in Java](https://www.baeldung.com/java-inner-interfaces) - [Recursion In Java](https://www.baeldung.com/java-recursion) - [A Guide to the finalize Method in Java](https://www.baeldung.com/java-finalize) - [Quick Guide to java.lang.System](https://www.baeldung.com/java-lang-system) - [Using Java Assertions](https://www.baeldung.com/java-assert) -- [Static and Dynamic Binding in Java](https://www.baeldung.com/java-static-dynamic-binding) - [Synthetic Constructs in Java](https://www.baeldung.com/java-synthetic) -- [How to Separate Double into Integer and Decimal Parts](https://www.baeldung.com/java-separate-double-into-integer-decimal-parts) - [Retrieving a Class Name in Java](https://www.baeldung.com/java-class-name) -- [Java Interfaces](https://www.baeldung.com/java-interfaces) - [Attaching Values to Java Enum](https://www.baeldung.com/java-enum-values) -- [Java Classes and Objects](https://www.baeldung.com/java-classes-objects) -- [A Guide to Java Enums](https://www.baeldung.com/a-guide-to-java-enums) - [[More --> ]](/core-java-modules/core-java-lang-2) \ No newline at end of file diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/DaysOfWeekEnum.java similarity index 92% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/DaysOfWeekEnum.java index 89e718adf3..f25ddfa6dd 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/DaysOfWeekEnum.java +++ b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/DaysOfWeekEnum.java @@ -1,4 +1,4 @@ -package com.baeldung.java.enumiteration; +package com.baeldung.enums.iteration; import java.util.stream.Stream; diff --git a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/EnumIterationExamples.java similarity index 97% rename from core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java rename to core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/EnumIterationExamples.java index 110943e39f..9b058aef83 100644 --- a/core-java-modules/core-java-lang/src/test/java/com/baeldung/java/enumiteration/EnumIterationExamples.java +++ b/core-java-modules/core-java-lang/src/test/java/com/baeldung/enums/iteration/EnumIterationExamples.java @@ -1,4 +1,4 @@ -package com.baeldung.java.enumiteration; +package com.baeldung.enums.iteration; import java.util.ArrayList; import java.util.Arrays; diff --git a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java index bdd92e37f6..1ed5f9e62a 100644 --- a/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java +++ b/core-java-modules/core-java/src/main/java/com/baeldung/encoding/CharacterEncodingExamples.java @@ -1,10 +1,15 @@ package com.baeldung.encoding; +import java.io.BufferedReader; +import java.io.ByteArrayInputStream; import java.io.File; import java.io.FileInputStream; import java.io.IOException; import java.io.InputStreamReader; import java.io.UnsupportedEncodingException; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; public class CharacterEncodingExamples { @@ -29,4 +34,12 @@ public class CharacterEncodingExamples { } return buffer.toString(); } + + static String decodeText(String input, Charset charset, CodingErrorAction codingErrorAction) throws IOException { + CharsetDecoder charsetDecoder = charset.newDecoder(); + charsetDecoder.onMalformedInput(codingErrorAction); + return new BufferedReader( + new InputStreamReader( + new ByteArrayInputStream(input.getBytes()), charsetDecoder)).readLine(); + } } diff --git a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java index 95b3605d95..fe3867a3c3 100644 --- a/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java +++ b/core-java-modules/core-java/src/test/java/com/baeldung/encoding/CharacterEncodingExamplesUnitTest.java @@ -1,9 +1,24 @@ package com.baeldung.encoding; +import java.io.BufferedReader; import java.io.IOException; +import java.io.InputStreamReader; +import java.io.Reader; +import java.nio.charset.Charset; +import java.nio.charset.CharsetDecoder; +import java.nio.charset.CodingErrorAction; +import java.nio.charset.MalformedInputException; +import java.nio.charset.StandardCharsets; +import java.nio.file.Files; +import java.nio.file.Path; +import java.nio.file.Paths; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; import org.junit.Assert; import org.junit.Test; +import org.junit.jupiter.api.Assertions; public class CharacterEncodingExamplesUnitTest { @@ -58,4 +73,52 @@ public class CharacterEncodingExamplesUnitTest { "0 0 10001010 10011110 "); } + @Test + public void givenUTF8String_whenDecodeByUS_ASCII_thenIgnoreMalformedInputSequence() throws IOException { + Assertions.assertEquals("The faade pattern is a software design pattern.", CharacterEncodingExamples.decodeText("The façade pattern is a software design pattern.", StandardCharsets.US_ASCII, CodingErrorAction.IGNORE)); + } + + @Test + public void givenUTF8String_whenDecodeByUS_ASCII_thenReplaceMalformedInputSequence() throws IOException { + Assertions.assertEquals( + "The fa��ade pattern is a software design pattern.", + CharacterEncodingExamples.decodeText( + "The façade pattern is a software design pattern.", + StandardCharsets.US_ASCII, + CodingErrorAction.REPLACE)); + } + + @Test + public void givenUTF8String_whenDecodeByUS_ASCII_thenReportMalformedInputSequence() { + Assertions.assertThrows( + MalformedInputException.class, + () -> CharacterEncodingExamples.decodeText( + "The façade pattern is a software design pattern.", + StandardCharsets.US_ASCII, + CodingErrorAction.REPORT)); + } + + @Test + public void givenTextFile_whenLoopOverAllCandidateEncodings_thenProduceSuitableCandidateEncodings() { + Path path = Paths.get("src/test/resources/encoding.txt"); + List allCandidateCharSets = Arrays.asList( + StandardCharsets.US_ASCII, StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1); + + List suitableCharsets = new ArrayList<>(); + allCandidateCharSets.forEach(charset -> { + try { + CharsetDecoder charsetDecoder = charset.newDecoder().onMalformedInput(CodingErrorAction.REPORT); + Reader reader = new InputStreamReader(Files.newInputStream(path), charsetDecoder); + BufferedReader bufferedReader = new BufferedReader(reader); + bufferedReader.readLine(); + suitableCharsets.add(charset); + } catch (MalformedInputException ignored) { + } catch (IOException ex) { + ex.printStackTrace(); + } + }); + + Assertions.assertEquals(suitableCharsets, Arrays.asList(StandardCharsets.UTF_8, StandardCharsets.ISO_8859_1)); + } + } diff --git a/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt b/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt index 1384cd9937..3a8a4b9857 100644 --- a/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt +++ b/core-kotlin/src/main/kotlin/com/baeldung/builder/FoodOrder.kt @@ -1,6 +1,6 @@ package com.baeldung.builder -class FoodOrder( +class FoodOrder private constructor( val bread: String?, val condiments: String?, val meat: String?, diff --git a/java-dates/README.md b/java-dates/README.md index d56e16eafd..d4657a3057 100644 --- a/java-dates/README.md +++ b/java-dates/README.md @@ -21,5 +21,4 @@ - [Add Hours To a Date In Java](http://www.baeldung.com/java-add-hours-date) - [ZoneOffset in Java](https://www.baeldung.com/java-zone-offset) - [Differences Between ZonedDateTime and OffsetDateTime](https://www.baeldung.com/java-zoneddatetime-offsetdatetime) -- [Introduction to Joda-Time](http://www.baeldung.com/joda-time) -- [Comparing Dates in Java](https://www.baeldung.com/java-comparing-dates) +- [Introduction to Joda-Time](https://www.baeldung.com/joda-time) diff --git a/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java b/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java index 217f1e06de..5e9f5bbcb4 100644 --- a/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java +++ b/java-numbers/src/main/java/com/baeldung/nth/root/calculator/NthRootCalculator.java @@ -1,8 +1,12 @@ package com.baeldung.nth.root.calculator; -public class NthRootCalculator -{ - public Double calculate(Double base, Double n) { - return Math.pow(Math.E, Math.log(base)/n); +public class NthRootCalculator { + + public double calculateWithRound(double base, double n) { + return Math.round(calculate(base, n)); + } + + public double calculate(double base, double n) { + return Math.pow(base, 1.0 / n); } } diff --git a/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java b/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java index 3fcd36812f..50190da38c 100644 --- a/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java +++ b/java-numbers/src/main/java/com/baeldung/nth/root/main/Main.java @@ -7,7 +7,7 @@ public class Main { NthRootCalculator calculator = new NthRootCalculator(); Double base = Double.parseDouble(args[0]); Double n = Double.parseDouble(args[1]); - Double result = calculator.calculate(base, n); + Double result = calculator.calculateWithRound(base, n); System.out.println("The " + n + " root of " + base + " equals to " + result + "."); } } diff --git a/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java b/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java index ab962fc150..35970536ed 100644 --- a/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java +++ b/java-numbers/src/test/java/com/baeldung/nth/root/calculator/NthRootCalculatorUnitTest.java @@ -1,19 +1,22 @@ package com.baeldung.nth.root.calculator; -import static org.junit.Assert.assertEquals; - import org.junit.Test; -import org.junit.runner.RunWith; -import org.mockito.InjectMocks; -import org.mockito.junit.MockitoJUnitRunner; + +import static org.junit.Assert.assertEquals; public class NthRootCalculatorUnitTest { private NthRootCalculator nthRootCalculator = new NthRootCalculator(); @Test - public void whenBaseIs125AndNIs3_thenNthRootIs5() { - Double result = nthRootCalculator.calculate(125.0, 3.0); - assertEquals(result, (Double) 5.0d); + public void whenBaseIs125AndNIs3_thenNthIs5() { + double nth = nthRootCalculator.calculateWithRound(125,3); + assertEquals(5, nth, 0); + } + + @Test + public void whenBaseIs625AndNIs4_thenNthIs5() { + double nth = nthRootCalculator.calculate(625,4); + assertEquals(5, nth, 0.00001); } } diff --git a/java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java b/java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java deleted file mode 100644 index a2fd839ba4..0000000000 --- a/java-numbers/src/test/java/com/baeldung/nth/root/main/MainUnitTest.java +++ /dev/null @@ -1,34 +0,0 @@ -package com.baeldung.nth.root.main; - -import java.io.ByteArrayOutputStream; -import java.io.PrintStream; - -import org.junit.After; -import org.junit.Before; -import org.junit.Test; -import org.mockito.InjectMocks; -import static org.junit.Assert.assertEquals; - -public class MainUnitTest { - @InjectMocks - private Main main; - - private final ByteArrayOutputStream outContent = new ByteArrayOutputStream(); - private final PrintStream originalOut = System.out; - - @Before - public void setUpStreams() { - System.setOut(new PrintStream(outContent)); - } - - @After - public void restoreStreams() { - System.setOut(originalOut); - } - - @Test - public void givenThatTheBaseIs125_andTheExpIs3_whenMainIsCalled_thenTheCorrectResultIsPrinted() { - main.main(new String[]{"125.0", "3.0"}); - assertEquals("The 3.0 root of 125.0 equals to 5.0.\n", outContent.toString().replaceAll("\r", "")); - } -} diff --git a/metrics/README.md b/metrics/README.md index d344a2707f..f27f5fb795 100644 --- a/metrics/README.md +++ b/metrics/README.md @@ -1,4 +1,8 @@ -## Relevant articles: +## Metrics + +This module contains articles about metrics. + +### Relevant articles: - [Intro to Dropwizard Metrics](https://www.baeldung.com/dropwizard-metrics) - [Introduction to Netflix Servo](https://www.baeldung.com/netflix-servo) diff --git a/micronaut/README.md b/micronaut/README.md index 0a39cf9e33..86ed705a9f 100644 --- a/micronaut/README.md +++ b/micronaut/README.md @@ -1,2 +1,6 @@ +## Micronaut + +This module contains articles about Micronaut. + ### Relevant Articles: - [Introduction to Micronaut Framework](https://www.baeldung.com/micronaut) diff --git a/microprofile/README.md b/microprofile/README.md index 7525ee5bff..faa1e59af0 100644 --- a/microprofile/README.md +++ b/microprofile/README.md @@ -1,3 +1,7 @@ +## Eclipse MicroProfile + +This module contains articles about Eclipse MicroProfile. + ### Relevant articles: - [Building Microservices with Eclipse MicroProfile](https://www.baeldung.com/eclipse-microprofile) diff --git a/ml/README.md b/ml/README.md index 1362f2840c..5fd32012b4 100644 --- a/ml/README.md +++ b/ml/README.md @@ -1,5 +1,6 @@ -### Logistic Regression in Java -This is a soft introduction to ML using [deeplearning4j](https://deeplearning4j.org) library +## Machine Learning + +This module contains articles about Machine Learning (ML) in Java with [deeplearning4j](https://deeplearning4j.org). ### Relevant Articles: - [Logistic Regression in Java](https://www.baeldung.com/) diff --git a/msf4j/README.md b/msf4j/README.md index b7f2c5a546..7655addbc5 100644 --- a/msf4j/README.md +++ b/msf4j/README.md @@ -1,3 +1,7 @@ +## MSF4J + +This module contains articles about MSF4J. + ### Relevant Articles: - [Introduction to Java Microservices with MSF4J](https://www.baeldung.com/msf4j) diff --git a/muleesb/README.md b/muleesb/README.md index 555a10b5cc..8e45d8bc53 100644 --- a/muleesb/README.md +++ b/muleesb/README.md @@ -1,3 +1,7 @@ +## Mule ESB + +This module contains articles about the Mule Enterprise Service Bus (ESB). + ### Relevant Articles: - [Getting Started With Mule ESB](https://www.baeldung.com/mule-esb) diff --git a/mustache/README.md b/mustache/README.md index c36080b56f..e0fd642fda 100644 --- a/mustache/README.md +++ b/mustache/README.md @@ -1,3 +1,7 @@ +## Mustache + +This module contains articles about Mustache. + ### Relevant Articles: - [Introduction to Mustache](https://www.baeldung.com/mustache) - [Guide to Mustache with Spring Boot](https://www.baeldung.com/spring-boot-mustache) diff --git a/mybatis/README.md b/mybatis/README.md index 57687d3da1..2c3a9085e4 100644 --- a/mybatis/README.md +++ b/mybatis/README.md @@ -1,2 +1,6 @@ +## MyBatis + +This module contains articles about MyBatis. + ### Relevant Articles: - [Quick Guide to MyBatis](https://www.baeldung.com/mybatis) diff --git a/optaplanner/README.md b/optaplanner/README.md index 1568a615c0..b7a2dbe14b 100644 --- a/optaplanner/README.md +++ b/optaplanner/README.md @@ -1,3 +1,7 @@ +## OptaPlanner + +This module contains articles about OptaPlanner. + ### Relevant articles - [A Guide to OptaPlanner](https://www.baeldung.com/opta-planner) diff --git a/orika/README.md b/orika/README.md index 0096793507..094a60aa51 100644 --- a/orika/README.md +++ b/orika/README.md @@ -1,2 +1,6 @@ +## Orika + +This module contains articles about Orika. + ### Relevant Articles: - [Mapping with Orika](https://www.baeldung.com/orika-mapping) diff --git a/parent-java/pom.xml b/parent-java/pom.xml index 09e2596d0a..fd3028680d 100644 --- a/parent-java/pom.xml +++ b/parent-java/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung parent-java 0.0.1-SNAPSHOT parent-java diff --git a/parent-kotlin/pom.xml b/parent-kotlin/pom.xml index d993fad3c6..bda5fb70e7 100644 --- a/parent-kotlin/pom.xml +++ b/parent-kotlin/pom.xml @@ -56,18 +56,15 @@ org.jetbrains.kotlin kotlin-stdlib-jdk8 - ${kotlin.version} - + org.jetbrains.kotlin kotlin-stdlib - ${kotlin.version} - + org.jetbrains.kotlin kotlin-reflect - ${kotlin.version} - + org.jetbrains.kotlinx @@ -93,7 +90,6 @@ org.jetbrains.kotlin kotlin-test-junit - ${kotlin.version} test diff --git a/parent-spring-4/pom.xml b/parent-spring-4/pom.xml index 390934ca7b..b98d962580 100644 --- a/parent-spring-4/pom.xml +++ b/parent-spring-4/pom.xml @@ -1,7 +1,6 @@ 4.0.0 - com.baeldung parent-spring-4 0.0.1-SNAPSHOT parent-spring-4 diff --git a/parent-spring-5/pom.xml b/parent-spring-5/pom.xml index e43e129c7f..f126006bcb 100644 --- a/parent-spring-5/pom.xml +++ b/parent-spring-5/pom.xml @@ -2,7 +2,6 @@ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 - com.baeldung parent-spring-5 0.0.1-SNAPSHOT parent-spring-5 diff --git a/patterns/backoff-jitter/README.md b/patterns/design-patterns-cloud/README.md similarity index 100% rename from patterns/backoff-jitter/README.md rename to patterns/design-patterns-cloud/README.md diff --git a/patterns/backoff-jitter/pom.xml b/patterns/design-patterns-cloud/pom.xml similarity index 95% rename from patterns/backoff-jitter/pom.xml rename to patterns/design-patterns-cloud/pom.xml index 739aa87873..b5265a1f94 100644 --- a/patterns/backoff-jitter/pom.xml +++ b/patterns/design-patterns-cloud/pom.xml @@ -4,10 +4,10 @@ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0 com.baeldung - backoff-jitter + design-patterns-cloud 1.0.0-SNAPSHOT pom - backoff-jitter + design-patterns-cloud @@ -52,4 +52,4 @@ 0.16.0 - \ No newline at end of file + diff --git a/patterns/backoff-jitter/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java b/patterns/design-patterns-cloud/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java similarity index 100% rename from patterns/backoff-jitter/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java rename to patterns/design-patterns-cloud/src/test/java/com/baeldung/backoff/jitter/BackoffWithJitterTest.java diff --git a/patterns/pom.xml b/patterns/pom.xml index 196c3c3319..331415bf5b 100644 --- a/patterns/pom.xml +++ b/patterns/pom.xml @@ -24,7 +24,7 @@ design-patterns-structural solid dip - backoff-jitter + design-patterns-cloud diff --git a/persistence-modules/spring-hibernate4/README.md b/persistence-modules/spring-hibernate4/README.md index 020e867c82..c9e2b5abfc 100644 --- a/persistence-modules/spring-hibernate4/README.md +++ b/persistence-modules/spring-hibernate4/README.md @@ -1,6 +1,6 @@ -========= +## Spring with Hibernate 4 -## Spring with Hibernate 4 Example Project +This module contains articles about Spring with Hibernate 4 ### Relevant Articles: - [Guide to Hibernate 4 with Spring](http://www.baeldung.com/hibernate-4-spring) @@ -20,5 +20,6 @@ cd REST mvn install mvn cargo:run ``` + - **note**: starts on port `8082` diff --git a/persistence-modules/spring-mybatis/README.md b/persistence-modules/spring-mybatis/README.md index 5be328285f..b88fd1c672 100644 --- a/persistence-modules/spring-mybatis/README.md +++ b/persistence-modules/spring-mybatis/README.md @@ -1,3 +1,7 @@ -##Relevant Articles +## Spring MyBatis + +This module contains articles about Spring with MyBatis + +## Relevant Articles - [MyBatis with Spring](https://www.baeldung.com/spring-mybatis) diff --git a/pom.xml b/pom.xml index 5d6ad13488..3fae6829c7 100644 --- a/pom.xml +++ b/pom.xml @@ -595,7 +595,8 @@ tensorflow-java spf4j - spring-boot-flowable + spring-boot-configuration + spring-boot-flowable spring-boot-mvc-2 spring-boot-performance spring-boot-properties @@ -681,22 +682,26 @@ spring-boot-bootstrap spring-boot-camel - spring-boot-client + spring-boot-configuration + spring-boot-client spring-boot-crud spring-boot-ctx-fluent spring-boot-custom-starter - spring-boot-disable-console-logging spring-boot-jasypt spring-boot-keycloak spring-boot-kotlin spring-boot-logging-log4j2 - spring-boot-management spring-boot-mvc spring-boot-mvc-birt - spring-boot-ops - spring-boot-ops-2 + spring-boot-environment + spring-boot-deployment + spring-boot-runtime + spring-boot-runtime/disabling-console-jul + spring-boot-runtime/disabling-console-log4j2 + spring-boot-runtime/disabling-console-logback + spring-boot-artifacts spring-boot-rest spring-boot-data spring-boot-parent @@ -1039,7 +1044,9 @@ parent-kotlin core-java-modules/core-java-concurrency-advanced - core-kotlin + core-java-modules/core-java-concurrency-advanced-2 + core-java-modules/core-java-concurrency-advanced-3 + core-kotlin core-kotlin-2 core-kotlin-io @@ -1411,16 +1418,19 @@ spring-boot-crud spring-boot-ctx-fluent spring-boot-custom-starter - spring-boot-disable-console-logging spring-boot-jasypt spring-boot-keycloak spring-boot-logging-log4j2 - spring-boot-management spring-boot-mvc spring-boot-mvc-birt - spring-boot-ops - spring-boot-ops-2 + spring-boot-environment + spring-boot-deployment + spring-boot-runtime + spring-boot-runtime/disabling-console-jul + spring-boot-runtime/disabling-console-log4j2 + spring-boot-runtime/disabling-console-logback + spring-boot-artifacts spring-boot-rest spring-boot-data spring-boot-parent @@ -1595,7 +1605,9 @@ core-java-modules/core-java core-java-modules/core-java-concurrency-advanced - core-kotlin + core-java-modules/core-java-concurrency-advanced-2 + core-java-modules/core-java-concurrency-advanced-3 + core-kotlin core-kotlin-2 jenkins/plugins diff --git a/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java b/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java index 9afe50af58..bbfc88322b 100644 --- a/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java +++ b/spring-5-reactive-client/src/main/java/com/baeldung/reactive/webclient/simultaneous/Client.java @@ -41,28 +41,25 @@ public class Client { .bodyToMono(User.class); } - public List fetchUsers(List userIds) { + public Flux fetchUsers(List userIds) { return Flux.fromIterable(userIds) .parallel() .runOn(Schedulers.elastic()) .flatMap(this::getUser) - .collectSortedList((u1, u2) -> u2.id() - u1.id()) - .block(); + .ordered((u1, u2) -> u2.id() - u1.id()); } - public List fetchUserAndOtherUser(int id) { + public Flux fetchUserAndOtherUser(int id) { return Flux.merge(getUser(id), getOtherUser(id)) .parallel() .runOn(Schedulers.elastic()) - .collectSortedList((u1, u2) -> u2.id() - u1.id()) - .block(); + .ordered((u1, u2) -> u2.id() - u1.id()); } - public UserWithItem fetchUserAndItem(int userId, int itemId) { + public Mono fetchUserAndItem(int userId, int itemId) { Mono user = getUser(userId).subscribeOn(Schedulers.elastic()); Mono item = getItem(itemId).subscribeOn(Schedulers.elastic()); - return Mono.zip(user, item, UserWithItem::new) - .block(); + return Mono.zip(user, item, UserWithItem::new); } } diff --git a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java index 0acedf15b0..d74a64d9c9 100644 --- a/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java +++ b/spring-5-reactive-client/src/test/java/com/baeldung/reactive/webclient/simultaneous/ClientIntegrationTest.java @@ -56,7 +56,9 @@ public class ClientIntegrationTest { // Act long start = System.currentTimeMillis(); - List users = client.fetchUsers(userIds); + List users = client.fetchUsers(userIds) + .collectList() + .block(); long end = System.currentTimeMillis(); // Assert diff --git a/spring-boot-artifacts/README.md b/spring-boot-artifacts/README.md new file mode 100644 index 0000000000..4025e43a65 --- /dev/null +++ b/spring-boot-artifacts/README.md @@ -0,0 +1,10 @@ +## Spring Boot Artifacts + +This module contains articles about configuring the Spring Boot build process. + +### Relevant Articles: + - [Spring Boot Dependency Management with a Custom Parent](https://www.baeldung.com/spring-boot-dependency-management-custom-parent) + - [Create a Fat Jar App with Spring Boot](https://www.baeldung.com/deployable-fat-jar-spring-boot) + - [Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters) + - [Introduction to WebJars](https://www.baeldung.com/maven-webjars) + - [A Quick Guide to Maven Wrapper](https://www.baeldung.com/maven-wrapper) \ No newline at end of file diff --git a/spring-boot-ops/pom.xml b/spring-boot-artifacts/pom.xml similarity index 83% rename from spring-boot-ops/pom.xml rename to spring-boot-artifacts/pom.xml index f578a24163..8301533606 100644 --- a/spring-boot-ops/pom.xml +++ b/spring-boot-artifacts/pom.xml @@ -2,8 +2,8 @@ 4.0.0 - spring-boot-ops - spring-boot-ops + spring-boot-artifacts + spring-boot-artifacts war Demo project for Spring Boot @@ -101,15 +101,6 @@ ${project.artifactId} - - - src/main/resources - true - - **/conf.properties - - - org.springframework.boot @@ -126,28 +117,28 @@ - org.apache.maven.plugins - maven-failsafe-plugin - 2.18 - - - - integration-tests - - integration-test - verify - - - - - **/ExternalPropertyFileLoaderIntegrationTest.java - - - - - + org.apache.maven.plugins + maven-failsafe-plugin + 2.18 + + + + integration-tests + + integration-test + verify + + + + + **/ExternalPropertyFileLoaderIntegrationTest.java + + + + + diff --git a/spring-boot-ops/src/main/java/com/baeldung/webjar/TestController.java b/spring-boot-artifacts/src/main/java/com/baeldung/webjar/TestController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/webjar/TestController.java rename to spring-boot-artifacts/src/main/java/com/baeldung/webjar/TestController.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java b/spring-boot-artifacts/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java rename to spring-boot-artifacts/src/main/java/com/baeldung/webjar/WebjarsdemoApplication.java diff --git a/spring-boot-artifacts/src/main/resources/application.properties b/spring-boot-artifacts/src/main/resources/application.properties new file mode 100644 index 0000000000..709574239b --- /dev/null +++ b/spring-boot-artifacts/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/spring-boot-ops/src/main/resources/logback.xml b/spring-boot-artifacts/src/main/resources/logback.xml similarity index 100% rename from spring-boot-ops/src/main/resources/logback.xml rename to spring-boot-artifacts/src/main/resources/logback.xml diff --git a/spring-boot-ops/src/main/resources/templates/index.html b/spring-boot-artifacts/src/main/resources/templates/index.html similarity index 100% rename from spring-boot-ops/src/main/resources/templates/index.html rename to spring-boot-artifacts/src/main/resources/templates/index.html diff --git a/spring-boot-ops/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java b/spring-boot-artifacts/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java rename to spring-boot-artifacts/src/test/java/com/baeldung/webjar/WebjarsdemoApplicationIntegrationTest.java diff --git a/spring-boot-configuration/README.md b/spring-boot-configuration/README.md new file mode 100644 index 0000000000..c449538a9d --- /dev/null +++ b/spring-boot-configuration/README.md @@ -0,0 +1,5 @@ +# Spring Boot Configuration + +This module contains articles about Spring Boot Configuration. + +### Relevant Articles: diff --git a/spring-boot-configuration/data-jpa-application/pom.xml b/spring-boot-configuration/data-jpa-application/pom.xml new file mode 100644 index 0000000000..b1bf6fda43 --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/pom.xml @@ -0,0 +1,12 @@ + + 4.0.0 + data-jpa-application + 0.0.1-SNAPSHOT + + + com.baeldung.spring-boot-configuration + spring-boot-configuration + 0.0.1-SNAPSHOT + + \ No newline at end of file diff --git a/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java new file mode 100644 index 0000000000..50efb42a19 --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/ApplicationFound.java @@ -0,0 +1,7 @@ +package com.baeldung.data.jpa; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ApplicationFound { +} diff --git a/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java new file mode 100644 index 0000000000..8e7362f626 --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/src/main/java/com/baeldung/data/jpa/application/ApplicationNotFound.java @@ -0,0 +1,7 @@ +package com.baeldung.data.jpa.application; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class ApplicationNotFound { +} diff --git a/spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java b/spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java new file mode 100644 index 0000000000..ac7ff8561b --- /dev/null +++ b/spring-boot-configuration/data-jpa-application/src/test/java/com/baeldung/data/jpa/DataJpaUnitTest.java @@ -0,0 +1,23 @@ +package com.baeldung.data.jpa; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataJpaTest +public class DataJpaUnitTest { + + @Autowired + private TestEntityManager entityManager; + + @Test + public void givenACorrectSetup_thenAnEntityManagerWillBeAvailable() { + assertNotNull(entityManager); + } +} diff --git a/spring-boot-configuration/data-jpa-library/pom.xml b/spring-boot-configuration/data-jpa-library/pom.xml new file mode 100644 index 0000000000..1534e7ed23 --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/pom.xml @@ -0,0 +1,12 @@ + + 4.0.0 + data-jpa-library + 0.0.1-SNAPSHOT + + + com.baeldung.spring-boot-configuration + spring-boot-configuration + 0.0.1-SNAPSHOT + + \ No newline at end of file diff --git a/spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java b/spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java new file mode 100644 index 0000000000..d5c41d303e --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/src/main/java/com/baeldung/data/jpa/libarary/model/Example.java @@ -0,0 +1,13 @@ +package com.baeldung.data.jpa.libarary.model; + +public class Example { + private String example; + + public String getExample() { + return example; + } + + public void setExample(String example) { + this.example = example; + } +} diff --git a/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java new file mode 100644 index 0000000000..83f60b388b --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/TestApplication.java @@ -0,0 +1,7 @@ +package com.baeldung.data.jpa; + +import org.springframework.boot.autoconfigure.SpringBootApplication; + +@SpringBootApplication +public class TestApplication { +} diff --git a/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java new file mode 100644 index 0000000000..31f12a6093 --- /dev/null +++ b/spring-boot-configuration/data-jpa-library/src/test/java/com/baeldung/data/jpa/libarary/DataJpaUnitTest.java @@ -0,0 +1,24 @@ +package com.baeldung.data.jpa.libarary; + +import static org.junit.Assert.assertNotNull; + +import org.junit.Test; +import org.junit.runner.RunWith; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.boot.test.autoconfigure.orm.jpa.DataJpaTest; +import org.springframework.boot.test.autoconfigure.orm.jpa.TestEntityManager; +import org.springframework.test.context.junit4.SpringRunner; + +@RunWith(SpringRunner.class) +@DataJpaTest +public class DataJpaUnitTest { + + @Autowired + private TestEntityManager entityManager; + + @Test + public void givenACorrectSetup_thenAnEntityManagerWillBeAvailable() { + assertNotNull(entityManager); + } + +} diff --git a/spring-boot-configuration/pom.xml b/spring-boot-configuration/pom.xml new file mode 100644 index 0000000000..e4473c3f2d --- /dev/null +++ b/spring-boot-configuration/pom.xml @@ -0,0 +1,61 @@ + + 4.0.0 + com.baeldung.spring-boot-configuration + spring-boot-configuration + 0.0.1-SNAPSHOT + pom + + + com.baeldung + parent-boot-2 + 0.0.1-SNAPSHOT + ../parent-boot-2/pom.xml + + + + data-jpa-library + data-jpa-application + + + + + + org.springframework.boot + spring-boot-dependencies + ${spring-boot.version} + pom + import + + + + + + + org.springframework.boot + spring-boot-starter-data-jpa + ${spring-boot.version} + + + + org.springframework.boot + spring-boot-starter-test + ${spring-boot.version} + test + + + + com.h2database + h2 + + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + \ No newline at end of file diff --git a/spring-boot-deployment/README.md b/spring-boot-deployment/README.md new file mode 100644 index 0000000000..6171decf2d --- /dev/null +++ b/spring-boot-deployment/README.md @@ -0,0 +1,9 @@ +## Spring Boot Deployment + +This module contains articles about deployment of a Spring Boot Application + +### Relevant Articles: + - [Deploy a Spring Boot WAR into a Tomcat Server](https://www.baeldung.com/spring-boot-war-tomcat-deploy) + - [Spring Boot Console Application](https://www.baeldung.com/spring-boot-console-app) + - [How to Configure Spring Boot Tomcat](https://www.baeldung.com/spring-boot-configure-tomcat) + - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) \ No newline at end of file diff --git a/spring-boot-deployment/pom.xml b/spring-boot-deployment/pom.xml new file mode 100644 index 0000000000..69a54fd482 --- /dev/null +++ b/spring-boot-deployment/pom.xml @@ -0,0 +1,203 @@ + + + 4.0.0 + spring-boot-deployment + spring-boot-deployment + war + Demo project for Spring Boot + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.webjars + bootstrap + ${bootstrap.version} + + + + org.webjars + jquery + ${jquery.version} + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + org.springframework.boot + spring-boot-maven-plugin + + + + repackage + + + com.baeldung.webjar.WebjarsdemoApplication + + + + + + org.apache.maven.plugins + maven-failsafe-plugin + 2.18 + + + + integration-tests + + integration-test + verify + + + + + **/ExternalPropertyFileLoaderIntegrationTest.java + + + + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + + + + org.baeldung.boot.Application + 3.1.1 + 3.3.7-1 + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 + + + diff --git a/spring-boot-ops/src/main/java/com/baeldung/compare/ComparisonApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/compare/ComparisonApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/compare/ComparisonApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/compare/ComparisonApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/compare/StartupEventHandler.java b/spring-boot-deployment/src/main/java/com/baeldung/compare/StartupEventHandler.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/compare/StartupEventHandler.java rename to spring-boot-deployment/src/main/java/com/baeldung/compare/StartupEventHandler.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/GracefulShutdownApplication.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java b/spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java rename to spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/beans/LongRunningProcessBean.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java b/spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java rename to spring-boot-deployment/src/main/java/com/baeldung/gracefulshutdown/config/SpringConfiguration.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/SpringBootConfigurationApplication.java diff --git a/spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java similarity index 100% rename from spring-boot-ops-2/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootconfiguration/controller/GreetingsController.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootnonwebapp/SpringBootConsoleApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/SpringBootTomcatApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/springbootsimple/TomcatController.java b/spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/TomcatController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/springbootsimple/TomcatController.java rename to spring-boot-deployment/src/main/java/com/baeldung/springbootsimple/TomcatController.java diff --git a/spring-boot-ops/src/main/resources/application.properties b/spring-boot-deployment/src/main/resources/application.properties similarity index 100% rename from spring-boot-ops/src/main/resources/application.properties rename to spring-boot-deployment/src/main/resources/application.properties diff --git a/spring-boot-management/src/main/resources/logback.xml b/spring-boot-deployment/src/main/resources/logback.xml similarity index 58% rename from spring-boot-management/src/main/resources/logback.xml rename to spring-boot-deployment/src/main/resources/logback.xml index 36314cbeeb..7d900d8ea8 100644 --- a/spring-boot-management/src/main/resources/logback.xml +++ b/spring-boot-deployment/src/main/resources/logback.xml @@ -1,13 +1,13 @@ - + + - %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + - - - + \ No newline at end of file diff --git a/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java b/spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java similarity index 100% rename from spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java rename to spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextIntegrationTest.java diff --git a/spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java b/spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java similarity index 100% rename from spring-boot-ops-2/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java rename to spring-boot-deployment/src/test/java/com/baeldung/springbootconfiguration/SpringContextTest.java diff --git a/spring-boot-ops/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java b/spring-boot-deployment/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java rename to spring-boot-deployment/src/test/java/com/baeldung/springbootsimple/SpringBootTomcatApplicationIntegrationTest.java diff --git a/spring-boot-disable-console-logging/README.md b/spring-boot-disable-console-logging/README.md deleted file mode 100644 index 7f1c06042f..0000000000 --- a/spring-boot-disable-console-logging/README.md +++ /dev/null @@ -1,6 +0,0 @@ -## Spring Boot Disable Console Logging - -This module contains articles about disabling Spring Boot console logging. - -### Relevant Articles: -- [How to Disable Console Logging in Spring Boot](https://www.baeldung.com/spring-boot-disable-console-logging) diff --git a/spring-boot-disable-console-logging/pom.xml b/spring-boot-disable-console-logging/pom.xml deleted file mode 100644 index 63ed129347..0000000000 --- a/spring-boot-disable-console-logging/pom.xml +++ /dev/null @@ -1,21 +0,0 @@ - - 4.0.0 - spring-boot-disable-console-logging - spring-boot-disable-console-logging - pom - Projects for Disabling Spring Boot Console Logging tutorials - - - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-2 - - - - disabling-console-logback - disabling-console-log4j2 - disabling-console-jul - - \ No newline at end of file diff --git a/spring-boot-environment/README.md b/spring-boot-environment/README.md new file mode 100644 index 0000000000..e916c503bc --- /dev/null +++ b/spring-boot-environment/README.md @@ -0,0 +1,7 @@ +## Spring Boot Environment + +This module contains articles about configuring the Spring Boot `Environment` + +### Relevant Articles: + - [EnvironmentPostProcessor in Spring Boot](https://www.baeldung.com/spring-boot-environmentpostprocessor) + - [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) \ No newline at end of file diff --git a/spring-boot-environment/pom.xml b/spring-boot-environment/pom.xml new file mode 100644 index 0000000000..4e4a363fee --- /dev/null +++ b/spring-boot-environment/pom.xml @@ -0,0 +1,148 @@ + + + 4.0.0 + spring-boot-environment + spring-boot-environment + war + Demo project for Spring Boot + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + + + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 + + + diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationApplication.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessor.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/autoconfig/PriceCalculationAutoConfig.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/GrossPriceCalculator.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/NetPriceCalculator.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/calculator/PriceCalculator.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java b/spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java rename to spring-boot-environment/src/main/java/com/baeldung/environmentpostprocessor/service/PriceCalculationService.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java b/spring-boot-environment/src/main/java/com/baeldung/properties/ConfProperties.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/properties/ConfProperties.java rename to spring-boot-environment/src/main/java/com/baeldung/properties/ConfProperties.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java b/spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java rename to spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyConfigurer.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java b/spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java rename to spring-boot-environment/src/main/java/com/baeldung/properties/ExternalPropertyFileLoader.java diff --git a/spring-boot-ops/src/main/resources/META-INF/spring.factories b/spring-boot-environment/src/main/resources/META-INF/spring.factories similarity index 100% rename from spring-boot-ops/src/main/resources/META-INF/spring.factories rename to spring-boot-environment/src/main/resources/META-INF/spring.factories diff --git a/spring-boot-environment/src/main/resources/application.properties b/spring-boot-environment/src/main/resources/application.properties new file mode 100644 index 0000000000..27b7915cff --- /dev/null +++ b/spring-boot-environment/src/main/resources/application.properties @@ -0,0 +1,7 @@ +management.endpoints.web.exposure.include=* +management.metrics.enable.root=true +management.metrics.enable.jvm=true +management.endpoint.restart.enabled=true +spring.datasource.jmx-enabled=false +spring.main.allow-bean-definition-overriding=true +management.endpoint.shutdown.enabled=true \ No newline at end of file diff --git a/spring-boot-ops/src/main/resources/external/conf.properties b/spring-boot-environment/src/main/resources/external/conf.properties similarity index 100% rename from spring-boot-ops/src/main/resources/external/conf.properties rename to spring-boot-environment/src/main/resources/external/conf.properties diff --git a/spring-boot-environment/src/main/resources/logback.xml b/spring-boot-environment/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/spring-boot-environment/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/spring-boot-ops/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java b/spring-boot-environment/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java rename to spring-boot-environment/src/test/java/com/baeldung/environmentpostprocessor/PriceCalculationEnvironmentPostProcessorLiveTest.java diff --git a/spring-boot-ops/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java b/spring-boot-environment/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java rename to spring-boot-environment/src/test/java/com/baeldung/properties/ExternalPropertyFileLoaderIntegrationTest.java diff --git a/spring-boot-exceptions/README.md b/spring-boot-exceptions/README.md deleted file mode 100644 index bbc272aec4..0000000000 --- a/spring-boot-exceptions/README.md +++ /dev/null @@ -1,4 +0,0 @@ - -### Relevant Articles: - -- [Rendering Exceptions in JSON with Spring](https://www.baeldung.com/spring-exceptions-json) diff --git a/spring-boot-management/README.md b/spring-boot-management/README.md deleted file mode 100644 index 53d4c439ff..0000000000 --- a/spring-boot-management/README.md +++ /dev/null @@ -1,7 +0,0 @@ -## Spring Boot Logging HTTP Requests - -This module contains articles about the management of Spring Boot applications. - -### Relevant Articles: -- [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) - diff --git a/spring-boot-management/pom.xml b/spring-boot-management/pom.xml deleted file mode 100644 index ca483d2f61..0000000000 --- a/spring-boot-management/pom.xml +++ /dev/null @@ -1,56 +0,0 @@ - - - 4.0.0 - - com.baeldung - parent-boot-2 - 0.0.1-SNAPSHOT - ../parent-boot-2 - - com.baeldung - spring-boot-management - 0.0.1-SNAPSHOT - spring-boot-management - - - com.baeldung.spring.boot.management.logging.LoggingApplication - 1.8 - 2.1.6 - - - - - org.springframework.boot - spring-boot-starter-actuator - - - org.springframework.boot - spring-boot-starter-web - - - org.springframework.boot - spring-boot-starter-security - - - de.codecentric - spring-boot-admin-starter-client - ${spring-boot-admin-starter-client.version} - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - diff --git a/spring-boot-ops-2/.gitignore b/spring-boot-ops-2/.gitignore deleted file mode 100644 index 153c9335eb..0000000000 --- a/spring-boot-ops-2/.gitignore +++ /dev/null @@ -1,29 +0,0 @@ -HELP.md -/target/ -!.mvn/wrapper/maven-wrapper.jar - -### STS ### -.apt_generated -.classpath -.factorypath -.project -.settings -.springBeans -.sts4-cache - -### IntelliJ IDEA ### -.idea -*.iws -*.iml -*.ipr - -### NetBeans ### -/nbproject/private/ -/nbbuild/ -/dist/ -/nbdist/ -/.nb-gradle/ -/build/ - -### VS Code ### -.vscode/ diff --git a/spring-boot-ops-2/README.md b/spring-boot-ops-2/README.md deleted file mode 100644 index 0925b099b1..0000000000 --- a/spring-boot-ops-2/README.md +++ /dev/null @@ -1,9 +0,0 @@ -## Spring Boot Operations - -This module contains articles about Spring Boot Operations - -### Relevant Articles - -- [How to Configure Spring Boot Tomcat](https://www.baeldung.com/spring-boot-configure-tomcat) -- [Spring Boot Embedded Tomcat Logs](https://www.baeldung.com/spring-boot-embedded-tomcat-logs) -- More articles: [[<-- prev]](/spring-boot-ops) diff --git a/spring-boot-ops-2/pom.xml b/spring-boot-ops-2/pom.xml deleted file mode 100644 index 74fcd79169..0000000000 --- a/spring-boot-ops-2/pom.xml +++ /dev/null @@ -1,40 +0,0 @@ - - - 4.0.0 - com.baeldung - spring-boot-ops-2 - 0.0.1-SNAPSHOT - spring-boot-ops-2 - - - parent-boot-2 - com.baeldung - 0.0.1-SNAPSHOT - ../parent-boot-2 - - - - - org.springframework.boot - spring-boot-starter-web - - - - org.springframework.boot - spring-boot-starter-test - test - - - - - - - org.springframework.boot - spring-boot-maven-plugin - - - - - diff --git a/spring-boot-ops-2/src/main/resources/application.properties b/spring-boot-ops-2/src/main/resources/application.properties deleted file mode 100644 index fc3fff1d38..0000000000 --- a/spring-boot-ops-2/src/main/resources/application.properties +++ /dev/null @@ -1 +0,0 @@ -spring.profiles.active=tomcat diff --git a/spring-boot-ops/README.md b/spring-boot-ops/README.md deleted file mode 100644 index 2720bc5ae2..0000000000 --- a/spring-boot-ops/README.md +++ /dev/null @@ -1,20 +0,0 @@ -## Spring Boot Operations - -This module contains articles about Spring Boot Operations - -### Relevant Articles: - - [Deploy a Spring Boot WAR into a Tomcat Server](https://www.baeldung.com/spring-boot-war-tomcat-deploy) - - [Spring Boot Dependency Management with a Custom Parent](https://www.baeldung.com/spring-boot-dependency-management-custom-parent) - - [A Custom Data Binder in Spring MVC](https://www.baeldung.com/spring-mvc-custom-data-binder) - - [Create a Fat Jar App with Spring Boot](https://www.baeldung.com/deployable-fat-jar-spring-boot) - - [Introduction to WebJars](https://www.baeldung.com/maven-webjars) - - [Intro to Spring Boot Starters](https://www.baeldung.com/spring-boot-starters) - - [A Quick Guide to Maven Wrapper](https://www.baeldung.com/maven-wrapper) - - [Shutdown a Spring Boot Application](https://www.baeldung.com/spring-boot-shutdown) - - [Spring Boot Console Application](https://www.baeldung.com/spring-boot-console-app) - - [Comparing Embedded Servlet Containers in Spring Boot](https://www.baeldung.com/spring-boot-servlet-containers) - - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) - - [Spring Properties File Outside jar](https://www.baeldung.com/spring-properties-file-outside-jar) - - [EnvironmentPostProcessor in Spring Boot](https://www.baeldung.com/spring-boot-environmentpostprocessor) - - [Running a Spring Boot App with Maven vs an Executable War/Jar](https://www.baeldung.com/spring-boot-run-maven-vs-executable-jar) - - More articles: [[next -->]](/spring-boot-ops-2) diff --git a/spring-boot-runtime/README.md b/spring-boot-runtime/README.md new file mode 100644 index 0000000000..d3dc19493d --- /dev/null +++ b/spring-boot-runtime/README.md @@ -0,0 +1,10 @@ +## Spring Boot Runtime + +This module contains articles about administering a Spring Boot runtime + +### Relevant Articles: + - [Shutdown a Spring Boot Application](https://www.baeldung.com/spring-boot-shutdown) + - [Programmatically Restarting a Spring Boot Application](https://www.baeldung.com/java-restart-spring-boot-app) + - [Logging HTTP Requests with Spring Boot Actuator HTTP Tracing](https://www.baeldung.com/spring-boot-actuator-http) + - [How to Disable Console Logging in Spring Boot](https://www.baeldung.com/spring-boot-disable-console-logging) + - [Spring Boot Embedded Tomcat Logs](https://www.baeldung.com/spring-boot-embedded-tomcat-logs) \ No newline at end of file diff --git a/spring-boot-disable-console-logging/disabling-console-jul/.gitignore b/spring-boot-runtime/disabling-console-jul/.gitignore similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/.gitignore rename to spring-boot-runtime/disabling-console-jul/.gitignore diff --git a/spring-boot-disable-console-logging/disabling-console-jul/pom.xml b/spring-boot-runtime/disabling-console-jul/pom.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/pom.xml rename to spring-boot-runtime/disabling-console-jul/pom.xml diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java b/spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java rename to spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/DisablingConsoleJulApp.java diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java b/spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java rename to spring-boot-runtime/disabling-console-jul/src/main/java/com/baeldung/springbootlogging/disablingconsole/jul/properties/controllers/DisabledConsoleRestController.java diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/application.properties b/spring-boot-runtime/disabling-console-jul/src/main/resources/application.properties similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/application.properties rename to spring-boot-runtime/disabling-console-jul/src/main/resources/application.properties diff --git a/spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/logging.properties b/spring-boot-runtime/disabling-console-jul/src/main/resources/logging.properties similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-jul/src/main/resources/logging.properties rename to spring-boot-runtime/disabling-console-jul/src/main/resources/logging.properties diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/.gitignore b/spring-boot-runtime/disabling-console-log4j2/.gitignore similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/.gitignore rename to spring-boot-runtime/disabling-console-log4j2/.gitignore diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/pom.xml b/spring-boot-runtime/disabling-console-log4j2/pom.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/pom.xml rename to spring-boot-runtime/disabling-console-log4j2/pom.xml diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java b/spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java rename to spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/DisablingConsoleLog4j2App.java diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java b/spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java rename to spring-boot-runtime/disabling-console-log4j2/src/main/java/com/baeldung/springbootlogging/disablingconsole/log4j2/xml/controllers/DisabledConsoleRestController.java diff --git a/spring-boot-disable-console-logging/disabling-console-log4j2/src/main/resources/log4j2.xml b/spring-boot-runtime/disabling-console-log4j2/src/main/resources/log4j2.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-log4j2/src/main/resources/log4j2.xml rename to spring-boot-runtime/disabling-console-log4j2/src/main/resources/log4j2.xml diff --git a/spring-boot-disable-console-logging/disabling-console-logback/.gitignore b/spring-boot-runtime/disabling-console-logback/.gitignore similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/.gitignore rename to spring-boot-runtime/disabling-console-logback/.gitignore diff --git a/spring-boot-disable-console-logging/disabling-console-logback/pom.xml b/spring-boot-runtime/disabling-console-logback/pom.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/pom.xml rename to spring-boot-runtime/disabling-console-logback/pom.xml diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java b/spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java rename to spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/DisablingConsoleLogbackApp.java diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java b/spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java rename to spring-boot-runtime/disabling-console-logback/src/main/java/com/baeldung/springbootlogging/disablingconsole/logback/xml/controllers/DisabledConsoleRestController.java diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/application.properties b/spring-boot-runtime/disabling-console-logback/src/main/resources/application.properties similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/application.properties rename to spring-boot-runtime/disabling-console-logback/src/main/resources/application.properties diff --git a/spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/logback-spring.xml b/spring-boot-runtime/disabling-console-logback/src/main/resources/logback-spring.xml similarity index 100% rename from spring-boot-disable-console-logging/disabling-console-logback/src/main/resources/logback-spring.xml rename to spring-boot-runtime/disabling-console-logback/src/main/resources/logback-spring.xml diff --git a/spring-boot-ops/docker/Dockerfile b/spring-boot-runtime/docker/Dockerfile similarity index 100% rename from spring-boot-ops/docker/Dockerfile rename to spring-boot-runtime/docker/Dockerfile diff --git a/spring-boot-ops/docker/logback.xml b/spring-boot-runtime/docker/logback.xml similarity index 100% rename from spring-boot-ops/docker/logback.xml rename to spring-boot-runtime/docker/logback.xml diff --git a/spring-boot-ops/docker/run.sh b/spring-boot-runtime/docker/run.sh old mode 100755 new mode 100644 similarity index 100% rename from spring-boot-ops/docker/run.sh rename to spring-boot-runtime/docker/run.sh diff --git a/spring-boot-runtime/pom.xml b/spring-boot-runtime/pom.xml new file mode 100644 index 0000000000..dca9b47410 --- /dev/null +++ b/spring-boot-runtime/pom.xml @@ -0,0 +1,159 @@ + + + 4.0.0 + spring-boot-runtime + spring-boot-runtime + war + Demo project for Spring Boot + + + parent-boot-2 + com.baeldung + 0.0.1-SNAPSHOT + ../parent-boot-2 + + + + + + org.springframework.boot + spring-boot-starter-web + + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-test + test + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + org.springframework.boot + spring-boot-starter-security + + + de.codecentric + spring-boot-admin-starter-client + ${spring-boot-admin-starter-client.version} + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + + + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 + 2.1.6 + + + diff --git a/spring-boot-ops/src/main/java/com/baeldung/restart/Application.java b/spring-boot-runtime/src/main/java/com/baeldung/restart/Application.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/restart/Application.java rename to spring-boot-runtime/src/main/java/com/baeldung/restart/Application.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/restart/RestartController.java b/spring-boot-runtime/src/main/java/com/baeldung/restart/RestartController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/restart/RestartController.java rename to spring-boot-runtime/src/main/java/com/baeldung/restart/RestartController.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/restart/RestartService.java b/spring-boot-runtime/src/main/java/com/baeldung/restart/RestartService.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/restart/RestartService.java rename to spring-boot-runtime/src/main/java/com/baeldung/restart/RestartService.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/Application.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/Application.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/Application.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/Application.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/ShutdownConfig.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/ShutdownConfig.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/ShutdownConfig.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/ShutdownConfig.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/TerminateBean.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/TerminateBean.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/TerminateBean.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/TerminateBean.java diff --git a/spring-boot-ops/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java b/spring-boot-runtime/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java similarity index 100% rename from spring-boot-ops/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java rename to spring-boot-runtime/src/main/java/com/baeldung/shutdown/shutdown/ShutdownController.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java similarity index 82% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java index 6371ac4c64..5c1b143c4e 100644 --- a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java +++ b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingApplication.java @@ -2,7 +2,9 @@ package com.baeldung.spring.boot.management.logging; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Profile; +@Profile("logging") @SpringBootApplication public class LoggingApplication { public static void main(String[] args) { diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/LoggingController.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/logging/SecurityConfig.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/App.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/App.java similarity index 80% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/App.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/App.java index 150e451c57..ffc30e9b33 100644 --- a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/App.java +++ b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/App.java @@ -2,7 +2,9 @@ package com.baeldung.spring.boot.management.trace; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; +import org.springframework.context.annotation.Profile; +@Profile("logging") @SpringBootApplication public class App { diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/CustomTraceRepository.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/EchoController.java diff --git a/spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java b/spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java similarity index 100% rename from spring-boot-management/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java rename to spring-boot-runtime/src/main/java/com/baeldung/spring/boot/management/trace/TraceRequestFilter.java diff --git a/spring-boot-management/src/main/resources/application.properties b/spring-boot-runtime/src/main/resources/application-logging.properties similarity index 100% rename from spring-boot-management/src/main/resources/application.properties rename to spring-boot-runtime/src/main/resources/application-logging.properties diff --git a/spring-boot-ops-2/src/main/resources/application-tomcat.properties b/spring-boot-runtime/src/main/resources/application-tomcat.properties similarity index 100% rename from spring-boot-ops-2/src/main/resources/application-tomcat.properties rename to spring-boot-runtime/src/main/resources/application-tomcat.properties diff --git a/spring-boot-runtime/src/main/resources/application.properties b/spring-boot-runtime/src/main/resources/application.properties new file mode 100644 index 0000000000..27b7915cff --- /dev/null +++ b/spring-boot-runtime/src/main/resources/application.properties @@ -0,0 +1,7 @@ +management.endpoints.web.exposure.include=* +management.metrics.enable.root=true +management.metrics.enable.jvm=true +management.endpoint.restart.enabled=true +spring.datasource.jmx-enabled=false +spring.main.allow-bean-definition-overriding=true +management.endpoint.shutdown.enabled=true \ No newline at end of file diff --git a/spring-boot-runtime/src/main/resources/logback.xml b/spring-boot-runtime/src/main/resources/logback.xml new file mode 100644 index 0000000000..7d900d8ea8 --- /dev/null +++ b/spring-boot-runtime/src/main/resources/logback.xml @@ -0,0 +1,13 @@ + + + + + %d{HH:mm:ss.SSS} [%thread] %-5level %logger{36} - %msg%n + + + + + + + + \ No newline at end of file diff --git a/spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java b/spring-boot-runtime/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java rename to spring-boot-runtime/src/test/java/com/baeldung/restart/RestartApplicationManualTest.java diff --git a/spring-boot-ops/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java b/spring-boot-runtime/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java similarity index 100% rename from spring-boot-ops/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java rename to spring-boot-runtime/src/test/java/com/baeldung/shutdown/ShutdownApplicationIntegrationTest.java diff --git a/spring-boot-ops/src/test/resources/application-integrationtest.properties b/spring-boot-runtime/src/test/resources/application-integrationtest.properties similarity index 100% rename from spring-boot-ops/src/test/resources/application-integrationtest.properties rename to spring-boot-runtime/src/test/resources/application-integrationtest.properties diff --git a/spring-boot-ops/src/test/resources/application.properties b/spring-boot-runtime/src/test/resources/application.properties similarity index 100% rename from spring-boot-ops/src/test/resources/application.properties rename to spring-boot-runtime/src/test/resources/application.properties diff --git a/spring-mvc-simple-2/README.md b/spring-mvc-simple-2/README.md index 80456c5732..a4a545ab72 100644 --- a/spring-mvc-simple-2/README.md +++ b/spring-mvc-simple-2/README.md @@ -4,4 +4,5 @@ This module contains articles about Spring MVC ## Relevant articles: - [How to Read HTTP Headers in Spring REST Controllers](https://www.baeldung.com/spring-rest-http-headers) +- [A Custom Data Binder in Spring MVC](https://www.baeldung.com/spring-mvc-custom-data-binder) - More articles: [[<-- prev]](/spring-mvc-simple) diff --git a/spring-mvc-simple-2/pom.xml b/spring-mvc-simple-2/pom.xml index ca911b2719..7faa832552 100644 --- a/spring-mvc-simple-2/pom.xml +++ b/spring-mvc-simple-2/pom.xml @@ -1,42 +1,151 @@ - - + + 4.0.0 spring-mvc-simple-2 - war spring-mvc-simple-2 + war + Demo project for Spring Boot - com.baeldung parent-boot-2 + com.baeldung 0.0.1-SNAPSHOT ../parent-boot-2 + org.springframework.boot spring-boot-starter-web + org.springframework.boot spring-boot-starter-test test + + + org.springframework.boot + spring-boot-starter-thymeleaf + provided + + + + org.springframework.boot + spring-boot-starter-data-jpa + + + + org.springframework.boot + spring-boot-starter-mail + + + + org.springframework.boot + spring-boot-starter-actuator + + + + com.h2database + h2 + runtime + + + + javax.persistence + javax.persistence-api + ${jpa.version} + + + + com.google.guava + guava + ${guava.version} + + + + org.subethamail + subethasmtp + ${subethasmtp.version} + test + + + + org.springframework.cloud + spring-cloud-context + ${springcloud.version} + + + + org.apache.httpcomponents + httpclient + ${httpclient.version} + + + ${project.artifactId} + + + src/main/resources + true + + **/conf.properties + + + + + + + + autoconfiguration + + + + org.apache.maven.plugins + maven-surefire-plugin + + + integration-test + + test + + + + **/*LiveTest.java + **/*IntegrationTest.java + **/*IntTest.java + + + **/AutoconfigurationTest.java + + + + + + + json + + + + + + + + - 1.8 - 1.8 + + org.baeldung.boot.Application + 3.1.1 + 3.3.7-1 + 2.2 + 18.0 + 3.1.7 + 2.0.2.RELEASE + 4.5.8 - - - - org.apache.maven.plugins - maven-war-plugin - - - spring-mvc-simple2 - diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/Application.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/Application.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/Application.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/Application.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/config/WebConfig.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/config/WebConfig.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/config/WebConfig.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/config/WebConfig.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/controller/GenericEntityController.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/controller/GenericEntityController.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/controller/GenericEntityController.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/controller/GenericEntityController.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/GenericBigDecimalConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToAbstractEntityConverterFactory.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEmployeeConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToEnumConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/StringToLocalDateTimeConverter.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/AbstractEntityController.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/converter/controller/StringToEmployeeConverterController.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/AbstractEntity.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/AbstractEntity.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/AbstractEntity.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/AbstractEntity.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Bar.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Bar.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Bar.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Bar.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Employee.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Employee.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Employee.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Employee.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Foo.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Foo.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Foo.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Foo.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/GenericEntity.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/GenericEntity.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/GenericEntity.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/GenericEntity.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/domain/Modes.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Modes.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/domain/Modes.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/domain/Modes.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/repository/GenericEntityRepository.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/HeaderVersionArgumentResolver.java diff --git a/spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/Version.java b/spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/Version.java similarity index 100% rename from spring-boot-ops/src/main/java/org/baeldung/boot/web/resolver/Version.java rename to spring-mvc-simple-2/src/main/java/org/baeldung/boot/web/resolver/Version.java diff --git a/spring-mvc-simple-2/src/main/resources/application.properties b/spring-mvc-simple-2/src/main/resources/application.properties new file mode 100644 index 0000000000..709574239b --- /dev/null +++ b/spring-mvc-simple-2/src/main/resources/application.properties @@ -0,0 +1 @@ +spring.main.allow-bean-definition-overriding=true \ No newline at end of file diff --git a/spring-boot-ops/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java similarity index 99% rename from spring-boot-ops/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java rename to spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java index 5627543b62..7190c4f427 100644 --- a/spring-boot-ops/src/test/java/org/baeldung/SpringBootApplicationIntegrationTest.java +++ b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootApplicationIntegrationTest.java @@ -1,4 +1,4 @@ -package org.baeldung; +package com.baeldung; import org.baeldung.boot.Application; import org.baeldung.boot.domain.Modes; diff --git a/spring-boot-ops/src/test/java/org/baeldung/SpringBootJPAIntegrationTest.java b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java similarity index 98% rename from spring-boot-ops/src/test/java/org/baeldung/SpringBootJPAIntegrationTest.java rename to spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java index c368cf5219..c283529435 100644 --- a/spring-boot-ops/src/test/java/org/baeldung/SpringBootJPAIntegrationTest.java +++ b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootJPAIntegrationTest.java @@ -1,4 +1,4 @@ -package org.baeldung; +package com.baeldung; import org.baeldung.boot.Application; import org.baeldung.boot.domain.GenericEntity; diff --git a/spring-boot-ops/src/test/java/org/baeldung/SpringBootMailIntegrationTest.java b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java similarity index 99% rename from spring-boot-ops/src/test/java/org/baeldung/SpringBootMailIntegrationTest.java rename to spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java index a6a84184fa..1a2a4e22d9 100644 --- a/spring-boot-ops/src/test/java/org/baeldung/SpringBootMailIntegrationTest.java +++ b/spring-mvc-simple-2/src/test/java/com/baeldung/SpringBootMailIntegrationTest.java @@ -1,4 +1,4 @@ -package org.baeldung; +package com.baeldung; import org.baeldung.boot.Application; import org.junit.After; diff --git a/spring-remoting/remoting-hessian-burlap/README.md b/spring-remoting/remoting-hessian-burlap/README.md index bf90c9676f..cacceddc5a 100644 --- a/spring-remoting/remoting-hessian-burlap/README.md +++ b/spring-remoting/remoting-hessian-burlap/README.md @@ -1,6 +1,9 @@ -## Spring Remoting with Hessian and Burlap Tutorial +## Spring Remoting with Hessian and Burlap + +This module contains articles about Spring Remoting with Hessian and Burlap ### Relevant Articles + - [Spring Remoting with Hessian and Burlap](http://www.baeldung.com/spring-remoting-hessian-burlap) ### Overview diff --git a/spring-remoting/remoting-http/README.md b/spring-remoting/remoting-http/README.md new file mode 100644 index 0000000000..a4f3ea82a9 --- /dev/null +++ b/spring-remoting/remoting-http/README.md @@ -0,0 +1,8 @@ +## Remoting HTTP + +This module contains articles about Spring Remoting over HTTP + +### Relevant Articles: + +- [Intro to Spring Remoting with HTTP Invokers](https://www.baeldung.com/spring-remoting-http-invoker) + diff --git a/spring-remoting/remoting-jms/README.md b/spring-remoting/remoting-jms/README.md new file mode 100644 index 0000000000..2f48a8f57f --- /dev/null +++ b/spring-remoting/remoting-jms/README.md @@ -0,0 +1,8 @@ +## Remoting JMS + +This module contains articles about Spring Remoting with Java Message Service (JMS) + +### Relevant Articles: + +- [Spring Remoting with JMS and ActiveMQ](https://www.baeldung.com/spring-remoting-jms) + diff --git a/spring-remoting/remoting-rmi/README.md b/spring-remoting/remoting-rmi/README.md new file mode 100644 index 0000000000..082b5c37ed --- /dev/null +++ b/spring-remoting/remoting-rmi/README.md @@ -0,0 +1,7 @@ +## Remoting RMI + +This module contains articles about Spring Remoting with Remote Method Invocation (RMI) + +### Relevant Articles: + +- [Spring Remoting with RMI](https://www.baeldung.com/spring-remoting-rmi) \ No newline at end of file diff --git a/spring-security-thymeleaf/README.MD b/spring-security-thymeleaf/README.MD index ad533faefd..e0fca4067c 100644 --- a/spring-security-thymeleaf/README.MD +++ b/spring-security-thymeleaf/README.MD @@ -4,4 +4,4 @@ This module contains articles about Spring Security with Thymeleaf. ### Relevant Articles: -- [Spring Security with Thymeleaf](https://www.baeldung.com/spring-security-thymeleaf) +- [Spring Security with Thymeleaf](https://www.baeldung.com/spring-security-thymeleaf) \ No newline at end of file