diff --git a/coherence-demo/explore-clients/explore-clients.md b/coherence-demo/explore-clients/explore-clients.md index 5211cbfa..276daf2e 100644 --- a/coherence-demo/explore-clients/explore-clients.md +++ b/coherence-demo/explore-clients/explore-clients.md @@ -135,7 +135,7 @@ In this lab, you will: ## Learn More -* [Developing Remote Clients using gRPC](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.2.0/develop-remote-clients/getting-started-grpc.html) +* [Developing Remote Clients using gRPC](https://docs.oracle.com/en/middleware/fusion-middleware/coherence/14.1.2/develop-remote-clients/getting-started-grpc.html) * [Coherence Python Client](https://github.com/oracle/coherence-py-client) * [Coherence JavaScript Client](https://github.com/oracle/coherence-js-client) * [Coherence Go Client](https://github.com/oracle/coherence-go-client) diff --git a/coherence-demo/explore-code/explore-code.md b/coherence-demo/explore-code/explore-code.md index 088b2bc5..27598967 100644 --- a/coherence-demo/explore-code/explore-code.md +++ b/coherence-demo/explore-code/explore-code.md @@ -70,7 +70,7 @@ In this lab, you will: The cache configuration file (cache-config.xml in our case) defines caches and other services, for the cluster. A few areas of particular interest are: - 1. An interceptor shown below, or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/b632f832fe9860e9eb6fb454f13a4158367d0f23/src/main/resources/cache-config-grid-edition.xml#L46), + * An interceptor shown below, or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/b632f832fe9860e9eb6fb454f13a4158367d0f23/src/main/resources/cache-config-grid-edition.xml#L46), which is run on startup of the Coherence cluster: ```xml @@ -82,7 +82,7 @@ In this lab, you will: ``` In this context, interceptors allow us to write code to react to various lifecycle events such as when the cache configuration is activated or disposed. In this case we are running the `BootstrapInterceptor` class, explained below, to boostrap the application. Other interceptors can be created to respond to other events such as member left, partition events and cache mutation events. - 2. Cache Scheme Mapping, shown below or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/b632f832fe9860e9eb6fb454f13a4158367d0f23/src/main/resources/cache-config-grid-edition.xml#L51) + * Cache Scheme Mapping, shown below or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/b632f832fe9860e9eb6fb454f13a4158367d0f23/src/main/resources/cache-config-grid-edition.xml#L51) defines the mapping from the cache name to a caching scheme and shows the domain classes for each cache, which are explained further below. ```xml @@ -100,7 +100,7 @@ In this lab, you will: ``` - 3. Federated Service Definitions, shown in part below or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/b632f832fe9860e9eb6fb454f13a4158367d0f23/src/main/resources/cache-config-grid-edition.xml#L71) + * Federated Service Definitions, shown in part below or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/b632f832fe9860e9eb6fb454f13a4158367d0f23/src/main/resources/cache-config-grid-edition.xml#L71) which defines the actual federated scheme with its read-write backing map to write through to a database (in memory database for convenience in our case). We can also see the topology is defined as `Active`, which is a reference to the topology in the override file below. ```xml @@ -136,7 +136,7 @@ In this lab, you will: ``` - 4. A Http Proxy server which has the JAX-RS resources [ApplicationResourceConfig](https://github.com/coherence-community/coherence-demo/blob/1412/src/main/java/com/oracle/coherence/demo/application/ApplicationResourceConfig.java) + * A Http Proxy server which has the JAX-RS resources [ApplicationResourceConfig](https://github.com/coherence-community/coherence-demo/blob/1412/src/main/java/com/oracle/coherence/demo/application/ApplicationResourceConfig.java) which serves the static application and [ServiceResourceConfig](https://github.com/coherence-community/coherence-demo/blob/1412/src/main/java/com/oracle/coherence/demo/application/ServiceResourceConfig.java) which serves various REST endpoints through which the HTML/JavaScript application interacts. **Operational Override** @@ -179,9 +179,9 @@ In this lab, you will: ``` -## Task 2: Explore the Java Code +## Task 3: Explore the Java Code -1. Domain Classes +**Domain Classes** There are two classes that hold the main data for the application: @@ -253,9 +253,9 @@ In this lab, you will: } ``` -2. Bootstrap Interceptor and Utilities classes +**Bootstrap Interceptor and Utilities classes** - Available at `src/main/java/com/oracle/coherence/demo/application/BootstrapInterceptor.java` or on [GitHub](src/main/java/com/oracle/coherence/demo/application/BootstrapInterceptor.java). + Available at `src/main/java/com/oracle/coherence/demo/application/BootstrapInterceptor.java` or on [GitHub](https://github.com/coherence-community/coherence-demo/blob/1412/src/main/java/com/oracle/coherence/demo/application/BootstrapInterceptor.java). This class contains code run at startup of the cluster member to determine if it should load the initial data, and then opens the main dashboard. The main part of this code runs the following: ```java @@ -354,7 +354,7 @@ In this lab, you will: The above code creates positions for a single symbol, or if `symbol` is null for random symbols. It utilizes a more efficient `putAll` of a `Map` to quickly add the number of positions required. -3. Other Classes +**Other Classes** There are various other components to the Java based JAX-RS application. You can explore the various classes and packages below via the explorer or via the direct GitHub links. @@ -431,7 +431,7 @@ In this lab, you will: } ``` -## Task 3: Explore the Application HTML and JavaScript +## Task 4: Explore the Application HTML and JavaScript Since the focus of this lab is Coherence, we have not included detailed information about the HTML and Angular components. @@ -444,9 +444,9 @@ The main components are highlight below: | src/main/resources/web/javscripts/controller.js | Angular Controller | [Link](https://github.com/coherence-community/coherence-demo/blob/1412/src/main/resources/web/javascripts/controllers.js) | -## Task 4: Explore the Python Code +## Task 5: Explore the Python Code -1. Code and Serialization +**Code and Serialization** The **Python** code is available in the following location: @@ -465,7 +465,7 @@ The main components are highlight below: A few of the main areas of code have been included below: - **Define the domain classes** +**Define the domain classes** The `@serialization.proxy("Price")` defines the Java class that this object will serialize to. @@ -489,7 +489,7 @@ The main components are highlight below: trades: NamedCache[str, Trade] ``` - **Connect to the Coherence cluster and setup caches** +**Connect to the Coherence cluster and setup caches** ```python async def init_coherence() -> None: @@ -507,7 +507,7 @@ The main components are highlight below: prices = await session.get_cache("Price") trades = await session.get_cache("Trade") ``` - **Display the cache size** +**Display the cache size** ```python async def display_cache_size() -> None: @@ -526,7 +526,7 @@ The main components are highlight below: print(f"Price cache size: {pricesize}") ``` - **Monitor prices** +**Monitor prices** ```python async def monitor_prices() -> None: @@ -559,7 +559,7 @@ The main components are highlight below: f"Price changed for {symbol}, new=${new_price:.2f}, old=${old_price:.2f}, change=${change:.2f}") ``` - **Add trades** +**Add trades** ```python async def add_trades(symbol: str, count: int) -> None: @@ -606,7 +606,7 @@ The main components are highlight below: print(f"Unable to find {symbol}, valid symbols are {symbols}") ``` - **Stock split** +**Stock split** ```python async def stock_split(symbol: str, factor: int) -> None: @@ -654,14 +654,14 @@ The main components are highlight below: print(f"Unable to find {symbol}, valid symbols are {symbols}") ``` -## Task 5: Explore the Javascript Code +## Task 6: Explore the Javascript Code The **JavaScript** code is available in the following location: **clients/js/main.js**
**[main.js](https://github.com/coherence-community/coherence-demo/blob/1412/clients/js/main.js)** -1. Define the domain classes +**Define the domain classes** ```javascript // create a Trade function createTrade(symbol, qty, price) { @@ -679,7 +679,7 @@ The **JavaScript** code is available in the following location: No actual classes / objects are required in JavaScript, as you can work directly with JSON. -2. Connect to the Coherence cluster and setup caches +**Connect to the Coherence cluster and setup caches** ```javascript // setup session to Coherence @@ -688,7 +688,7 @@ The **JavaScript** code is available in the following location: const trades = session.getCache('Trade') ``` -3. Display the cache size +**Display the cache size** ```javascript if (command === "size") { @@ -697,7 +697,7 @@ The **JavaScript** code is available in the following location: } ``` -4. Monitor prices +**Monitor prices** ```javascript // monitor any price changes @@ -718,7 +718,7 @@ The **JavaScript** code is available in the following location: } ``` -5. Add trades +**Add trades** ```javascript // add a number of trades for a symbol @@ -761,7 +761,7 @@ The **JavaScript** code is available in the following location: } ``` -6. Stock split +**Stock split** ```javascript // split a stock using a given factor @@ -803,14 +803,14 @@ The **JavaScript** code is available in the following location: } ``` -## Task 6: Explore the Go Code +## Task 7: Explore the Go Code The **Go code** is available in the following location: **clients/go/main.go**
**[main.go](https://github.com/coherence-community/coherence-demo/blob/1412/clients/go/main.go)** -1. Define the domain classes +**Define the domain classes** ```go type Trade struct { @@ -828,7 +828,7 @@ The **Go code** is available in the following location: } ``` -2. Connect to the Coherence cluster and setup caches +**Connect to the Coherence cluster and setup caches** ```go // create a new Session @@ -849,7 +849,7 @@ The **Go code** is available in the following location: } ``` -3. Display the cache size +**Display the cache size** ```go func displaySize(trades coherence.NamedCache[string, Trade], prices coherence.NamedCache[string, Price]) error { @@ -868,7 +868,7 @@ The **Go code** is available in the following location: } ``` -4. Monitor prices +**Monitor prices** ```go func listenPrices(prices coherence.NamedCache[string, Price]) error { @@ -903,7 +903,7 @@ The **Go code** is available in the following location: select {} ``` -5. Add trades +**Add trades** ```go func addTrades(trades coherence.NamedCache[string, Trade], prices coherence.NamedCache[string, Price], options ...string) error { @@ -971,7 +971,7 @@ The **Go code** is available in the following location: } ``` -6. Stock split +**Stock split** ```go func stockSplit(trades coherence.NamedCache[string, Trade], prices coherence.NamedCache[string, Price], options ...string) error { diff --git a/coherence-demo/open-tracing/open-tracing.md b/coherence-demo/open-tracing/open-tracing.md index 9b6b0519..c9018c77 100644 --- a/coherence-demo/open-tracing/open-tracing.md +++ b/coherence-demo/open-tracing/open-tracing.md @@ -119,8 +119,7 @@ For this task there is a number, e.g.`[1]` in a square bracket on the image belo ## Learn More * [Peek into Coherence using OpenTracing - Blog](https://blogs.oracle.com/oraclecoherence/post/peek-inside-coherence-with-opentracing) -* [Coherence and OpenTracing - Documentation](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.2.0/develop-applications/debugging-coherence.html) -* [Caching Data Sources](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.2.0/develop-applications/caching-data-sources.htm) + ## Acknowledgements diff --git a/coherence-demo/persistence/persistence.md b/coherence-demo/persistence/persistence.md index 145006ad..a4033f85 100644 --- a/coherence-demo/persistence/persistence.md +++ b/coherence-demo/persistence/persistence.md @@ -50,9 +50,7 @@ In this lab, you will: Confirm that the secondary cluster data has also been updated. -## Learn More -* [Coherence Persistence Documentation](https://docs.oracle.com/en/middleware/standalone/coherence/14.1.2.0/administer/persisting-caches.html) ## Acknowledgements diff --git a/helidon-virtual-thread/build-run/build-run.md b/helidon-virtual-thread/build-run/build-run.md index 52ef625b..e0ffde2a 100644 --- a/helidon-virtual-thread/build-run/build-run.md +++ b/helidon-virtual-thread/build-run/build-run.md @@ -257,7 +257,6 @@ Let’s compare the implementations between Virtual thread and Helidon SE (react You may now *proceed to the next lab*. ## Acknowledgements - * **Author** - Ankit Pandey * **Contributors** - Sid Joshi, Maciej Gruszka -* **Last Updated By/Date** - Ankit Pandey, March 2024 +* **Last Updated By/Date** - Ankit Pandey, March 2025 diff --git a/helidon-virtual-thread/intro/intro.md b/helidon-virtual-thread/intro/intro.md index 38cd00f4..a4aa31ba 100644 --- a/helidon-virtual-thread/intro/intro.md +++ b/helidon-virtual-thread/intro/intro.md @@ -47,7 +47,6 @@ This lab assumes you have: * [https://helidon.io](https://helidon.io) ## Acknowledgements - * **Author** - Ankit Pandey * **Contributors** - Sid Joshi, Maciej Gruszka -* **Last Updated By/Date** - Ankit Pandey, March 2024 \ No newline at end of file +* **Last Updated By/Date** - Ankit Pandey, March 2025 \ No newline at end of file diff --git a/helidon-virtual-thread/laptop-setup/laptop-setup.md b/helidon-virtual-thread/laptop-setup/laptop-setup.md index 68817a3e..9d975b51 100644 --- a/helidon-virtual-thread/laptop-setup/laptop-setup.md +++ b/helidon-virtual-thread/laptop-setup/laptop-setup.md @@ -59,7 +59,6 @@ Estimated Time: 10 minutes You may now *proceed to the next lab*. ## Acknowledgements - * **Author** - Ankit Pandey * **Contributors** - Sid Joshi, Maciej Gruszka -* **Last Updated By/Date** - Ankit Pandey, March 2024 +* **Last Updated By/Date** - Ankit Pandey, March 2025 diff --git a/helidon-virtual-thread/migrate-application/migrate-application.md b/helidon-virtual-thread/migrate-application/migrate-application.md index 10d45440..e30ab948 100644 --- a/helidon-virtual-thread/migrate-application/migrate-application.md +++ b/helidon-virtual-thread/migrate-application/migrate-application.md @@ -65,11 +65,11 @@ Estimated Time: 20 minutes You will see output similar to the following: ```bash $ java -jar target/myproject.jar - 2024.02.21 11:19:09 INFO io.helidon.common.LogConfig Thread[#1,main,5,main]: Logging at initialization configured using classpath: /logging.properties - 2024.02.21 11:19:11 INFO io.helidon.microprofile.server.ServerCdiExtension Thread[#1,main,5,main]: Registering JAX-RS Application: HelidonMP - 2024.02.21 11:19:11 INFO io.helidon.webserver.NettyWebServer Thread[#30,nioEventLoopGroup-2-1,10,main]: Channel '@default' started: [id: 0x49f247d4, L:/0.0.0.0:8080] - 2024.02.21 11:19:11 INFO io.helidon.microprofile.server.ServerCdiExtension Thread[#1,main,5,main]: Server started on http://localhost:8080 (and all other host addresses) in 2426 milliseconds (since JVM startup). - 2024.02.21 11:19:11 INFO io.helidon.common.HelidonFeatures Thread[#31,features-thread,5,main]: Helidon MP 3.2.8 features: [CDI, Config, Health, JAX-RS, Metrics, Open API, Server] + 2025.02.27 11:56:39 INFO io.helidon.common.LogConfig Thread[#1,main,5,main]: Logging at initialization configured using classpath: /logging.properties + 2025.02.27 11:56:40 INFO io.helidon.microprofile.server.ServerCdiExtension Thread[#1,main,5,main]: Registering JAX-RS Application: HelidonMP + 2025.02.27 11:56:41 INFO io.helidon.webserver.NettyWebServer Thread[#30,nioEventLoopGroup-2-1,10,main]: Channel '@default' started: [id: 0x4217c6e3, L:/0.0.0.0:8080] + 2025.02.27 11:56:41 INFO io.helidon.microprofile.server.ServerCdiExtension Thread[#1,main,5,main]: Server started on http://localhost:8080 (and all other host addresses) in 2495 milliseconds (since JVM startup). + 2025.02.27 11:56:41 INFO io.helidon.common.HelidonFeatures Thread[#31,features-thread,5,main]: Helidon MP 3.2.11 features: [CDI, Config, Health, JAX-RS, Metrics, Open API, Server] ``` 13. Go back to the terminal,from where you run the curl commands and run the following commands to check the application: @@ -232,7 +232,6 @@ Estimated Time: 20 minutes Congratulations, you have completed the Helidon virtual thread workshop. ## Acknowledgements - * **Author** - Ankit Pandey * **Contributors** - Sid Joshi, Maciej Gruszka -* **Last Updated By/Date** - Ankit Pandey, March 2024 +* **Last Updated By/Date** - Ankit Pandey, March 2025 diff --git a/helidon-virtual-thread/modify-application/modify-application.md b/helidon-virtual-thread/modify-application/modify-application.md index 747be298..461a1588 100644 --- a/helidon-virtual-thread/modify-application/modify-application.md +++ b/helidon-virtual-thread/modify-application/modify-application.md @@ -252,7 +252,6 @@ In this lab, you will: You may now *proceed to the next lab*. ## Acknowledgements - * **Author** - Ankit Pandey * **Contributors** - Sid Joshi, Maciej Gruszka -* **Last Updated By/Date** - Ankit Pandey, March 2024 \ No newline at end of file +* **Last Updated By/Date** - Ankit Pandey, March 2025 \ No newline at end of file diff --git a/helidon-virtual-thread/setup-environment/setup-environment.md b/helidon-virtual-thread/setup-environment/setup-environment.md index d43ea883..f20141b2 100644 --- a/helidon-virtual-thread/setup-environment/setup-environment.md +++ b/helidon-virtual-thread/setup-environment/setup-environment.md @@ -63,7 +63,6 @@ The Code Editor enables you to edit and deploy code for various OCI services dir Code Editor's direct integration with Cloud Shell allows you access to the GraalVM Enterprise Native Image and JDK 17 (Java Development Kit) pre-installed in Cloud Shell. ## Acknowledgements - * **Author** - Ankit Pandey * **Contributors** - Sid Joshi, Maciej Gruszka -* **Last Updated By/Date** - Ankit Pandey, March 2024 +* **Last Updated By/Date** - Ankit Pandey, March 2025