SlideShare a Scribd company logo
1 of 14
Download to read offline
Camel In Action 2nd edition 読書会
2021年3⽉30⽇
19. Camel Tooling
l 開発フェーズでは、開発に使⽤するエディターに併せて以下の開発ツーが選
べる
l Eclipse + Fuse Tooling plugin
l IntelliJ IDEA + Apache Camel IDEA plugin
l Visual Studio Code + Extension Pack for Apache Camel
l ビルドフェーズでは、以下のMaven Pluginが使える
l Camel Maven Plugin
l Camel Report Maven Plugin
l 運⽤フェーズでは、以下の管理ツールが使える
l WebコンソールのHawtio
l JMX系ツールのJconsole, Java Mission Control , VisualVM
Camelツールの⼀覧
2020
2
l メリット:
l グラフィックエディターで開発及びデバッグ可能 (XML DSLを開発時のみ)
l エンドポイントのオプションを⾃動補完 (XML DSLを開発時のみ)
l CamelのドキュメントがIDE内で参照可能
l デメリット:
l メモリ消費が⼤きい(2GB以上)、動作が重い
Eclipse + Fuse Tooling plugin
2020
3
グラフィックエディターで開発 グラフィックエディターでデバッグ
l メリット:
l エンドポイントのオプションを⾃動補完 (XML DSL及びJava DSL)
l 動作が軽い
l デメリット:
l IntelliJ IDEA Community版の機能が制限されている、Ultimate版は有償
IntelliJ IDEA + Apache Camel IDEA plugin
2020
4
JavaDSL開発時に⾃動補完
l メリット:
l エンドポイントのオプションを⾃動補完 (XML DSL及びJava DSL)
l 動作が軽い、プラグインが多く、マルチ⾔語、マルチ環境の開発に適している
l VSCode⾃体は⼈気である、普及率50%超えた(2018 à 34.9%、2019 à 50.7%)
l デメリット:
l PCか, Macかの実⾏環境が不可⽋
Visual Studio Code + Extension Pack for Apache Camel
2020
5
JavaDSL開発時に⾃動補完
l Eclipse Che
l Red Hat CodeReady Workspaces
l メリット:
l インブラウザのIDEなので、ブラウザさえあれば開発可能
l 開発環境⾃体はコンテナ化されるので、ローカルPCを汚さないし、開発の再開が速い
l ⾃動補完 & Remote Debug
l プラグインが多く、マルチ⾔語の開発に適している
l デメリット:
l まだ開発途上
l 現時点、動作が重い
今後はどうなる
2020
6
l 特徴:
l OSビルドイン or インブラウザ
l 3DエンジンベースのGUI
l AIによる⾃動⽣成と⾃動補完
l 開発環境も、実⾏環境もリモートにホストされる
将来はどうなる
2020
7
l Fabric8チームがApache camelへ寄付した
l Camel 2.20以降にビルドイン(Camel 2.x系のみ)
l Cheers — fabric8 Camel Maven Plugin to validate Camel endpoints from source code
l Camel Maven Plugin のできること:
l camel:validate : Maven プロジェクトのソースコードを検証し、Camel エンドポイント
URI を検証し、URI⽂法と無効なオプションを検出する
Camel Maven Plugin
2020
8
l Camel Maven Pluginの使い⽅:
l 1. pom.xmlに<plugin>を追加
l 2. mvn camel:validate を実⾏
Camel Maven Plugin
2020
9
<!-- run using camel:validate -->
<plugin>
<groupId>org.apache.camel</groupId>
<artifactId>camel-maven-plugin</artifactId>
<version>${camel-version}</version>
<executions>
<execution>
<configuration>
<!-- lets not fail the build on errors -->
<failOnError>false</failOnError>
<!-- lets also check the unit test source code -->
<includeTest>true</includeTest>
</configuration>
<!-- validate during build of the project -->
<phase>process-classes</phase>
<goals>
<goal>validate</goal>
</goals>
</execution>
</executions>
</plugin>
エラー検出例
l Camel Maven Plugin の拡張
l Camel 3.x系で使⽤可能
l Camel Report Maven Pluginのできること:
l Camel-report:validate : Maven プロジェクトのソースコードを検証し、Camel エン
ドポイント URI を検証し、URI⽂法と無効なオプションを検出する
l Camel-report:route-coverage : Unit Test実⾏後、Camel Routeのカバリッジを報告
する
l Camel Maven Pluginの使い⽅:
l CAMEL REPORT MAVEN PLUGIN
Camel Report Maven Plugin
2020
10
l Camel 2.17以降のリリースには、リリースに含まれる内容に関するあらゆる
種類の情報が記載された「Camel Catalog」も提供される
l Camel Catalogは、前述のツール内でも使⽤されている
l Camel CatalogはJar形式で配布、以下の情報が含まれる
l 各種コンポーネント、データフォーマット、⾔語、EIPなどの⼀覧
l Spring-boot, Apache Karafランタイムの情報
l 全オプションに関する詳細がJSON Schema形式で配布
l カテゴライズされたオプション
l XML DSLに使われるXML Schema
l Camel Archetype
l CamelのWebサイトのドキュメント(adoc、html形式)
l CamelエンドポイントURI、シンプル⾔語のValidator
l CamelエンドポイントURIの⽣成⽤のAPI
l Java, JMX, REST API
Camel Catalog: 情報の⾦鉱
2020
11
l “Itʼs a pluggable management console for Java stuff that supports any kind of
JVM, any kind of container (Tomcat, Jetty, Spring Boot, Karaf, JBoss, WildFly,
fabric8, etc.), and any kind of Java technology and middleware.”
̶http://hawt.io/faq/index.html
l Hawtioのできること:
l JVM内で実⾏しているCamel Application (Camel Context)の⼀覧表⽰
l Camel Context、Camel Routeの実⾏時統計情報表⽰
l Camel Context、Camel RouteのStart/Stop/Pause/Resumeの操作
l Camel Route(XML DSL & Java DSL)のグラフィック表⽰
l Camel Routeのライブトレーシングとデバッグ
Hawtio
2020
12
l Hawtioを有効化する⽅法:
l Karafの場合:
l Spring-boot2の場合:
l Pom.xml
l application.properties
l Main.javaの場合:
l Pom.xml
Hawtio
2020
13
<dependency>
<groupId>io.hawt</groupId>
<artifactId>hawtio-springboot</artifactId>
</dependency>
karaf@root()> feature:repo-add hawtio 1.5.6
karaf@root()> feature:install hawtio
# Fuse console settings
management.endpoints.web.exposure.include=hawtio,jolokia
management.endpoint.hawtio.enabled=true
management.endpoint.jolokia.enabled=true
management.endpoints.web.base-path=/
hawtio.authenticationEnabled=false
<!-- allows to run the example with hawtio -->
<plugin>
<groupId>io.hawt</groupId>
<artifactId>hawtio-maven-plugin</artifactId>
<version>${hawtio-version}</version>
<configuration>
<mainClass>camelinaction.MainApp</mainClass>
</configuration>
</plugin>
※ “mvn compile hawtio:run”
で起動する。
l Hawtioの使い⽅:
l ブラウザで、http://localhost:8080/hawtio へアクセス
※ karafの場合は8181ポート
Hawtio
14
Hawtioでデバッグ例
1
2
3

More Related Content

What's hot

Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Yuji Kubota
 
Node.js勉強会 Framework Koa
Node.js勉強会 Framework KoaNode.js勉強会 Framework Koa
Node.js勉強会 Framework Koakamiyam .
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方Ryo Tomidokoro
 
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugToshiaki Maki
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Yuji Kubota
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyTakakiyo Tanaka
 
CakePHP2.0 performance, upgrade shell
CakePHP2.0 performance, upgrade shellCakePHP2.0 performance, upgrade shell
CakePHP2.0 performance, upgrade shellichikaway
 
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugYuji Kubota
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤Yuichi Sakuraba
 
Spring Rooで作るGWTアプリケーション
Spring Rooで作るGWTアプリケーションSpring Rooで作るGWTアプリケーション
Spring Rooで作るGWTアプリケーションToshiaki Maki
 
Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Yuji Kubota
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugYuji Kubota
 
20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyoichikaway
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」Hiroaki NAKADA
 

What's hot (20)

FlexUnit4とMockitoFlex
FlexUnit4とMockitoFlexFlexUnit4とMockitoFlex
FlexUnit4とMockitoFlex
 
120517 revert tomcat7
120517 revert tomcat7120517 revert tomcat7
120517 revert tomcat7
 
cpanfile
cpanfilecpanfile
cpanfile
 
Head toward Java 15 and Java 16
Head toward Java 15 and Java 16Head toward Java 15 and Java 16
Head toward Java 15 and Java 16
 
Node.js勉強会 Framework Koa
Node.js勉強会 Framework KoaNode.js勉強会 Framework Koa
Node.js勉強会 Framework Koa
 
behatエクステンションの作り方
behatエクステンションの作り方behatエクステンションの作り方
behatエクステンションの作り方
 
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsugSpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
SpringOne 2GX 2014 参加報告 & Spring 4.1について #jsug
 
Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)Head toward Java 16 (Night Seminar Edition)
Head toward Java 16 (Night Seminar Edition)
 
Open Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere LibertyOpen Liberty: オープンソースになったWebSphere Liberty
Open Liberty: オープンソースになったWebSphere Liberty
 
CakePHP2.0 performance, upgrade shell
CakePHP2.0 performance, upgrade shellCakePHP2.0 performance, upgrade shell
CakePHP2.0 performance, upgrade shell
 
Migration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjugMigration Guide from Java 8 to Java 11 #jjug
Migration Guide from Java 8 to Java 11 #jjug
 
scala-kaigi1-sbt
scala-kaigi1-sbtscala-kaigi1-sbt
scala-kaigi1-sbt
 
MoteMote Compiler Plugin
MoteMote Compiler PluginMoteMote Compiler Plugin
MoteMote Compiler Plugin
 
JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤JavaFX 2.0 - リッチクライアントのためのUI基盤
JavaFX 2.0 - リッチクライアントのためのUI基盤
 
Plugman code-reading
Plugman code-readingPlugman code-reading
Plugman code-reading
 
Spring Rooで作るGWTアプリケーション
Spring Rooで作るGWTアプリケーションSpring Rooで作るGWTアプリケーション
Spring Rooで作るGWTアプリケーション
 
Catch up Java 12 and Java 13
Catch up Java 12 and Java 13Catch up Java 12 and Java 13
Catch up Java 12 and Java 13
 
Head toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjugHead toward Java 13 and Java 14 #jjug
Head toward Java 13 and Java 14 #jjug
 
20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo20120307 CakePHP Study in Tokyo
20120307 CakePHP Study in Tokyo
 
WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」WildFly Swarmではじめる「パーツとしてのJavaEE」
WildFly Swarmではじめる「パーツとしてのJavaEE」
 

Similar to 19. camel tooling

Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929hiro345
 
アプリコンテスト
アプリコンテストアプリコンテスト
アプリコンテストTomonori Yamada
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発papamitra
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Taiji Miyabe
 
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)masanori kataoka
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.nextyoshikawa_t
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発Akira Inoue
 
LabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideLabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideYusuke Tochigi
 
Windows® API Code Pack for Microsoft® .NET Framework
Windows® API Code Pack for Microsoft® .NET FrameworkWindows® API Code Pack for Microsoft® .NET Framework
Windows® API Code Pack for Microsoft® .NET FrameworkTadahiro Higuchi
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaYuta Kawadai
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC StackAlexandre Gouaillard
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Akira Inoue
 
Rails基礎講座 part.2
Rails基礎講座 part.2Rails基礎講座 part.2
Rails基礎講座 part.2Jun Yokoyama
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development Shotaro Suzuki
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーAyumu Kawaguchi
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌A AOKI
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMMasanori Nara
 

Similar to 19. camel tooling (20)

Nseg20120929
Nseg20120929Nseg20120929
Nseg20120929
 
アプリコンテスト
アプリコンテストアプリコンテスト
アプリコンテスト
 
ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発ScalaでAndroidアプリ開発
ScalaでAndroidアプリ開発
 
Java fx勉強会lt 第8回
Java fx勉強会lt 第8回Java fx勉強会lt 第8回
Java fx勉強会lt 第8回
 
Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)Agileツール適合化分科会(構成管理・ビルドツール)
Agileツール適合化分科会(構成管理・ビルドツール)
 
Chrome DevTools.next
Chrome DevTools.nextChrome DevTools.next
Chrome DevTools.next
 
jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発jQuery と MVC で実践する標準志向 Web 開発
jQuery と MVC で実践する標準志向 Web 開発
 
LabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training SlideLabVIEW NXG Web Module Training Slide
LabVIEW NXG Web Module Training Slide
 
Windows® API Code Pack for Microsoft® .NET Framework
Windows® API Code Pack for Microsoft® .NET FrameworkWindows® API Code Pack for Microsoft® .NET Framework
Windows® API Code Pack for Microsoft® .NET Framework
 
20200304 vuejs
20200304 vuejs20200304 vuejs
20200304 vuejs
 
PHP勉強会 #51
PHP勉強会 #51PHP勉強会 #51
PHP勉強会 #51
 
TDD勉強会キックオフ for Java
TDD勉強会キックオフ for JavaTDD勉強会キックオフ for Java
TDD勉強会キックオフ for Java
 
Testing and packaging WebRTC Stack
Testing and packaging WebRTC StackTesting and packaging WebRTC Stack
Testing and packaging WebRTC Stack
 
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
Empower Every App, Every Developer ~ 統合開発プラットフォーム Visual Studio の進化 ~
 
Rails基礎講座 part.2
Rails基礎講座 part.2Rails基礎講座 part.2
Rails基礎講座 part.2
 
NET MAUI for .NET 7 for iOS, Android app development
 NET MAUI for .NET 7 for iOS, Android app development  NET MAUI for .NET 7 for iOS, Android app development
NET MAUI for .NET 7 for iOS, Android app development
 
Titanium
TitaniumTitanium
Titanium
 
Ec cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナーEc cube開発合宿 プラグインセミナー
Ec cube開発合宿 プラグインセミナー
 
ASP.NET vNextの全貌
ASP.NET vNextの全貌ASP.NET vNextの全貌
ASP.NET vNextの全貌
 
Kubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VMKubernetes Operator for vSphere VM
Kubernetes Operator for vSphere VM
 

More from Jian Feng

17. camel clustering
17. camel clustering17. camel clustering
17. camel clusteringJian Feng
 
13. parallel processing
13. parallel processing13. parallel processing
13. parallel processingJian Feng
 
11.6 camel error handling summary
11.6 camel error handling summary11.6 camel error handling summary
11.6 camel error handling summaryJian Feng
 
11.4 camel on exception
11.4 camel on exception11.4 camel on exception
11.4 camel on exceptionJian Feng
 
11.2 camel error handler
11.2 camel error handler11.2 camel error handler
11.2 camel error handlerJian Feng
 
10.2 camel rest dsl
10.2 camel rest dsl10.2 camel rest dsl
10.2 camel rest dslJian Feng
 
10.1 res tful services
10.1 res tful services10.1 res tful services
10.1 res tful servicesJian Feng
 

More from Jian Feng (7)

17. camel clustering
17. camel clustering17. camel clustering
17. camel clustering
 
13. parallel processing
13. parallel processing13. parallel processing
13. parallel processing
 
11.6 camel error handling summary
11.6 camel error handling summary11.6 camel error handling summary
11.6 camel error handling summary
 
11.4 camel on exception
11.4 camel on exception11.4 camel on exception
11.4 camel on exception
 
11.2 camel error handler
11.2 camel error handler11.2 camel error handler
11.2 camel error handler
 
10.2 camel rest dsl
10.2 camel rest dsl10.2 camel rest dsl
10.2 camel rest dsl
 
10.1 res tful services
10.1 res tful services10.1 res tful services
10.1 res tful services
 

Recently uploaded

购买官网听话水【购买网址: GHB1.com】 迷幻药货到付款【商城网址: 91miwan.com☆】
购买官网听话水【购买网址:  GHB1.com】 迷幻药货到付款【商城网址:  91miwan.com☆】购买官网听话水【购买网址:  GHB1.com】 迷幻药货到付款【商城网址:  91miwan.com☆】
购买官网听话水【购买网址: GHB1.com】 迷幻药货到付款【商城网址: 91miwan.com☆】cromandougharty
 
境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台
境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台
境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台sundstromkichline246
 
sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号
sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号
sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号sundstromkichline246
 
失忆方法迷幻药【购买网址: GHB1.com】 拍肩粉货到付款购买【商城网址: 91miwan.com☆】
失忆方法迷幻药【购买网址:  GHB1.com】 拍肩粉货到付款购买【商城网址:  91miwan.com☆】失忆方法迷幻药【购买网址:  GHB1.com】 拍肩粉货到付款购买【商城网址:  91miwan.com☆】
失忆方法迷幻药【购买网址: GHB1.com】 拍肩粉货到付款购买【商城网址: 91miwan.com☆】cromandougharty
 
微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发
微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发
微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发sundstromkichline246
 
QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城
QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城
QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城sundstromkichline246
 
微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台
微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台
微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台sundstromkichline246
 

Recently uploaded (7)

购买官网听话水【购买网址: GHB1.com】 迷幻药货到付款【商城网址: 91miwan.com☆】
购买官网听话水【购买网址:  GHB1.com】 迷幻药货到付款【商城网址:  91miwan.com☆】购买官网听话水【购买网址:  GHB1.com】 迷幻药货到付款【商城网址:  91miwan.com☆】
购买官网听话水【购买网址: GHB1.com】 迷幻药货到付款【商城网址: 91miwan.com☆】
 
境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台
境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台
境外手机卡商城【☆购买网站:fk578.com】【☆购买网址:fk578.com☆】☆☆快手账号交易平台
 
sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号
sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号
sm支付宝号购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】抖音小号自动发号
 
失忆方法迷幻药【购买网址: GHB1.com】 拍肩粉货到付款购买【商城网址: 91miwan.com☆】
失忆方法迷幻药【购买网址:  GHB1.com】 拍肩粉货到付款购买【商城网址:  91miwan.com☆】失忆方法迷幻药【购买网址:  GHB1.com】 拍肩粉货到付款购买【商城网址:  91miwan.com☆】
失忆方法迷幻药【购买网址: GHB1.com】 拍肩粉货到付款购买【商城网址: 91miwan.com☆】
 
微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发
微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发
微信实名号哪里买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul实名账号批发
 
QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城
QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城
QQ实名号自助购买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】实名微博号购买商城
 
微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台
微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台
微信白号怎么买【☆出售网址:fk578。com☆】【☆购买网址:fk578。com☆】soul账号交易平台
 

19. camel tooling

  • 1. Camel In Action 2nd edition 読書会 2021年3⽉30⽇ 19. Camel Tooling
  • 2. l 開発フェーズでは、開発に使⽤するエディターに併せて以下の開発ツーが選 べる l Eclipse + Fuse Tooling plugin l IntelliJ IDEA + Apache Camel IDEA plugin l Visual Studio Code + Extension Pack for Apache Camel l ビルドフェーズでは、以下のMaven Pluginが使える l Camel Maven Plugin l Camel Report Maven Plugin l 運⽤フェーズでは、以下の管理ツールが使える l WebコンソールのHawtio l JMX系ツールのJconsole, Java Mission Control , VisualVM Camelツールの⼀覧 2020 2
  • 3. l メリット: l グラフィックエディターで開発及びデバッグ可能 (XML DSLを開発時のみ) l エンドポイントのオプションを⾃動補完 (XML DSLを開発時のみ) l CamelのドキュメントがIDE内で参照可能 l デメリット: l メモリ消費が⼤きい(2GB以上)、動作が重い Eclipse + Fuse Tooling plugin 2020 3 グラフィックエディターで開発 グラフィックエディターでデバッグ
  • 4. l メリット: l エンドポイントのオプションを⾃動補完 (XML DSL及びJava DSL) l 動作が軽い l デメリット: l IntelliJ IDEA Community版の機能が制限されている、Ultimate版は有償 IntelliJ IDEA + Apache Camel IDEA plugin 2020 4 JavaDSL開発時に⾃動補完
  • 5. l メリット: l エンドポイントのオプションを⾃動補完 (XML DSL及びJava DSL) l 動作が軽い、プラグインが多く、マルチ⾔語、マルチ環境の開発に適している l VSCode⾃体は⼈気である、普及率50%超えた(2018 à 34.9%、2019 à 50.7%) l デメリット: l PCか, Macかの実⾏環境が不可⽋ Visual Studio Code + Extension Pack for Apache Camel 2020 5 JavaDSL開発時に⾃動補完
  • 6. l Eclipse Che l Red Hat CodeReady Workspaces l メリット: l インブラウザのIDEなので、ブラウザさえあれば開発可能 l 開発環境⾃体はコンテナ化されるので、ローカルPCを汚さないし、開発の再開が速い l ⾃動補完 & Remote Debug l プラグインが多く、マルチ⾔語の開発に適している l デメリット: l まだ開発途上 l 現時点、動作が重い 今後はどうなる 2020 6
  • 7. l 特徴: l OSビルドイン or インブラウザ l 3DエンジンベースのGUI l AIによる⾃動⽣成と⾃動補完 l 開発環境も、実⾏環境もリモートにホストされる 将来はどうなる 2020 7
  • 8. l Fabric8チームがApache camelへ寄付した l Camel 2.20以降にビルドイン(Camel 2.x系のみ) l Cheers — fabric8 Camel Maven Plugin to validate Camel endpoints from source code l Camel Maven Plugin のできること: l camel:validate : Maven プロジェクトのソースコードを検証し、Camel エンドポイント URI を検証し、URI⽂法と無効なオプションを検出する Camel Maven Plugin 2020 8
  • 9. l Camel Maven Pluginの使い⽅: l 1. pom.xmlに<plugin>を追加 l 2. mvn camel:validate を実⾏ Camel Maven Plugin 2020 9 <!-- run using camel:validate --> <plugin> <groupId>org.apache.camel</groupId> <artifactId>camel-maven-plugin</artifactId> <version>${camel-version}</version> <executions> <execution> <configuration> <!-- lets not fail the build on errors --> <failOnError>false</failOnError> <!-- lets also check the unit test source code --> <includeTest>true</includeTest> </configuration> <!-- validate during build of the project --> <phase>process-classes</phase> <goals> <goal>validate</goal> </goals> </execution> </executions> </plugin> エラー検出例
  • 10. l Camel Maven Plugin の拡張 l Camel 3.x系で使⽤可能 l Camel Report Maven Pluginのできること: l Camel-report:validate : Maven プロジェクトのソースコードを検証し、Camel エン ドポイント URI を検証し、URI⽂法と無効なオプションを検出する l Camel-report:route-coverage : Unit Test実⾏後、Camel Routeのカバリッジを報告 する l Camel Maven Pluginの使い⽅: l CAMEL REPORT MAVEN PLUGIN Camel Report Maven Plugin 2020 10
  • 11. l Camel 2.17以降のリリースには、リリースに含まれる内容に関するあらゆる 種類の情報が記載された「Camel Catalog」も提供される l Camel Catalogは、前述のツール内でも使⽤されている l Camel CatalogはJar形式で配布、以下の情報が含まれる l 各種コンポーネント、データフォーマット、⾔語、EIPなどの⼀覧 l Spring-boot, Apache Karafランタイムの情報 l 全オプションに関する詳細がJSON Schema形式で配布 l カテゴライズされたオプション l XML DSLに使われるXML Schema l Camel Archetype l CamelのWebサイトのドキュメント(adoc、html形式) l CamelエンドポイントURI、シンプル⾔語のValidator l CamelエンドポイントURIの⽣成⽤のAPI l Java, JMX, REST API Camel Catalog: 情報の⾦鉱 2020 11
  • 12. l “Itʼs a pluggable management console for Java stuff that supports any kind of JVM, any kind of container (Tomcat, Jetty, Spring Boot, Karaf, JBoss, WildFly, fabric8, etc.), and any kind of Java technology and middleware.” ̶http://hawt.io/faq/index.html l Hawtioのできること: l JVM内で実⾏しているCamel Application (Camel Context)の⼀覧表⽰ l Camel Context、Camel Routeの実⾏時統計情報表⽰ l Camel Context、Camel RouteのStart/Stop/Pause/Resumeの操作 l Camel Route(XML DSL & Java DSL)のグラフィック表⽰ l Camel Routeのライブトレーシングとデバッグ Hawtio 2020 12
  • 13. l Hawtioを有効化する⽅法: l Karafの場合: l Spring-boot2の場合: l Pom.xml l application.properties l Main.javaの場合: l Pom.xml Hawtio 2020 13 <dependency> <groupId>io.hawt</groupId> <artifactId>hawtio-springboot</artifactId> </dependency> karaf@root()> feature:repo-add hawtio 1.5.6 karaf@root()> feature:install hawtio # Fuse console settings management.endpoints.web.exposure.include=hawtio,jolokia management.endpoint.hawtio.enabled=true management.endpoint.jolokia.enabled=true management.endpoints.web.base-path=/ hawtio.authenticationEnabled=false <!-- allows to run the example with hawtio --> <plugin> <groupId>io.hawt</groupId> <artifactId>hawtio-maven-plugin</artifactId> <version>${hawtio-version}</version> <configuration> <mainClass>camelinaction.MainApp</mainClass> </configuration> </plugin> ※ “mvn compile hawtio:run” で起動する。
  • 14. l Hawtioの使い⽅: l ブラウザで、http://localhost:8080/hawtio へアクセス ※ karafの場合は8181ポート Hawtio 14 Hawtioでデバッグ例 1 2 3