This week's book giveaway is in the Reactive Progamming forum.
We're giving away four copies of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams and have Adam Davis on-line!
See this thread for details.
Win a copy of Reactive Streams in Java: Concurrency with RxJava, Reactor, and Akka Streams this week in the Reactive Progamming forum!

Peter Rooke

+ Follow
since Oct 21, 2004
Peter likes ...
IntelliJ IDE Java Linux Mac OS X Oracle Redhat Spring Tomcat Server VI Editor
Forum Moderator
Peter Rooke currently moderates these forums:
Newcastle Upon Tyne, England, United Kingdom
Cows and Likes
Total received
In last 30 days
Total given
Total received
Received in last 30 days
Total given
Given in last 30 days
Forums and Threads
Scavenger Hunt
expand Rancher Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Peter Rooke

For all you die hard Emacs fans this online conference is taking place; Emacs Online Conference on November 2, 2019 from 9am to 5pm Toronto/EDT time; (13:00 - 21:00 GMT/UTC or 14:00 - 22:00 CET).

1 day ago
If something is a then this indicates an inheritance relationship.  For example a car is a vehicle.  
However is something has a then this indicates a composition relation.  An example would be a car has wheels.  

Lastly its generally accepted that it's better to favour composition over inheritance.
4 days ago
This should help to explain how the Caesar cipher operates.  Practical Cryptography Caesar Cipher.  It's a very simple idea and sometimes known as a shift cipher, since you are just shifting each letter along an alphabetical scale using a fixed number of steps.  Therefore using a shift step of three - an "a" letter would become "d".  The alphabet is used in a circular manner so a "z" would become would become a "c".  

The normal implementation of this is to take a  set of characters and convert them their numerical (integer) values in order to perform the shift addition.  They are then converted back to their character values.          
1 week ago
Yeah try;

cat filenum1 > filenum2

without the second "cat" that you prefixed filenum2 with.  

While you're on you may as well learn about redirection.  That would be sending the output of a command into the input of a second command using these operators ">, >>, |".  
Is a powerful feature of unix shell commands.    
2 weeks ago
Hi all, just found a collection of O'Reilly Linux/Unix books are being sold in a humble bundle.

Topics covered are the operating systems, shell languages, editors, and a few of the more common tools.    

Linux Unix O'Reilly Books  
2 weeks ago

it says Spring AOP  only advices public joint point

- I would suspect that will be correct, if its a quote from a book written by one of the actual spring framework developers.

The reason behind this may be (note the language - I'm not 100% sure of this) due to the way in which spring uses dynamic run time proxies to implement AOP features.  Would a proxy object then have the visibility to a class defined with protected (or default) access, I assume that it would not.  Here's the relevant section from the  Spring AOP documentation.  

My advise would be to look into AspectJ.    

2 weeks ago
BlueJ is a nice editor to learn the basics of Java for beginners.   Otherwise it's really down to personal preference [I'm often still using vi ;-) ].  

I don't share your concerns over NetBeans being taken on by the Apache Foundation as they have a long history in open source.  For example the Apache httpd server ('A PAtCHy' server) is ridiculously popular.      
Before, after, and during a method.  AspectJ may offer different options (advise), but cannot comment as I don't know it that well.

Types of [SpringAOP] advice:

Before advice: Advice that executes before a join point, but which does not have the ability to prevent execution flow proceeding to the join point (unless it throws an exception).

After returning advice: Advice to be executed after a join point completes normally: for example, if a method returns without throwing an exception.
After throwing advice: Advice to be executed if a method exits by throwing an exception.
After (finally) advice: Advice to be executed regardless of the means by which a join point exits (normal or exceptional return).
Around advice: Advice that surrounds a join point such as a method invocation. This is the most powerful kind of advice. Around advice can perform custom behavior before and after the method invocation. It is also responsible for choosing whether to proceed to the join point or to shortcut the advised method execution by returning its own return value or throwing an exception.

Taken from the spring docs Spring Docs
1 month ago

Alder Potenz wrote:What are the real world or common scenario where we need or want to use AOP introduction.

Logging and [method] security are two scenarios.  This wiki link describes some more Cross Cutting Concerns

However the main idea is to try and address two issues that are common among badly designed systems, namely; Code Scattering and Code Tangling.

Code scattering is often referred to as "spaghetti code", where you see the same code repeated many times in order to achieve the same results.  For example when a class method has had many lines of code added to log the initial state and arguments, and then the final state.  This can be solved with AOP, which can be setup with SpringAOP which would implement the logging functionality behind the scenes.  

Code tangling refers to the scenario where we have a specific piece of code performs unrelated multiple objectives, often after a period of maintenance programming when a bug fix is implemented badly.  This is associated with the concept of code cohesion, where we want the code to only do one thing.    

There's a good answer in stack overflow that shows examples; StackOverflow - AOP

From a Java Spring perspective you can use Springs own implementation (SpringAOP) or use Spring to configure AspectJ.  AspectJ offers more features and could be used without Spring.    

AOP has its own terms [which I think are a bit confusing], and how this is actually done requires a bit a in depth knowledge of spring internals and since you asked for an introduction I'll leave you to research this.   SpringAOP Docs      

1 month ago
That's me as well; still using an older Mac Book Pro.  Just don't see any advantage in buying a new Mac when they seem to have faulty keyboards and the lack of connectors.  This
sums it up.   Seriously considering getting a Linux based laptop when I need a replacement in a few years.    
1 month ago
Are you aware of the @EnableAsync/@Async annotations?  Here's a link to one of the examples from Pivotal - Creating Asynchronous Methods    

Cannot tell you anything much about reactive spring, as I don't know it too well (yet)!  
2 months ago
Cloud Native Java Yet another three-letter abbreviation (TLA) as we don't have enough in computing!    

Welcome Josh ;-)
2 months ago
This spring boot io guide; Spring Boot OAuth 2
More based on spring boot, rather than just plain spring security.  
2 months ago
Did you see this old post Spring 5 Certification
2 months ago
There are a set of certification books, but they are now out of date since the framework and the various certification objectives have changed significantly.
Already answered in another JR thread JR thread

This is the book Certified Professional Spring Developer Exam and there are others for the other two old certifications; system integration and web developer.  

It looks like there is an updated version of the book, but its not due until next year Core Spring 5 Developer Exam

3 months ago