A software engineering blog mainly focused on programming, web development and testing


  • Spring Integration – Using RMI Channel Adapters

    This article explains how to send and receive messages over RMI using Spring Integration RMI channel adapters. It is composed of the following sections:

    • Implement the service: The first section focuses on creating and exposing a service.
    • Implement the client: Shows how to invoke the service using the MessagingTemplate class.
    • Abstracting SI logic: Finally, I’ve added another section explaining...
  • Creating contract-first web services with Spring WS

    This article explains how to implement and test SOAP web services with Spring WS project. This example uses JAXB2 for (un)marshalling. To develop the service, I’ll use the contract-first approach, which consists in defining the service contract first, and based on this contract implement the service.

    The article is divided into the following sections:

    2  ...
  • Processing messages in transactions with Spring JMS

    This post shows how to process messages in transactions with Spring JMS. We will see how an error in the execution of the consumer during the asynchronous reception of messages with JMS, can lead to the loss of messages. I then will explain how you can solve this problem using local transactions.

    You will also see that this solution can...

  • Introduction to messaging with Spring JMS

    In this post I will show you how to configure a standalone application in order to see different ways of sending and receiving messages using Spring JMS. Basically, I will divide the examples into the following sections:

    • Point-to-point messaging (queue)
      • Synchronous reception
      • Asynchronous reception
    • Publish-subscribe messaging (topic)

    The source code with all the examples shown...

  • Applying aspect oriented programming

    This article explains how to apply aspect oriented programming with Spring AOP. The main target of the aspect oriented programming is the separation of cross-cutting concerns. When we talk about cross-cutting concerns we are referring to generic functionality that is used in several places in our system or application.

    These concepts are, among others:

    • Logging
    • Transaction management
    • Error handling
    • ...