Initial commit
This commit is contained in:
		
							parent
							
								
									0f20a7dd14
								
							
						
					
					
						commit
						9cbafc45df
					
				
							
								
								
									
										81
									
								
								jcabi/pom.xml
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										81
									
								
								jcabi/pom.xml
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,81 @@ | |||||||
|  | <?xml version="1.0" encoding="UTF-8"?> | ||||||
|  | <project xmlns="http://maven.apache.org/POM/4.0.0" | ||||||
|  |          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"> | ||||||
|  | 
 | ||||||
|  |     <modelVersion>4.0.0</modelVersion> | ||||||
|  |     <artifactId>jcabi</artifactId> | ||||||
|  |     <version>0.1.0-SNAPSHOT</version> | ||||||
|  |     <name>jcabi</name> | ||||||
|  |     <packaging>jar</packaging> | ||||||
|  |      | ||||||
|  |     <parent> | ||||||
|  |         <groupId>com.baeldung</groupId> | ||||||
|  |         <artifactId>parent-java</artifactId> | ||||||
|  |         <version>0.0.1-SNAPSHOT</version> | ||||||
|  |         <relativePath>../parent-java</relativePath> | ||||||
|  |     </parent> | ||||||
|  | 
 | ||||||
|  |     <dependencies> | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.assertj</groupId> | ||||||
|  |             <artifactId>assertj-core</artifactId> | ||||||
|  |             <version>${assertj.version}</version> | ||||||
|  |             <scope>test</scope> | ||||||
|  |         </dependency> | ||||||
|  |          | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>com.jcabi</groupId> | ||||||
|  |             <artifactId>jcabi-aspects</artifactId> | ||||||
|  |             <version>${jcabi-aspects.version}</version> | ||||||
|  |         </dependency> | ||||||
|  |          | ||||||
|  |         <dependency> | ||||||
|  |             <groupId>org.aspectj</groupId> | ||||||
|  |             <artifactId>aspectjrt</artifactId> | ||||||
|  |             <version>${aspectjrt.version}</version> | ||||||
|  |             <scope>runtime</scope> | ||||||
|  |         </dependency> | ||||||
|  |          | ||||||
|  |     </dependencies> | ||||||
|  | 
 | ||||||
|  |     <build> | ||||||
|  |         <finalName>jcabi</finalName> | ||||||
|  |         <plugins> | ||||||
|  |             <plugin> | ||||||
|  |                 <groupId>com.jcabi</groupId> | ||||||
|  |                 <artifactId>jcabi-maven-plugin</artifactId> | ||||||
|  |                 <version>${jcabi-maven-plugin.version}</version> | ||||||
|  |                 <executions> | ||||||
|  |                     <execution> | ||||||
|  |                         <goals> | ||||||
|  |                             <goal>ajc</goal> | ||||||
|  |                         </goals> | ||||||
|  |                     </execution> | ||||||
|  |                 </executions> | ||||||
|  |                 <dependencies> | ||||||
|  |                     <dependency> | ||||||
|  |                         <groupId>org.aspectj</groupId> | ||||||
|  |                         <artifactId>aspectjtools</artifactId> | ||||||
|  |                         <version>${aspectjtools.version}</version> | ||||||
|  |                     </dependency> | ||||||
|  |                     <dependency> | ||||||
|  |                         <groupId>org.aspectj</groupId> | ||||||
|  |                         <artifactId>aspectjweaver</artifactId> | ||||||
|  |                         <version>${aspectjweaver.version}</version> | ||||||
|  |                     </dependency> | ||||||
|  |                 </dependencies> | ||||||
|  |             </plugin> | ||||||
|  |         </plugins> | ||||||
|  |     </build> | ||||||
|  | 
 | ||||||
|  |     <properties> | ||||||
|  |         <assertj.version>3.14.0</assertj.version> | ||||||
|  |         <jcabi-aspects.version>0.22.6</jcabi-aspects.version> | ||||||
|  |         <aspectjrt.version>1.9.5</aspectjrt.version> | ||||||
|  |         <jcabi-maven-plugin.version>0.14.1</jcabi-maven-plugin.version> | ||||||
|  |         <aspectjtools.version>1.9.1</aspectjtools.version> | ||||||
|  |         <aspectjweaver.version>1.9.1</aspectjweaver.version> | ||||||
|  |     </properties> | ||||||
|  | 
 | ||||||
|  | </project> | ||||||
							
								
								
									
										103
									
								
								jcabi/src/main/java/com/baeldung/jcabi_aspectj/Example.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										103
									
								
								jcabi/src/main/java/com/baeldung/jcabi_aspectj/Example.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,103 @@ | |||||||
|  | package com.baeldung.jcabi_aspectj; | ||||||
|  | 
 | ||||||
|  | import java.util.concurrent.CompletableFuture; | ||||||
|  | import java.util.concurrent.Future; | ||||||
|  | import java.util.concurrent.TimeUnit; | ||||||
|  | 
 | ||||||
|  | import com.jcabi.aspects.Async; | ||||||
|  | import com.jcabi.aspects.Cacheable; | ||||||
|  | import com.jcabi.aspects.LogExceptions; | ||||||
|  | import com.jcabi.aspects.Loggable; | ||||||
|  | import com.jcabi.aspects.Parallel; | ||||||
|  | import com.jcabi.aspects.Quietly; | ||||||
|  | import com.jcabi.aspects.RetryOnFailure; | ||||||
|  | import com.jcabi.aspects.UnitedThrow; | ||||||
|  | 
 | ||||||
|  | //@Loggable | ||||||
|  | public class Example { | ||||||
|  | 
 | ||||||
|  |     public static void main(String[] args) { | ||||||
|  |         try { | ||||||
|  |             tryAsync(); | ||||||
|  |             asyncFactorial(10).get(); | ||||||
|  |             System.out.println("calling 2..."); | ||||||
|  |             System.out.println(called2());     | ||||||
|  |             //called3(); | ||||||
|  |             called4(); | ||||||
|  |             System.out.println(called2()); | ||||||
|  |             System.out.println(called2()); | ||||||
|  |             called6(); | ||||||
|  |             //called7(); | ||||||
|  |              | ||||||
|  |              | ||||||
|  |         } catch(Exception e) { | ||||||
|  | 
 | ||||||
|  |         } | ||||||
|  |         called5(); | ||||||
|  |         called8(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Async | ||||||
|  |     public static void tryAsync() { | ||||||
|  |         long result = factorial(10); | ||||||
|  |         System.out.println(result); | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     @Async | ||||||
|  |     public static Future<Long> asyncFactorial(int number) { | ||||||
|  |         Future<Long> factorialFuture = CompletableFuture.supplyAsync(() -> factorial(number)); | ||||||
|  |         return factorialFuture; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     /** | ||||||
|  |      * Finds factorial of a number | ||||||
|  |      * @param number | ||||||
|  |      * @return | ||||||
|  |      */ | ||||||
|  |     public static long factorial(int number) { | ||||||
|  |         long result = 1;  | ||||||
|  |         for(int i=number;i>0;i--) { | ||||||
|  |             result *= i;  | ||||||
|  |         }  | ||||||
|  |         return result;  | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Cacheable(lifetime = 5, unit = TimeUnit.SECONDS) | ||||||
|  |     public static Double called2() { | ||||||
|  |         return Math.random(); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @LogExceptions | ||||||
|  |     public static void called3() { | ||||||
|  |         System.out.println(1/0); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Loggable | ||||||
|  |     public static void called4() { | ||||||
|  |         System.out.println("checking loggable"); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Quietly | ||||||
|  |     public static void called5() { | ||||||
|  |         int x = 1/0; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  |     @Parallel(threads = 4) | ||||||
|  |     public static void called6() { | ||||||
|  |         System.out.println("called6"); | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     @RetryOnFailure | ||||||
|  |     //@Quietly | ||||||
|  |     public static void called7() { | ||||||
|  |         System.out.println("called7..."); | ||||||
|  |         int y = 1/0; | ||||||
|  |     } | ||||||
|  |      | ||||||
|  |     @UnitedThrow //(IllegalStateException.class) | ||||||
|  |     public static void called8() { | ||||||
|  |         System.out.println("called8..."); | ||||||
|  |         int y = 1/0; | ||||||
|  |     } | ||||||
|  | 
 | ||||||
|  | } | ||||||
							
								
								
									
										5
									
								
								jcabi/src/main/java/com/baeldung/jcabi_aspectj/User.java
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										5
									
								
								jcabi/src/main/java/com/baeldung/jcabi_aspectj/User.java
									
									
									
									
									
										Normal file
									
								
							| @ -0,0 +1,5 @@ | |||||||
|  | package com.baeldung.jcabi_aspectj; | ||||||
|  | 
 | ||||||
|  | public class User { | ||||||
|  | 
 | ||||||
|  | } | ||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user