메뉴 건너뛰기

Cloudera, BigData, Semantic IoT, Hadoop, NoSQL

Cloudera CDH/CDP 및 Hadoop EcoSystem, Semantic IoT등의 개발/운영 기술을 정리합니다. gooper@gooper.com로 문의 주세요.


* 참조 : https://www.lagomframework.com/documentation/1.3.x/java/GettingStartedMaven.html#Generate-a-project-with-the-Lagom-archetype


1. 특정 위치에 폴더 생성및 이동
mkdir c:tmpHello
cd c:tmpHello


2. Hello 샘플 프로젝트 자동생성 실행
mvn archetype:generate -Dfilter=com.lightbend.lagom:maven-archetype-lagom-java


3. 진행화면
C:tmpHello>mvn archetype:generate -Dfilter=com.lightbend.lagom:maven-archetype-lagom-java
[INFO] Scanning for projects...
[INFO]
[INFO] ------------------------------------------------------------------------
[INFO] Building Maven Stub Project (No POM) 1
[INFO] ------------------------------------------------------------------------
[INFO]
[INFO] >>> maven-archetype-plugin:3.0.1:generate (default-cli) > generate-sources @ standalone-pom >>>
[INFO]
[INFO] <<< maven-archetype-plugin:3.0.1:generate (default-cli) < generate-sources @ standalone-pom <<<
[INFO]
[INFO] --- maven-archetype-plugin:3.0.1:generate (default-cli) @ standalone-pom ---
[INFO] Generating project in Interactive mode
[INFO] No archetype defined. Using maven-archetype-quickstart (org.apache.maven.archetypes:maven-archetype-quickstart:1.0)
Choose archetype:
1: remote -> com.lightbend.lagom:maven-archetype-lagom-java (maven-archetype-lagom-java)
Choose a number or apply filter (format: [groupId:]artifactId, case sensitive contains): : 1
Choose com.lightbend.lagom:maven-archetype-lagom-java version:
1: 1.1.0-RC1
2: 1.1.0
3: 1.2.0-RC1
4: 1.2.0-RC2
5: 1.2.0
6: 1.2.1
7: 1.2.2
8: 1.2.3
9: 1.3.0-M1
10: 1.3.0-RC1
11: 1.3.0-RC2
12: 1.3.0
13: 1.3.1
14: 1.3.2
15: 1.3.3
16: 1.3.4
17: 1.3.5
18: 1.3.6
19: 1.3.7-RC1
20: 1.3.7
21: 1.3.8-M1
22: 1.3.8
23: 1.3.9
24: 1.3.10-M1
25: 1.3.10
26: 1.4.0-M1
27: 1.4.0-M2
28: 1.4.0-M3
29: 1.4.0-RC1
Choose a number: 29: 29
Downloading: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.pom
Downloaded: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.pom (2 KB at 3.8 KB/sec)
Downloading: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.jar
Downloaded: https://repo.maven.apache.org/maven2/com/lightbend/lagom/maven-archetype-lagom-java/1.4.0-RC1/maven-archetype-lagom-java-1.4.0-RC1.jar (35 KB at 101.2 KB/sec)
Define value for property 'groupId': com.example.hello
Define value for property 'artifactId': my-first-system
Define value for property 'version' 1.0-SNAPSHOT: : Enter
Define value for property 'package' com.example.hello: : Enter
[INFO] Using property: scala-binary-version = 2.12
[INFO] Using property: service1ClassName = Hello
[INFO] Using property: service1Name = hello
[INFO] Using property: service2ClassName = Stream
[INFO] Using property: service2Name = stream
Confirm properties configuration:
groupId: com.example.hello
artifactId: my-first-system
version: 1.0-SNAPSHOT
package: com.example.hello
scala-binary-version: 2.12
service1ClassName: Hello
service1Name: hello
service2ClassName: Stream
service2Name: stream
  Y: : Y
[INFO] ----------------------------------------------------------------------------
[INFO] Using following parameters for creating project from Archetype: maven-archetype-lagom-java:1.4.0-RC1
[INFO] ----------------------------------------------------------------------------
[INFO] Parameter: groupId, Value: com.example.hello
[INFO] Parameter: artifactId, Value: my-first-system
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example.hello
[INFO] Parameter: packageInPathFormat, Value: com/example/hello
[INFO] Parameter: service2Name, Value: stream
[INFO] Parameter: service1Name, Value: hello
[INFO] Parameter: groupId, Value: com.example.hello
[INFO] Parameter: service1ClassName, Value: Hello
[INFO] Parameter: scala-binary-version, Value: 2.12
[INFO] Parameter: version, Value: 1.0-SNAPSHOT
[INFO] Parameter: package, Value: com.example.hello
[INFO] Parameter: service2ClassName, Value: Stream
[INFO] Parameter: artifactId, Value: my-first-system
[INFO] Project created from Archetype in dir: C:tmpHellomy-first-system
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 05:50 min
[INFO] Finished at: 2018-01-19T15:31:56+09:00
[INFO] Final Memory: 17M/217M
[INFO] ------------------------------------------------------------------------


*컴파일시 getName(), getMessage()가 정의되지 않았다는 오류가 발생하면 https://www.gooper.com/ss/index.php?mid=bigdata&category=2825&document_srl=3572 를 참고하여 조치하고 재 컴파일 해준다.


4. 프로젝트 구조

my-first-system
 └ hello-api/             → hello world api project dir
 └ hello-impl/            → hello world implementation dir
 └ integration-tests/
 └ stream-api/            → stream api project dir
 └ stream-impl/           → stream implementation project dir
 └ pom.xml                → Project group build file


5. Hello 서비스 실행

cd my-first-system

mvn lagom:runAll

...
[info] Starting embedded Cassandra server
..........
[info] Cassandra server running at 127.0.0.1:4000
[info] Service locator is running at http://localhost:8000
[info] Service gateway is running at http://localhost:9000
...
[info] Service hello-impl listening for HTTP on 0:0:0:0:0:0:0:0:24266
[info] Service stream-impl listening for HTTP on 0:0:0:0:0:0:0:0:26230
(Services started, press enter to stop and go back to the console...)


6.hello 서비스 수행확인(HTTP client의 endpoint를 이용하여 확인)

http://localhost:9000/api/hello/World



번호 제목 날짜 조회 수
510 룰에 매칭되면 발생되는 엑티베이션 객체에 대한 작업(이전값 혹은 현재값)을 처리하는 클래스 파일 2016.07.21 2502
509 커리 변경 이벤트를 처리하기 위한 구현클래스 2016.07.21 4345
508 워킹 메모리에 대한 정보를 처리하는 클래스 파일 2016.07.21 3541
507 drools에서 drl관련 로그를 기록하기 위한 클래스 파일 2016.07.21 4069
506 ServerInfo객체파일 2016.07.21 4150
505 drools를 이용한 로그,rule matching등의 테스트 java프로그램 file 2016.07.21 2419
504 거침없이 배우는 Drools 책의 샘플소스 file 2016.07.22 3729
503 슬라이딩 윈도우 예제 2016.07.28 2804
502 Journal Storage Directory /data/hadoop/journal/data/mycluster not formatted 오류시 조치사항 2016.07.29 4421
501 hadoop클러스터를 구성하던 서버중 HA를 담당하는 서버의 hostname등이 변경되어 문제가 발생했을때 조치사항 2016.07.29 3254
500 start-all.sh로 spark데몬 기동시 "JAVA_HOME is not set"오류 발생시 조치사항 2016.08.01 4094
499 bin/start-hbase.sh실행시 org.apache.hadoop.hbase.util.FileSystemVersionException: HBase file layout needs to be upgraded오류가 발생하면 조치사항 2016.08.01 3370
498 kafkaWordCount.scala의 producer와 consumer 클래스를 이용하여 kafka를 이용한 word count 테스트 하기 2016.08.02 3562
497 build할때 unmappable character for encoding MS949 에러 발생시 조치사항 2016.08.03 4344
496 [SBT] project.sbt에 libraryDependencies에 필요한 jar를 지정했으나 sbt compile할때 클래스를 못찾는 오류가 발생했을때 조치사항 2016.08.03 3810
495 [SBT] SBT 사용법 정리(링크) 2016.08.04 3263
494 [SBT] assembly시 "[error] deduplicate: different file contents found in the following:"오류 발생시 조치사항 2016.08.04 4491
493 gradle을 이용하여 jar파일 생성시 provided속성을 지정할 수 있게 설정하는 방법 2016.08.09 3199
492 로컬의 라이브러리파일들을 dependency에 포함시키는 방법 2016.08.09 3257
491 [Elephas] Jena Elephas를 이용하여 Spark에서 rdfTriples의 RDD를 만들고 RDD관련 작업하는 샘플소스 2016.08.10 3240
위로