Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

2

Share

Download to read offline

Introduction to WildFly Swarm #jjug

Download to read offline

2015-08-10 JJUG ナイト・セミナー 「ビール片手にLT&納涼会」での発表資料です。

http://www.java-users.jp/?p=1993

Related Books

Free with a 30 day trial from Scribd

See all

Related Audiobooks

Free with a 30 day trial from Scribd

See all

Introduction to WildFly Swarm #jjug

  1. 1. Introduction to WildFly Swarm 2015-08-10(月) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 http://www.java-users.jp/?p=1993 田邊 義真(たなべ よしまさ) @emaggame http://morec.at
  2. 2. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 2 Java EE で Spring Boot みたいなの やりたい
  3. 3. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 3 選択肢 ● Spring Boot + Java EE API ● Payara Micro ● WildFly Swarm
  4. 4. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 4 Spring Boot + Java EE API ● Spring は Java EE の API もいろいろサポート – JAX-RS, JSR-330 の DI アノテーション, JTA, JMS … ● API だけでも使い慣れたものにしたい、ということであれば いいかも ● 参考 – [翻訳] Spring Boot 1.2における"Bootiful" なJava EEサポート ● https://blog.ik.am/#/entries/296
  5. 5. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 5 Payara Micro ● Payara は GlassFish から fork されたアプリケーションサーバ ● fat-jar ではなく、 以下のように実行 – java -jar payara-micro.jar --deploy test.war – payara-micro.jar を用意すればふつうの war がすぐ動く! ● 参考 – Payara Micro を試してみる ● http://www.coppermine.jp/docs/programming/2015/04/pay ara-micro.html
  6. 6. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 6 WildFly で Spring Boot みたいなの やりたい...
  7. 7. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 7 WildFly Swarm ● WildFly Swarm は WildFly の実験的サブプロジェクト – WildFly = JBoss Application Server が改名 ● WildFly が動作するためのもろもろのライブラリをかき集めて、Java EE アプリケーションを fat-jar として実行できるようにしたもの ● ドキュメントサイト(いずれ gitbooks.io などに変わるかも ) – http://wildfly.org/swarm/ ● GItHub – https://github.com/wildfly-swarm/wildfly-swarm
  8. 8. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 8 WildFly Swarm を動かすまで ● Spring Boot のよさ – Spring Boot の依存性を 1 つ追加するだけで、必要な ライブラリの依存性から設定までを よきにやってくれ、す ぐにアプリケーション作成に着手、 fat-jar で即実行でき る。 カスタマイズは JavaConfig や 設定ファイル で。
  9. 9. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 9 WildFly Swarm を動かすまで ● WildFly Swarm では? – Maven プラグインと、使いたい API の依存性を追加 <dependency> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-jaxrs</artifactId> <version>${version.wildfly-swarm}</version> </dependency> <plugin> <groupId>org.wildfly.swarm</groupId> <artifactId>wildfly-swarm-plugin</artifactId> <version>${version.wildfly-swarm}</version> <configuration> <mainClass>foo.App</mainClass> </configuration> <executions> <execution> <goals> <goal>package</goal> </goals> </execution> </executions> </plugin> JAX-RS
  10. 10. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 10 WildFly Swarm を動かすまで ● WildFly Swarm では? – Gradle プラグインと、使いたい APIの依存性を追加 buildscript { dependencies { classpath "org.wildfly.swarm:wildfly-swarm-plugin:$version" } } apply plugin: 'wildfly-swarm' apply plugin: 'application' mainClassName = 'org.wildfly.swarm.examples.gradle.Main' dependencies { compile "org.wildfly.swarm:wildfly-swarm-jaxrs:$version" } 公式サンプルは以下 http://bit.ly/1N0LIIu
  11. 11. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 11 WildFly Swarm を動かすまで ● WildFly Swarm では? – ふつうの JAX-RS import javax.ws.rs.GET; import javax.ws.rs.Path; @Path("/") public class Hello { @GET public String get() { return "Hello, WildFly Swarm!"; } }
  12. 12. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 12 WildFly Swarm を動かすまで ● WildFly Swarm では? – main() でクラスを登録、必要であれば設定(データソースとか) import org.jboss.shrinkwrap.api.ShrinkWrap; import org.wildfly.swarm.container.Container; import org.wildfly.swarm.jaxrs.JAXRSArchive; public class App { public static void main(String[] args) throws Exception { Container container = new Container(); JAXRSArchive deployment = ShrinkWrap.create(JAXRSArchive.class); deployment.addClass(Hello.class); deployment.addAllDependencies(); container.start().deploy(deployment); } }
  13. 13. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 13 WildFly Swarm を動かすまで ● アプリケーション実行 その1 – java -jar app-swarm.jar ● mvn package/gradle build すると <app-name>- swarm.jar という fat-jar ができる $ java -jar app-swarm.jar <date> INFO [org.jboss.msc] (main) JBoss MSC version 1.2.6.Final <date> INFO [org.jboss.as] (MSC service thread 1-8) WFLYSRV0049: ... ...
  14. 14. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 14 WildFly Swarm を動かすまで ● アプリケーション実行 その2 – mvn wildfly-swarm:run – gradle run
  15. 15. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 15 WildFly Swarm を動かすまで ● アプリケーション実行 その3 – IDE > Run ● IDE から main() 指定で実行できる
  16. 16. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 16 WildFly Swarm 現状 ● Java EE API として JAX-RS, CDI, EJB, JSF, JPA, JMS など、おおよその Java EE API が利用可 ● Netflix や Logstash、 Keycloak(SSOサーバ)など がすぐ利用できるインテグレーションもあり ● ドキュメントはあまりないが、サンプルを見ればなん とかなる – https://github.com/wildfly-swarm/wildfly-swarm- examples
  17. 17. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 17 WildFly Swarm 現状 ● まだ Alpha。 プロダクション環境には非推奨 ● WildFly 本体の設定群に追従する仕組みがな く、WildFly の設定(データソースなど)を全ては使え ない。ただし、なんとかしようとする動きはあり ● https://github.com/wildfly-swarm/wildfly-swarm/issues/98 ● Spring Loaded/Auto restart Class Loader 相当 の機能がなく、JRebel も動かない
  18. 18. 2015-08-10(土) JJUG ナイト・セミナー 「ビール片手にLT&納涼会」 18 最後に ● ぜひ WildFly Swarm を触ってみてください! WildFly 好きには目が離せない プロジェクトです ● 何やらマイクロサービスっぽいそこそこの規模のサンプルも作成中のようです – https://github.com/wildfly-swarm/booker ● APサーバで動いて WF-Swarm で動かない場合は WF-Swarm が対応してい ないだけなので、 issue 登録を! ● 気に入った方は GitHub のウォッチや公式 Twitter アカウントのフォローな ど... – https://twitter.com/wildflyswarm
  • KanSakamoto

    Aug. 10, 2015
  • nagasama

    Aug. 10, 2015

2015-08-10 JJUG ナイト・セミナー 「ビール片手にLT&納涼会」での発表資料です。 http://www.java-users.jp/?p=1993

Views

Total views

2,058

On Slideshare

0

From embeds

0

Number of embeds

798

Actions

Downloads

8

Shares

0

Comments

0

Likes

2

×