Microservices with Docker and Spring Boot

This guide is for someone interesting in quickly building a micro-service using the Spring Boot framework. Works great if you have prior JAX-RS / Jersey experience Step-by-step guide Add the steps involved: Create a Maven Project Final Structure Pom ( Attached here ) Include Spring Boot Dependencies in your pom Parent Project <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId>Continue reading “Microservices with Docker and Spring Boot”

Java Application Memory Usage and Analysis

The Java Virtual Machine (JVM) runs standalone applications and many key enterprise applications like monolithic application servers, API Gateways and microservices. Understanding an tuning an application begins with understanding the technology running it. Here is a quick overview of the JVM Memory management JVM Memory: Stack and Heap form the memory used by a Java Application TheContinue reading “Java Application Memory Usage and Analysis”

Dockerized Java Application Performance Analysis

Using JMX to analyse a Java Virtual Machine (JVM) within a local or remote docker image. The example below explores how to analyse a Tomcat Server (version 7) running in a docker instance using Oracle JRockit Mission Control (JMC) Your JRockit Mission Control is here OSX : “/Library/Java/JavaVirtualMachines/{JDK}/Contents/Home/bin/” Windows: “JDK_HOME/bin/”   Step-by-step guide Add theContinue reading “Dockerized Java Application Performance Analysis”

API Performance Testing with Gatling

The Problem “Our API Gateway is falling over and we expect a 6-fold increase in our client base and a 10-fold increase in requests, our backend service is scaling and performing well. Please help us understand and fix the API Gateway”  Tasks It was pretty clear we had to run a series of performance tests simulatingContinue reading “API Performance Testing with Gatling”

Groovy Grape Turns Sour – java.lang.RuntimeException: Error grabbing Grapes — [download failed:

Issue: Trying to run a Ratpack Groovy code [ @Grab(‘io.ratpack:ratpack-groovy:1.0.0’) ] groovy -Dgroovy.grape.report.downloads=true -Dratpack.port=8081 server.groovy The Error: General Error:   java.lang.RuntimeException: Error grabbing Grapes — [download failed: Specific Error: java.lang.RuntimeException: Error grabbing Grapes — [download failed: org.yaml#snakeyaml;1.12!snakeyaml.jar(bundle), download failed: com.google.guava#guava;18.0!guava.jar(bundle)] The fix: Delete the Repository folders in repo managers like Maven. Why? Because the ~/.groovy/grapes repoContinue reading “Groovy Grape Turns Sour – java.lang.RuntimeException: Error grabbing Grapes — [download failed:”

Oracle AS Adapter for Peoplesoft: IWAY Error Resolution

ERROR com.ibi.bse.ConfigWorker:java.lang.NoClassDefFoundError: oracle/tip/adapter/api/exception/PCResourceException Solution: It appears that Oracle took the IWay Servlet and built a Java Swing application around it that allows you to create a Web service (BSE) or J2CA based connection to the Enterprise Applications (SEIBEL, JDE, Peoplesoft). This Swing application is launched in a Unix/Linux shell using the iwae.sh script and inContinue reading “Oracle AS Adapter for Peoplesoft: IWAY Error Resolution”

Oracle SOA Suite 11g BPEL – FTP Adapter: What’s my filename?

I was writing an FTP adapter for a client recently for a legacy integration project, when a couple of  requirements came up: 1) When reading the file from a remote location, the client wanted to use the filename as a data element. 2) When writing the file to a remote location, the client wanted theContinue reading “Oracle SOA Suite 11g BPEL – FTP Adapter: What’s my filename?”

BPEL Error with Receive/Pick

Error: “Error(81): There is not an activity (receive/pick) to start the process” Fix:  Check the “Create Instance” checkbox on your Receive or Pick activity.   When do you see these errors? When you create a BPEL process and remove the default Receive/Reply components to receive/pick events from a queue or an FTP adapter for example.Continue reading “BPEL Error with Receive/Pick”

Oracle SOA Suite 11g – Configure Resource Adapters on Weblogic Server [AQAdapter]

It was hard finding any documentation on configuring Adapters for Oracle SOA Suite on a Weblogic server, so I thought I would put together a little doco explaining how I configured this. It is the same for an Apps Adapter config.

Enterprise Integration – Using Heterogeneous Namespace Design For Messaging Schema

When integrating with Legacy systems, especially ones that rely on flat-files, it is often the case that there is no XSD definition that can be used in BPEL/ESB processes.  This happened recently when I was using Oracle’s AIA framework to build Application Business Connector Services (ABCS) for a legacy system that has a file-poll basedContinue reading “Enterprise Integration – Using Heterogeneous Namespace Design For Messaging Schema”